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
This commit is contained in:
Baptiste Coudurier 2007-03-28 11:53:01 +00:00
parent c367d06702
commit 5508d26b7c

View File

@ -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 */