diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-11-16 02:49:12 +0100 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2014-11-17 01:13:20 +0100 |
commit | 80473805149bbafab862d735efd7762ee8e6e8db (patch) | |
tree | 884b7b52da4f3fafb5e0dcb78d0477784971e3d2 | |
parent | b152305bb34fe384bdca041df7dce2d3ae35ea42 (diff) | |
download | ffmpeg-80473805149bbafab862d735efd7762ee8e6e8db.tar.gz |
avformat/segment: export inner muxer timebase
Fixes "Non-monotonous DTS in output stream 0:0"
Fixes Ticket4020
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ce80f9fee97160049687bbbef4eb31a68166c3ee)
-rw-r--r-- | libavformat/segment.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libavformat/segment.c b/libavformat/segment.c index b627cd7e3c..e73f33f908 100644 --- a/libavformat/segment.c +++ b/libavformat/segment.c @@ -562,6 +562,7 @@ static int seg_write_header(AVFormatContext *s) SegmentContext *seg = s->priv_data; AVFormatContext *oc = NULL; int ret; + int i; seg->segment_count = 0; if (!seg->write_header_trailer) @@ -649,6 +650,13 @@ static int seg_write_header(AVFormatContext *s) } seg->is_first_pkt = 1; + av_assert0(s->nb_streams == oc->nb_streams); + for (i = 0; i < s->nb_streams; i++) { + AVStream *inner_st = oc->streams[i]; + AVStream *outer_st = s->streams[i]; + avpriv_set_pts_info(outer_st, inner_st->pts_wrap_bits, inner_st->time_base.num, inner_st->time_base.den); + } + if (oc->avoid_negative_ts > 0 && s->avoid_negative_ts < 0) s->avoid_negative_ts = 1; |