[SCM] libav/experimental: fix decoding of big audio packets (48k 16bit 2 channels), needed size is related to samples which is short * while len passed to decode_audio2 is related to pkt->data which is uint8_t *

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:58:16 UTC 2013


The following commit has been merged in the experimental branch:
commit 5508d26b7c22ba05cd036bfe58c9658f9afc0ee0
Author: Baptiste Coudurier <baptiste.coudurier at gmail.com>
Date:   Wed Mar 28 11:53:01 2007 +0000

    fix decoding of big audio packets (48k 16bit 2 channels), needed size is related to samples which is short * while len passed to decode_audio2 is related to pkt->data which is uint8_t *
    
    Originally committed as revision 8537 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/ffmpeg.c b/ffmpeg.c
index 2ee0011..3f12c1f 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1049,7 +1049,7 @@ static int output_packet(AVInputStream *ist, int ist_index,
             switch(ist->st->codec->codec_type) {
             case CODEC_TYPE_AUDIO:{
                 if(pkt)
-                    samples= av_fast_realloc(samples, &samples_size, FFMAX(pkt->size, AVCODEC_MAX_AUDIO_FRAME_SIZE));
+                    samples= av_fast_realloc(samples, &samples_size, FFMAX(pkt->size*sizeof(*samples), AVCODEC_MAX_AUDIO_FRAME_SIZE));
                 data_size= samples_size;
                     /* XXX: could avoid copy if PCM 16 bits with same
                        endianness as CPU */

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list