summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <nfxjfg@googlemail.com>2018-04-28 19:24:12 +0200
committerwm4 <nfxjfg@googlemail.com>2018-05-04 14:16:38 +0200
commit022d4a2114d2586d4807f5810160f0f565ab80d7 (patch)
treee087938d420146e335e04257e34f86f30c5f793c
parentdc7a8f731084d7ef2eac66c5d6af71c2ec78142c (diff)
downloadffmpeg-streaming-022d4a2114d2586d4807f5810160f0f565ab80d7.zip
ffmpeg-streaming-022d4a2114d2586d4807f5810160f0f565ab80d7.tar.gz
avformat/matroskaenc: do not write timebase as framerate
If the API user doesn't set avg_frame_rate, matroskaenc will write the current timebase as "default duration" for the video track. This makes no sense, because the "default duration" implies the framerate of the video. Since the timebase is forced to 1/1000, this will make the resulting file claim 1000fps. Drop it and don't write the element. It's optional, so it's better not to write it if the framerate is unknown. Strangely does not require FATE changes.
-rw-r--r--libavformat/matroskaenc.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 5950b4d..b7ff195 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -1304,8 +1304,6 @@ static int mkv_write_track(AVFormatContext *s, MatroskaMuxContext *mkv,
if( st->avg_frame_rate.num > 0 && st->avg_frame_rate.den > 0
&& av_cmp_q(av_inv_q(st->avg_frame_rate), st->time_base) > 0)
put_ebml_uint(pb, MATROSKA_ID_TRACKDEFAULTDURATION, 1000000000LL * st->avg_frame_rate.den / st->avg_frame_rate.num);
- else
- put_ebml_uint(pb, MATROSKA_ID_TRACKDEFAULTDURATION, 1000000000LL * st->time_base.num / st->time_base.den);
if (!native_id &&
ff_codec_get_tag(ff_codec_movvideo_tags, par->codec_id) &&
OpenPOWER on IntegriCloud