diff --git a/libavcodec/utils.c b/libavcodec/utils.c index e5a832b3b4..11ae4e84c5 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -2281,6 +2281,9 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx, *got_frame_ptr = 0; + if (!avctx->codec) + return AVERROR(EINVAL); + if (!avctx->codec->decode) { av_log(avctx, AV_LOG_ERROR, "This decoder requires using the avcodec_send_packet() API.\n"); return AVERROR(ENOSYS); @@ -2290,8 +2293,6 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx, av_log(avctx, AV_LOG_ERROR, "invalid packet: NULL data, size != 0\n"); return AVERROR(EINVAL); } - if (!avctx->codec) - return AVERROR(EINVAL); if (avctx->codec->type != AVMEDIA_TYPE_AUDIO) { av_log(avctx, AV_LOG_ERROR, "Invalid media type for audio\n"); return AVERROR(EINVAL);