[SCM] libav/experimental: 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.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:17:49 UTC 2013


The following commit has been merged in the experimental branch:
commit d3bc61ac758667568c36654e9b8de946f8e665ff
Author: Baptiste Coudurier <baptiste.coudurier at gmail.com>
Date:   Thu Mar 27 12:35:22 2008 +0000

    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

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 92957a5..dfd382a 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;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list