Opened 12 years ago
Closed 12 years ago
#1820 closed defect (fixed)
track->cluster[0].dts <= 0 assertion when encoding MOV
Reported by: | Andrew Wason | Owned by: | |
---|---|---|---|
Priority: | important | Component: | avformat |
Version: | git-master | Keywords: | regression mov crash abort |
Cc: | dave rice | Blocked By: | |
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Summary of the bug: ffmpeg aborting with assertion "Assertion track->cluster[0].dts <= 0 failed at libavformat/movenc.c:1708" when encoding to MOV.
How to reproduce: Sample (truncated) file uploaded to upload.ffmpeg.org:/incoming/dts-assert.mp4
See command line below and gdb backtrace.
This file transcoded as of ffmpeg commit f3bd6fa7a
The file was created by a Flip Video HD camera.
(gdb) run -v 9 -loglevel 99 -i ~/Desktop/dts-assert.mp4 -r 30 -codec:v rawvideo -pix_fmt uyvy422 -tag:v 2vuy -codec:a pcm_s32le -sample_fmt s32 -ac 1 -f mov -y ~/Desktop/out.mov The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /Users/aw/Projects/snapfish/encoder/foundation/ffmpeg/ffmpeg_g -v 9 -loglevel 99 -i ~/Desktop/dts-assert.mp4 -r 30 -codec:v rawvideo -pix_fmt uyvy422 -tag:v 2vuy -codec:a pcm_s32le -sample_fmt s32 -ac 1 -f mov -y ~/Desktop/out.mov Reading symbols for shared libraries . done ffmpeg version N-45569-g22c5cc2 Copyright (c) 2000-2012 the FFmpeg developers built on Oct 15 2012 16:18:36 with llvm-gcc 4.2.1 (LLVM build 2336.11.00) configuration: --enable-shared --enable-debug=gdb3 --disable-optimizations --disable-asm --disable-stripping --prefix=/Users/aw/Projects/snapfish/encoder/foundation/ffmpeg/save/installed-new libavutil 51. 76.100 / 51. 76.100 libavcodec 54. 66.100 / 54. 66.100 libavformat 54. 32.101 / 54. 32.101 libavdevice 54. 3.100 / 54. 3.100 libavfilter 3. 19.102 / 3. 19.102 libswscale 2. 1.101 / 2. 1.101 libswresample 0. 16.100 / 0. 16.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x10201e200] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x10201e200] ISO: File Type Major Brand: MSNV [mov,mp4,m4a,3gp,3g2,mj2 @ 0x10201e200] File position before avformat_find_stream_info() is 60637 [h264 @ 0x10203a600] Using externally provided dimensions [mov,mp4,m4a,3gp,3g2,mj2 @ 0x10201e200] All info found [mov,mp4,m4a,3gp,3g2,mj2 @ 0x10201e200] File position after avformat_find_stream_info() is 128752 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/aw/Desktop/dts-assert.mp4': Metadata: major_brand : MSNV minor_version : 19464262 compatible_brands: MSNVmp42isom creation_time : 2008-10-25 16:47:14 Duration: 00:01:39.20, start: 0.000033, bitrate: 422 kb/s Stream #0:0(jpn), 1, 1/30000: Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720, 1/60000, 10371 kb/s, 30 fps, 30 tbr, 30k tbn, 60k tbc Metadata: creation_time : 2008-10-25 16:47:14 handler_name : ?Video Media Handler Stream #0:1(jpn), 1, 1/44100: Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, s16, 64 kb/s Metadata: creation_time : 2008-10-25 16:47:14 handler_name : ?Sound Media Handler [buffer @ 0x101814380] Setting entry with key 'video_size' to value '1280x720' [buffer @ 0x101814380] Setting entry with key 'pix_fmt' to value '0' [buffer @ 0x101814380] Setting entry with key 'time_base' to value '1/30000' [buffer @ 0x101814380] Setting entry with key 'pixel_aspect' to value '0/1' [buffer @ 0x101814380] Setting entry with key 'sws_param' to value 'flags=2' [buffer @ 0x101814380] Setting entry with key 'frame_rate' to value '30/1' [graph 0 input from stream 0:0 @ 0x101814300] w:1280 h:720 pixfmt:yuv420p tb:1/30000 fr:30/1 sar:0/1 sws_param:flags=2 [format @ 0x101814580] auto-inserting filter 'auto-inserted scaler 0' between the filter 'Parsed_null_0' and the filter 'format' [auto-inserted scaler 0 @ 0x101814ae0] w:1280 h:720 fmt:yuv420p sar:0/1 -> w:1280 h:720 fmt:uyvy422 sar:0/1 flags:0x4 [abuffer @ 0x101815c70] Setting entry with key 'time_base' to value '1/44100' [abuffer @ 0x101815c70] Setting entry with key 'sample_rate' to value '44100' [abuffer @ 0x101815c70] Setting entry with key 'sample_fmt' to value 's16' [abuffer @ 0x101815c70] Setting entry with key 'channel_layout' to value '0x4' [graph 1 input from stream 0:1 @ 0x101815bf0] tb:1/44100 samplefmt:s16 samplerate:44100 chlayout:0x4 [aformat @ 0x101816060] Setting entry with key 'sample_fmts' to value 's32' [aformat @ 0x101816060] Setting entry with key 'channel_layouts' to value '0x4' [audio format for output stream 0:1 @ 0x101815e40] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:1' [auto-inserted resampler 0 @ 0x101816530] chl:mono fmt:s16 r:44100Hz -> chl:mono fmt:s32 r:44100Hz [h264 @ 0x10203a600] detected 4 logical cores Output #0, mov, to '/Users/aw/Desktop/out.mov': Metadata: major_brand : MSNV minor_version : 19464262 compatible_brands: MSNVmp42isom encoder : Lavf54.32.101 Stream #0:0(jpn), 0, 1/15360: Video: rawvideo (2vuy / 0x79757632), uyvy422, 1280x720, 1/30, q=2-31, 200 kb/s, 15360 tbn, 30 tbc Metadata: creation_time : 2008-10-25 16:47:14 handler_name : ?Video Media Handler Stream #0:1(jpn), 0, 1/44100: Audio: pcm_s32le (in32 / 0x32336E69), 44100 Hz, mono, s32, 1411 kb/s Metadata: creation_time : 2008-10-25 16:47:14 handler_name : ?Sound Media Handler Stream mapping: Stream #0:0 -> #0:0 (h264 -> rawvideo) Stream #0:1 -> #0:1 (aac -> pcm_s32le) Press [q] to stop, [?] for help [h264 @ 0x1020af200] Using externally provided dimensions frame= 7 fps=0.0 q=0.0 size= 12636kB time=00:00:00.34 bitrate=297180.2kbitsframe= 17 fps= 16 q=0.0 size= 30692kB time=00:00:00.67 bitrate=373372.1kbitsframe= 27 fps= 17 q=0.0 size= 48752kB time=00:00:01.02 bitrate=390893.9kbitsframe= 37 fps= 18 q=0.0 size= 66808kB time=00:00:01.34 bitrate=406370.3kbitsframe= 47 fps= 18 q=0.0 size= 84868kB time=00:00:01.67 bitrate=415847.8kbitsframe= 57 fps= 18 q=0.0 size= 102924kB time=00:00:01.99 bitrate=422223.1kbitsframe= 67 fps= 18 q=0.0 size= 120980kB time=00:00:02.34 bitrate=422587.6kbitsframe= 76 fps= 18 q=0.0 size= 137232kB time=00:00:02.64 bitrate=424693.3kbitsframe= 84 fps= 18 q=0.0 size= 151680kB time=00:00:02.92 bitrate=424700.8kbitsframe= 92 fps= 17 q=0.0 size= 166124kB time=00:00:03.18 bitrate=427796.7kbitsframe= 100 fps= 17 q=0.0 size= 180572kB time=00:00:03.43 bitrate=430441.8kbitsframe= 108 fps= 17 q=0.0 size= 195016kB time=00:00:03.71 bitrate=430007.8kbitsTruncating packet of size 48505 to 47966 [h264 @ 0x102801200] AVC: nal size 48501 Last message repeated 1 times [h264 @ 0x102801200] no frame! [mov,mp4,m4a,3gp,3g2,mj2 @ 0x10201e200] stream 1, offset 0x50021c: partial file /Users/aw/Desktop/dts-assert.mp4: Invalid data found when processing input frame= 116 fps= 17 q=0.0 size= 209464kB time=00:00:03.97 bitrate=432154.9kbitsEOF on sink link output stream 0:0:default. [output stream 0:1 @ 0x101815f00] EOF on sink link output stream 0:1:default. No more output streams to write to, finishing. Assertion track->cluster[0].dts <= 0 failed at libavformat/movenc.c:1708 Program received signal SIGABRT, Aborted. 0x00007fff918e1212 in __pthread_kill () (gdb) bt #0 0x00007fff918e1212 in __pthread_kill () #1 0x00007fff8cc1daf4 in pthread_kill () #2 0x00007fff8cc61dce in abort () #3 0x000000010017d173 in mov_write_edts_tag (pb=0x1018138c0, track=0x103000bf0) at movenc.c:1708 #4 0x000000010017d8ec in mov_write_trak_tag (pb=0x1018138c0, mov=0x101812c60, track=0x103000bf0, st=0x1018134a0) at movenc.c:1781 #5 0x0000000100180c68 in mov_write_moov_tag (pb=0x1018138c0, mov=0x101812c60, s=0x102025200) at movenc.c:2308 #6 0x0000000100188731 in mov_write_trailer (s=0x102025200) at movenc.c:3844 #7 0x00000001001a3cf2 in av_write_trailer (s=0x102025200) at mux.c:775 #8 0x000000010001f0f2 in transcode () at ffmpeg.c:3003 #9 0x000000010001f6f2 in main (argc=25, argv=0x7fff5fbff8e0) at ffmpeg.c:3157
Change History (4)
comment:1 by , 12 years ago
Keywords: | regression mov added |
---|---|
Priority: | normal → important |
Reproduced by developer: | set |
Status: | new → open |
comment:2 by , 12 years ago
Keywords: | crash abort added |
---|
comment:4 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
Note:
See TracTickets
for help on using tickets.
Regression since 14fd34d, reproducible with:
Sample is in http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket1820/