summaryrefslogtreecommitdiff
path: root/libavformat/segment.c
diff options
context:
space:
mode:
authorGyan Doshi <ffmpeg@gyani.pro>2019-06-18 19:22:16 +0530
committerGyan Doshi <ffmpeg@gyani.pro>2019-06-20 18:03:30 +0530
commit91f5950f833fd48f12de769374129334f8c6b237 (patch)
tree31cee623a125b536eea6837001b677bf9c62ffa9 /libavformat/segment.c
parent86f04b918c0d00a286180906279b7ed0f1cd0bed (diff)
downloadffmpeg-91f5950f833fd48f12de769374129334f8c6b237.tar.gz
avformat/segment: fix muxing tmcd tracks in MOV
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.
Diffstat (limited to 'libavformat/segment.c')
-rw-r--r--libavformat/segment.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavformat/segment.c b/libavformat/segment.c
index 99f048aa39..e3082063d8 100644
--- a/libavformat/segment.c
+++ b/libavformat/segment.c
@@ -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);
}