diff options
-rw-r--r-- | libavcodec/utils.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 5bd0012a47..0a0971fc3e 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -642,9 +642,12 @@ int avcodec_decode_audio(AVCodecContext *avctx, int16_t *samples, int ret; *frame_size_ptr= 0; - ret = avctx->codec->decode(avctx, samples, frame_size_ptr, - buf, buf_size); - avctx->frame_number++; + if((avctx->codec->capabilities & CODEC_CAP_DELAY) || buf_size){ + ret = avctx->codec->decode(avctx, samples, frame_size_ptr, + buf, buf_size); + avctx->frame_number++; + }else + ret= 0; return ret; } |