[FFmpeg-cvslog] avformat/segment: export inner muxer timebase
Michael Niedermayer
git at videolan.org
Mon Nov 17 01:19:52 CET 2014
ffmpeg | branch: release/2.3 | Michael Niedermayer <michaelni at gmx.at> | Sun Nov 16 02:49:12 2014 +0100| [80473805149bbafab862d735efd7762ee8e6e8db] | committer: Carl Eugen Hoyos
avformat/segment: export inner muxer timebase
Fixes "Non-monotonous DTS in output stream 0:0"
Fixes Ticket4020
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit ce80f9fee97160049687bbbef4eb31a68166c3ee)
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=80473805149bbafab862d735efd7762ee8e6e8db
---
libavformat/segment.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/libavformat/segment.c b/libavformat/segment.c
index b627cd7..e73f33f 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;
More information about the ffmpeg-cvslog
mailing list