#12 Re: mkvalidator does not check SamplingFrequency field

open-fixed
Steve Lhomme
mkvalidator (6)
5
2012-08-26
2012-05-13
che
No

Sorry to bother you with a new ticket, but it appears that the original one (3509401) is closed for comments.

To my parser it looks like there is a SamplingFrequency field in the file at offset 0x11c. Isn't it possible that mkvalidator ignores the invalid-sized elements instead of reporting them? Line 396 in 0.3.7's libembl2/ebmlmain.c seems to discard the element if its size does not match spec.

mapped 102836 bytes of /home/che/Desktop/20120320_15114700.mka
offset 0x0: EBML, 0x1a45dfa3, 35 bytes
offset 0x8: EBMLVersion, 0x4286, 1 bytes = 1
offset 0xc: EBMLReadVersion, 0x42f7, 1 bytes = 1
offset 0x10: EBMLMaxIDLength, 0x42f2, 1 bytes = 4
offset 0x14: EBMLMaxSizeLength, 0x42f3, 1 bytes = 4
offset 0x18: DocType, 0x4282, 8 bytes = "matroska"
offset 0x23: DocTypeVersion, 0x4287, 1 bytes = 2
offset 0x27: DocTypeReadVersion, 0x4285, 1 bytes = 2
offset 0x2b: Segment, 0x18538067, 102785 bytes
offset 0x33: Info, 0x1549a966, 177 bytes
offset 0x3b: TimecodeScale, 0x2ad7b1, 3 bytes = 1000000
offset 0x42: DateUTC, 0x4461, 8 bytes
offset 0x50: MuxingApp, 0x4d80, 75 bytes = "Koukaam IPCorder 2.1.0 dev basic (rev.hb158d7c/2012-03-20@GENERIC_PLATFORM)"
offset 0x9e: WritingApp, 0x5741, 75 bytes = "Koukaam IPCorder 2.1.0 dev basic (rev.hb158d7c/2012-03-20@GENERIC_PLATFORM)"
offset 0xec: Tracks, 0x1654ae6b, 56 bytes
offset 0xf4: TrackEntry, 0xae, 51 bytes
offset 0xf9: TrackNumber, 0xd7, 1 bytes = 1
offset 0xfc: TrackUID, 0x73c5, 1 bytes = 1
offset 0x100: FlagLacing, 0x9c, 1 bytes = 0
offset 0x103: Language, 0x22b59c, 3 bytes = "und"
offset 0x10a: TrackType, 0x83, 1 bytes = 2
offset 0x10d: CodecID, 0x86, 5 bytes = "A_AAC"
offset 0x114: Audio, 0xe1, 11 bytes
offset 0x119: Channels, 0x9f, 1 bytes = 2
offset 0x11c: SamplingFrequency, 0xb5, 2 bytes
offset 0x120: BitDepth, 0x6264, 1 bytes = 16
offset 0x124: CodecPrivate, 0x63a2, 2 bytes

Discussion

  • Steve Lhomme
    Steve Lhomme
    2012-05-13

    You could be right. It's an issue in libebml (and libebml2) that discards the data because they don't have the proper size. That's why I didn't see it in any tool based on libebml...
    I will try to fix this. Thanks for the info.

     
  • hLz4jG <a href="http://pnzakkssuieu.com/">pnzakkssuieu</a>, [url=http://yljpyzlaqbza.com/]yljpyzlaqbza[/url], [link=http://gitzufwyirko.com/]gitzufwyirko[/link], http://wbquqkelbhlr.com/

     
  • Steve Lhomme
    Steve Lhomme
    2012-08-26

    • status: open --> open-fixed
     
  • GJql6i <a href="http://atdanaekndki.com/">atdanaekndki</a>, [url=http://jqekgmxdwibv.com/]jqekgmxdwibv[/url], [link=http://ytealrsxmwab.com/]ytealrsxmwab[/link], http://jwgodepfwbjc.com/

     
  • hSRBKF <a href="http://jidemumaoqsq.com/">jidemumaoqsq</a>, [url=http://ncwqlzqxcnkk.com/]ncwqlzqxcnkk[/url], [link=http://atdtnxygkjan.com/]atdtnxygkjan[/link], http://tropjjgqubyo.com/