From 81b060faf98d3ef3ab009220ba8a725a31ff047f Mon Sep 17 00:00:00 2001 From: Loren Merritt Date: Tue, 12 Aug 2008 05:59:12 +0000 Subject: align the audio decoding buffer, since some codecs write to it with simd Originally committed as revision 14707 to svn://svn.ffmpeg.org/ffmpeg/trunk --- ffmpeg.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'ffmpeg.c') diff --git a/ffmpeg.c b/ffmpeg.c index 850778db91..53009d395f 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1198,8 +1198,11 @@ static int output_packet(AVInputStream *ist, int ist_index, if (ist->decoding_needed) { switch(ist->st->codec->codec_type) { case CODEC_TYPE_AUDIO:{ - if(pkt) - samples= av_fast_realloc(samples, &samples_size, FFMAX(pkt->size*sizeof(*samples), AVCODEC_MAX_AUDIO_FRAME_SIZE)); + if(pkt && samples_size < FFMAX(pkt->size*sizeof(*samples), AVCODEC_MAX_AUDIO_FRAME_SIZE)) { + samples_size = FFMAX(pkt->size*sizeof(*samples), AVCODEC_MAX_AUDIO_FRAME_SIZE); + av_free(samples); + samples= av_malloc(samples_size); + } data_size= samples_size; /* XXX: could avoid copy if PCM 16 bits with same endianness as CPU */ -- cgit v1.2.3