2017-09-25 19:10 GMT+02:00 John Stebbins <jstebb...@jetheaddev.com>: > When keyframe intervals of dash segments are not perfectly aligned, > fragments in the stream can overlap in time. Append new "trun" index > entries to the end of the index instead of sorting by timestamp. > Sorting by timestamp causes packets to be read out of decode order and > results in decode errors. > --- > libavformat/mov.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libavformat/mov.c b/libavformat/mov.c > index 2519707345..b2bc7c2c3d 100644 > --- a/libavformat/mov.c > +++ b/libavformat/mov.c > @@ -4339,8 +4339,8 @@ static int mov_read_trun(MOVContext *c, AVIOContext > *pb, MOVAtom atom) > MOV_FRAG_SAMPLE_FLAG_DEPENDS_YES)); > if (keyframe) > distance = 0; > - ctts_index = av_add_index_entry(st, offset, dts, sample_size, > distance, > - keyframe ? AVINDEX_KEYFRAME : 0); > + ctts_index = add_index_entry(st, offset, dts, sample_size, distance, > + keyframe ? AVINDEX_KEYFRAME : 0);
I can confirm that this fixes playback with FFplay but it shows many warnings (Non-monotonous DTS) with ffmpeg: Is this unavoidable? Thank you, Carl Eugen _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel