Opened 7 years ago

Closed 7 years ago

#545 closed defect (fixed)

Matroska demuxer fails with invalid testsuite file test7.mkv

Reported by: brad Owned by:
Priority: minor Component: avformat
Version: git-master Keywords: mkv
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Trying out the Matroska testsuite with FFmpeg I see the FFmpeg Matroska demuxer is unable to play one of the test videos. It plays the first few secs kinda choppy and it shouldn't be and then just "freezes" instead of continuing.

$ /home/brad/ffmpeg/ffplay matroska_test_file.mkv
[[0;39mffplay version N-33517-gbe5ac96, Copyright (c) 2003-2011 the FFmpeg developers
[[0m[[0;39m built on Oct 11 2011 20:25:06 with gcc 4.2.1 20070719
[[0m[[0;39m configuration: --disable-debug --disable-indev=jack --disable-indev=oss --disable-outdev=oss --disable-outdev=sdl --enable-gpl --enable-libgsm --enable-libmp3lame --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-runtime-cpudetect --enable-x11grab --extra-cflags='-I/usr/local/include -I/usr/X11R6/include' --extra-libs='-L/usr/local/lib -L/usr/X11R6/lib' --optflags='-O2 -pipe -Wno-redundant-decls'
[[0m[[0;39m libavutil 51. 20. 1 / 51. 20. 1
[[0m[[0;39m libavcodec 53. 20. 1 / 53. 20. 1
[[0m[[0;39m libavformat 53. 15. 0 / 53. 15. 0
[[0m[[0;39m libavdevice 53. 4. 0 / 53. 4. 0
[[0m[[0;39m libavfilter 2. 43. 6 / 2. 43. 6
[[0m[[0;39m libswscale 2. 1. 0 / 2. 1. 0
[[0m[[0;39m libpostproc 51. 2. 0 / 51. 2. 0
[[0m[[0;39m[matroska,webm @ 0x2038bf000] Unknown entry 0x4001
[[0m[[0;39m[matroska,webm @ 0x2038bf000] Unknown entry 0xEA
[[0m[[1;31m[matroska,webm @ 0x2038bf000] Invalid track number 87
[[0m[[0;39m[matroska,webm @ 0x2038bf000] Invalid stream 87 or size 31
[[0m[[0;39mInput #0, matroska,webm, from 'matroska_test_file.mkv':
[[0m[[0;39m Metadata:
[[0m[[0;39m TITLE : Big Buck Bunny - test 7
[[0m[[0;39m DATE_RELEASED : 2010
[[0m[[0;39m COMMENT : Matroska Validation File 7, junk elements are present at the beggining or end of clusters, the parser should skip it. There is also a damaged element at 451418
[[0m[[0;39m Duration: [[0m[[0;39m00:00:37.04^[[0m^[[0;39m, start: [[0m[[0;39m0.000000[[0m[[0;39m, bitrate: [[0m[[0;39m2211 kb/s[[0m[[0;39m
[[0m[[0;39m Stream #0:0[[0m[[0;39m: Video: h264 (Main), yuv420p, 1024x576[[0m[[0;39m, SAR 1:1 DAR 16:9[[0m[[0;39m, 24 fps[[0m[[0;39m, 24 tbr[[0m[[0;39m, 1k tbn[[0m[[0;39m, 48 tbc[[0m[[0;39m
[[0m[[0;39m Stream #0:1[[0m[[0;39m: Audio: aac, 48000 Hz, stereo, s16[[0m[[0;39m

Change History (4)

comment:1 Changed 7 years ago by brad

comment:2 Changed 7 years ago by cehoyos

  • Priority changed from important to minor
  • Reproduced by developer set
  • Status changed from new to open
  • Summary changed from Matroska demuxer unable to play valid file #2 to Matroska demuxer fails with invalid testsuite file test7.mkv

Matroska test-suite is available at http://www.matroska.org/downloads/test_w1.html
The file in question is test7.mkv which is described as "Extra unknown/junk elements & damaged"
It is ~37 seconds long, can be tested with -ss 2

ffmpeg -i test7.mkv -qscale 2 out.avi
ffmpeg version N-33546-gb81f888, Copyright (c) 2000-2011 the FFmpeg developers
  built on Oct 12 2011 10:52:22 with gcc 4.5.3
  configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc --enable-gpl --enable-version2
  libavutil    51. 20. 1 / 51. 20. 1
  libavcodec   53. 20. 1 / 53. 20. 1
  libavformat  53. 15. 0 / 53. 15. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 43. 6 /  2. 43. 6
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[matroska,webm @ 0x1351780] Unknown entry 0x4001
[matroska,webm @ 0x1351780] Unknown entry 0xEA
[matroska,webm @ 0x1351780] Invalid track number 87
[matroska,webm @ 0x1351780] Invalid stream 87 or size 31
Input #0, matroska,webm, from 'test7.mkv':
  Metadata:
    TITLE           : Big Buck Bunny - test 7
    DATE_RELEASED   : 2010
    COMMENT         : Matroska Validation File 7, junk elements are present at the beggining or end of clusters, the parser should skip it. There is also a damaged element at 451418
  Duration: 00:00:37.04, start: 0.000000, bitrate: 4718 kb/s
    Stream #0:0: Video: h264 (Main), yuv420p, 1024x576, SAR 1:1 DAR 16:9, 24 fps, 24 tbr, 1k tbn, 48 tbc
    Stream #0:1: Audio: aac, 48000 Hz, stereo, s16
[buffer @ 0x1444740] w:1024 h:576 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
Incompatible sample format 's16' for codec 'ac3', auto-selecting format 'flt'
Output #0, avi, to 'out.avi':
  Metadata:
    INAM            : Big Buck Bunny - test 7
    DATE_RELEASED   : 2010
    ICMT            : Matroska Validation File 7, junk elements are present at the beggining or end of clusters, the parser should skip it. There is also a damaged element at 451418
    ISFT            : Lavf53.15.0
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 24 tbn, 24 tbc
    Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, flt, 128 kb/s
Stream mapping:
  Stream #0.0 -> #0.0 (h264 -> mpeg4)
  Stream #0.1 -> #0.1 (aac -> ac3)
Press [q] to stop, [?] for help
frame=   24 fps=  0 q=2.0 Lsize=     705kB time=00:00:01.00 bitrate=5777.2kbits/s
video:678kB audio:16kB global headers:0kB muxing overhead 1.623823%

comment:3 Changed 7 years ago by cehoyos

  • Keywords mkv added

comment:4 Changed 7 years ago by cehoyos

  • Resolution set to fixed
  • Status changed from open to closed

Fixed by Reimar.

Note: See TracTickets for help on using tickets.