]> git.sesse.net Git - ffmpeg/commitdiff
avformat/segment: fix muxing tmcd tracks in MOV
authorGyan Doshi <ffmpeg@gyani.pro>
Tue, 18 Jun 2019 13:52:16 +0000 (19:22 +0530)
committerGyan Doshi <ffmpeg@gyani.pro>
Thu, 20 Jun 2019 12:33:30 +0000 (18:03 +0530)
avformat/movenc still relies on AVCodecContext time_base to mux tmcd
tracks and segment muxer did not copy that field to inner streams
leading to SIGFPE in the child muxer instance.

libavformat/segment.c

index 99f048aa3924ca1b1a0aee7c53da6b941aae01c7..e3082063d8f57da8045991b84d931bb3f155f566 100644 (file)
@@ -181,6 +181,12 @@ static int segment_mux_init(AVFormatContext *s)
         st->sample_aspect_ratio = s->streams[i]->sample_aspect_ratio;
         st->time_base = s->streams[i]->time_base;
         st->avg_frame_rate = s->streams[i]->avg_frame_rate;
+#if FF_API_LAVF_AVCTX
+FF_DISABLE_DEPRECATION_WARNINGS
+        if (s->streams[i]->codecpar->codec_tag == MKTAG('t','m','c','d'))
+            st->codec->time_base = s->streams[i]->codec->time_base;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
         av_dict_copy(&st->metadata, s->streams[i]->metadata, 0);
     }