[PATCH 3/7] Make decode_init return the value returned by avctx->get_buffer() in case of error, rather than AVERROR_UNKNOWN which is deprecated, and mark AVERROR_UNKNOWN for deletion at the next major bump.

Stefano Sabatini stefano.sabatini-lala
Mon Mar 8 21:56:31 CET 2010


---
 libavcodec/iff.c  |    5 +++--
 libavutil/error.h |    2 ++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/libavcodec/iff.c b/libavcodec/iff.c
index 490d347..19671d7 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 2d0983a..82ac7b0 100644
--- a/libavutil/error.h
+++ b/libavutil/error.h
@@ -41,7 +41,9 @@
 #endif
 #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 */
-- 
1.6.6.1


--DBIVS5p969aUjpLe--



More information about the ffmpeg-devel mailing list