mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-18 13:35:13 +00:00
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
This commit is contained in:
parent
5dad0282b5
commit
9c856d62be
@ -894,18 +894,19 @@ int avcodec_decode_audio2(AVCodecContext *avctx, int16_t *samples,
|
||||
{
|
||||
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){
|
||||
//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,
|
||||
buf, buf_size);
|
||||
avctx->frame_number++;
|
||||
|
Loading…
Reference in New Issue
Block a user