From d3bc61ac758667568c36654e9b8de946f8e665ff Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Thu, 27 Mar 2008 12:35:22 +0000 Subject: [PATCH] Only use chunk demuxing for old uncompressed audio mechanism specified by stts. This will split amr/aac cbr samples correctly in isom files which do not set audio cid to -2. Originally committed as revision 12603 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/mov.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 92957a5100..dfd382a098 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1120,8 +1120,9 @@ static void mov_build_index(MOVContext *mov, AVStream *st) unsigned int stss_index = 0; unsigned int i, j; - if (sc->sample_sizes || st->codec->codec_type == CODEC_TYPE_VIDEO || - sc->audio_cid == -2) { + /* only use old uncompressed audio chunk demuxing when stts specifies it */ + if (!(st->codec->codec_type == CODEC_TYPE_AUDIO && + sc->stts_count == 1 && sc->stts_data[0].duration == 1)) { unsigned int current_sample = 0; unsigned int stts_sample = 0; unsigned int keyframe, sample_size;