lavf/movenc: fix tmcd writing for non-MP4/MOV modes
authorGyan Doshi <ffmpeg@gyani.pro>
Sat, 30 Mar 2019 18:30:50 +0000 (00:00 +0530)
committerGyan Doshi <ffmpeg@gyani.pro>
Wed, 3 Apr 2019 10:20:22 +0000 (15:50 +0530)
write_tmcd allows tmcd track to be created with any mode but in
mov_write_header, index for first tmcd track is only set for modes
MP4 or MOV, causing a crash if tmcd creation is attempted with other
modes.

libavformat/movenc.c
tests/fate/lavf-container.mak
tests/ref/lavf/ismv

index 7f5dcd7..c67f909 100644 (file)
@@ -6381,7 +6381,7 @@ static int mov_write_header(AVFormatContext *s)
                 nb_tracks++;
     }
 
-    if (mov->mode == MODE_MOV || mov->mode == MODE_MP4)
+    if (mov->nb_meta_tmcd)
         tmcd_track = nb_tracks;
 
     for (i = 0; i < s->nb_streams; i++) {
index a531914..22387d0 100644 (file)
@@ -34,7 +34,7 @@ fate-lavf-flm: CMD = lavf_container "" "-pix_fmt rgba"
 fate-lavf-gxf: CMD = lavf_container "-ar 48000" "-r 25 -s pal -ac 1 -threads 1"
 fate-lavf-gxf_pal: CMD = lavf_container_timecode_nodrop "-ar 48000 -r 25 -s pal -ac 1 -threads 1 -f gxf"
 fate-lavf-gxf_ntsc: CMD = lavf_container_timecode_drop "-ar 48000 -s ntsc -ac 1 -threads 1 -f gxf"
-fate-lavf-ismv: CMD = lavf_container_timecode "-an -c:v mpeg4 -threads 1"
+fate-lavf-ismv: CMD = lavf_container_timecode "-an -write_tmcd 1 -c:v mpeg4 -threads 1"
 fate-lavf-mkv: CMD = lavf_container "" "-c:a mp2 -c:v mpeg4 -ar 44100 -threads 1"
 fate-lavf-mkv_attachment: CMD = lavf_container_attach "-c:a mp2 -c:v mpeg4 -threads 1 -f matroska"
 fate-lavf-mov: CMD = lavf_container_timecode "-movflags +faststart -c:a pcm_alaw -c:v mpeg4 -threads 1"
index 96dc8c1..865a691 100644 (file)
@@ -1,8 +1,8 @@
-96053075a3f60d271131fe2d0765c267 *tests/data/lavf/lavf.ismv
-312542 tests/data/lavf/lavf.ismv
+bd88b50defa57766619c092ea89f25a6 *tests/data/lavf/lavf.ismv
+313165 tests/data/lavf/lavf.ismv
 tests/data/lavf/lavf.ismv CRC=0x9d9a638a
-7022701b4c693bc4ffe1e9f96dd82a02 *tests/data/lavf/lavf.ismv
-321448 tests/data/lavf/lavf.ismv
+805a2557bf952c84835f3c10b6893e15 *tests/data/lavf/lavf.ismv
+322071 tests/data/lavf/lavf.ismv
 tests/data/lavf/lavf.ismv CRC=0xe8130120
 96053075a3f60d271131fe2d0765c267 *tests/data/lavf/lavf.ismv
 312542 tests/data/lavf/lavf.ismv