mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-05-10 05:02:54 +00:00
The EBML specification allows for CRC32 elements to be placed as the first child element of a master element. However, our parsing of master elements didn't take that into account, so an error would be thrown. Instead of erroring out, the `parse_master_element()` function will now skip CRC32 elements that are found as the first child of a master element. If it is found after the first child, that will be considered an error. Void elements will also be skipped by `parse_master_element()`. Since the `parse_cluster()` function has to seek the stream back to the cluster's first child in order to allow cues' positions to be used correctly, `parse_master_element()` had to be changed to return the first element position, since the callback is not invoked for CRC32 elements. This means that the parameter used to communicate the element position to the child element parsing function is unused, so that is removed. |
||
---|---|---|
.. | ||
Matroska | ||
Demuxer.h |