Commit 9c856d62 authored by Michael Niedermayer's avatar Michael Niedermayer
Browse files

dont check buffer size if the decode function wont be called at all

Originally committed as revision 8090 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 5dad0282
...@@ -894,18 +894,19 @@ int avcodec_decode_audio2(AVCodecContext *avctx, int16_t *samples, ...@@ -894,18 +894,19 @@ int avcodec_decode_audio2(AVCodecContext *avctx, int16_t *samples,
{ {
int ret; int ret;
//FIXME remove the check below _after_ ensuring that all audio check that the available space is enough
if(*frame_size_ptr < AVCODEC_MAX_AUDIO_FRAME_SIZE){
av_log(avctx, AV_LOG_ERROR, "buffer smaller than AVCODEC_MAX_AUDIO_FRAME_SIZE\n");
return -1;
}
if(*frame_size_ptr < FF_MIN_BUFFER_SIZE ||
*frame_size_ptr < avctx->channels * avctx->frame_size * sizeof(int16_t) ||
*frame_size_ptr < buf_size){
av_log(avctx, AV_LOG_ERROR, "buffer %d too small\n", *frame_size_ptr);
return -1;
}
if((avctx->codec->capabilities & CODEC_CAP_DELAY) || buf_size){ if((avctx->codec->capabilities & CODEC_CAP_DELAY) || buf_size){
//FIXME remove the check below _after_ ensuring that all audio check that the available space is enough
if(*frame_size_ptr < AVCODEC_MAX_AUDIO_FRAME_SIZE){
av_log(avctx, AV_LOG_ERROR, "buffer smaller than AVCODEC_MAX_AUDIO_FRAME_SIZE\n");
return -1;
}
if(*frame_size_ptr < FF_MIN_BUFFER_SIZE ||
*frame_size_ptr < avctx->channels * avctx->frame_size * sizeof(int16_t) ||
*frame_size_ptr < buf_size){
av_log(avctx, AV_LOG_ERROR, "buffer %d too small\n", *frame_size_ptr);
return -1;
}
ret = avctx->codec->decode(avctx, samples, frame_size_ptr, ret = avctx->codec->decode(avctx, samples, frame_size_ptr,
buf, buf_size); buf, buf_size);
avctx->frame_number++; avctx->frame_number++;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment