Browse Source

Make iff.c: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.

Originally committed as revision 22512 to svn://svn.ffmpeg.org/ffmpeg/trunk

Stefano Sabatini 15 years ago
parent
commit
0edfa79b23
2 changed files with 7 additions and 2 deletions
  1. 3 2
      libavcodec/iff.c
  2. 4 0
      libavutil/error.h

+ 3 - 2
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 ?

+ 4 - 0
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 */