Browse Source

matroskaenc: base default duration on avg_frame_rate if possible.

Fixed Ticket432

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.9
Michael Niedermayer 14 years ago
parent
commit
ea83b032af
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      libavformat/matroskaenc.c

+ 4
- 1
libavformat/matroskaenc.c View File

@@ -574,7 +574,10 @@ static int mkv_write_tracks(AVFormatContext *s)
switch (codec->codec_type) {
case AVMEDIA_TYPE_VIDEO:
put_ebml_uint(pb, MATROSKA_ID_TRACKTYPE, MATROSKA_TRACK_TYPE_VIDEO);
put_ebml_uint(pb, MATROSKA_ID_TRACKDEFAULTDURATION, av_q2d(codec->time_base)*1E9);
if(st->avg_frame_rate.num && st->avg_frame_rate.den && 1.0/av_q2d(st->avg_frame_rate) > av_q2d(codec->time_base))
put_ebml_uint(pb, MATROSKA_ID_TRACKDEFAULTDURATION, 1E9/av_q2d(st->avg_frame_rate));
else
put_ebml_uint(pb, MATROSKA_ID_TRACKDEFAULTDURATION, av_q2d(codec->time_base)*1E9);

if (!native_id &&
ff_codec_get_tag(codec_movvideo_tags, codec->codec_id) &&


Loading…
Cancel
Save