matroska icon indicating copy to clipboard operation
matroska copied to clipboard

The demuxer does not support CRC32 elements

Open lu-zero opened this issue 7 years ago • 4 comments
trafficstars

here the broken vp9 sample.

Libav and mkvtoolnix have no problems in parsing it.

  • [x] Support CRC-32 on top level elements
  • [ ] Implement a proper CRC handling

lu-zero avatar Sep 29 '18 18:09 lu-zero

Problem investigated, the current demuxer does not know anything about CRC32 elements.

lu-zero avatar Oct 03 '18 23:10 lu-zero

Now we can parse the files but we aren't checking the crc.

lu-zero avatar Oct 04 '18 01:10 lu-zero

Since #108, CRC elements are read and verified for every master element. What's missing now is the "proper" CRC handling:

If a Master Element contains a CRC-32 Element that doesn't validate, then the EBML Reader MAY ignore all contained data except for Descendant Elements that contain their own valid CRC-32 Element.

<CONTACT>
    <CRC-32>c119a69b</CRC-32><!-- does not validate -->
    <NAME>
        <CRC-32>1f59ee2b</CRC-32><!-- does not validate -->
        <FIRST-NAME>invalid data</FIRST-NAME>
        <LAST-NAME>invalid data</LAST-NAME>
    </NAME>
    <ADDRESS>
        <CRC-32>df941cc9</CRC-32><!-- validates -->
        <STREET>valid data</STREET>
        <CITY>valid data</CITY>
    </ADDRESS>
</CONTACT>

In this case, the ADDRESS Element validates, so it MAY be used even though the rest of the CONTACT Element is invalid.

FreezyLemon avatar Apr 09 '23 20:04 FreezyLemon

Modified @lu-zero list with @FreezyLemon update

Luni-4 avatar Apr 11 '23 07:04 Luni-4