diff --git a/libavcodec/iff.c b/libavcodec/iff.c index 490d347ec0..19671d767f 100644 --- a/libavcodec/iff.c +++ b/libavcodec/iff.c @@ -61,6 +61,7 @@ int ff_cmap_read_palette(AVCodecContext *avctx, uint32_t *pal) static av_cold int decode_init(AVCodecContext *avctx) { IffContext *s = avctx->priv_data; + int err; if (avctx->bits_per_coded_sample <= 8) { avctx->pix_fmt = PIX_FMT_PAL8; @@ -76,9 +77,9 @@ static av_cold int decode_init(AVCodecContext *avctx) return AVERROR(ENOMEM); s->frame.reference = 1; - if (avctx->get_buffer(avctx, &s->frame) < 0) { + if ((err = avctx->get_buffer(avctx, &s->frame) < 0)) { av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); - return AVERROR_UNKNOWN; + return err; } return avctx->bits_per_coded_sample <= 8 ? diff --git a/libavutil/error.h b/libavutil/error.h index a386c1f651..51c613c56d 100644 --- a/libavutil/error.h +++ b/libavutil/error.h @@ -33,7 +33,11 @@ #define AVERROR(e) (e) #define AVUNERROR(e) (e) #endif + +#if LIBAVUTIL_VERSION_MAJOR < 51 #define AVERROR_UNKNOWN AVERROR(EINVAL) /**< unknown error */ +#endif + #define AVERROR_IO AVERROR(EIO) /**< I/O error */ #define AVERROR_NUMEXPECTED AVERROR(EDOM) /**< Number syntax expected in filename. */ #define AVERROR_INVALIDDATA AVERROR(EINVAL) /**< invalid data found */