[SCM] libav/experimental: fix mac3audio.mov, pcm_s8 and pcm_u8 can only have sample size of 1 and only if mono, dont rely on bits per sample which can be wrong

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:50:14 UTC 2013


The following commit has been merged in the experimental branch:
commit c61900c6e9aac42856fda0e78ed5bd50dd286e01
Author: Baptiste Coudurier <baptiste.coudurier at gmail.com>
Date:   Thu Aug 24 18:39:57 2006 +0000

    fix mac3audio.mov, pcm_s8 and pcm_u8 can only have sample size of 1 and only if mono, dont rely on bits per sample which can be wrong
    
    Originally committed as revision 6079 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/mov.c b/libavformat/mov.c
index e234ef7..30295d9 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1598,7 +1598,7 @@ static void mov_build_index(MOVContext *mov, AVStream *st)
                 stsc_index++;
             chunk_samples = sc->sample_to_chunk[stsc_index].count;
             /* get chunk size */
-            if (sc->sample_size > 1 || st->codec->bits_per_sample == 8)
+            if (sc->sample_size > 1 || st->codec->codec_id == CODEC_ID_PCM_U8 || st->codec->codec_id == CODEC_ID_PCM_S8)
                 chunk_size = chunk_samples * sc->sample_size;
             else if (sc->sample_size_v1.den > 0 && (chunk_samples * sc->sample_size_v1.num % sc->sample_size_v1.den == 0))
                 chunk_size = chunk_samples * sc->sample_size_v1.num / sc->sample_size_v1.den;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list