From: Clément Bœsch <clem...@stupeflix.com> --- libavformat/mov.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/libavformat/mov.c b/libavformat/mov.c index e294007..bb3e251 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2270,21 +2270,21 @@ static void mov_build_index(MOVContext *mov, AVStream *st) av_log(mov->fc, AV_LOG_WARNING, "multiple edit list entries, " "a/v desync might occur, patch welcome\n"); - /* adjust first dts according to edit list */ - if ((empty_duration || start_time) && mov->time_scale > 0) { - if (empty_duration) - empty_duration = av_rescale(empty_duration, sc->time_scale, mov->time_scale); - sc->time_offset = start_time - empty_duration; - current_dts = -sc->time_offset; - if (sc->ctts_count>0 && sc->stts_count>0 && - sc->ctts_data[0].duration / FFMAX(sc->stts_data[0].duration, 1) > 16) { - /* more than 16 frames delay, dts are likely wrong - this happens with files created by iMovie */ - sc->wrong_dts = 1; - st->codec->has_b_frames = 1; + /* adjust first dts according to edit list */ + if ((empty_duration || start_time) && mov->time_scale > 0) { + if (empty_duration) + empty_duration = av_rescale(empty_duration, sc->time_scale, mov->time_scale); + sc->time_offset = start_time - empty_duration; + current_dts = -sc->time_offset; + if (sc->ctts_count>0 && sc->stts_count>0 && + sc->ctts_data[0].duration / FFMAX(sc->stts_data[0].duration, 1) > 16) { + /* more than 16 frames delay, dts are likely wrong + this happens with files created by iMovie */ + sc->wrong_dts = 1; + st->codec->has_b_frames = 1; + } } } - } /* only use old uncompressed audio chunk demuxing when stts specifies it */ if (!(st->codec->codec_type == AVMEDIA_TYPE_AUDIO && -- 2.1.3 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel