Make iff.c:decode_init return the value returned by
authorStefano Sabatini <stefano.sabatini-lala@poste.it>
Sat, 13 Mar 2010 19:19:40 +0000 (19:19 +0000)
committerStefano Sabatini <stefano.sabatini-lala@poste.it>
Sat, 13 Mar 2010 19:19:40 +0000 (19:19 +0000)
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

libavcodec/iff.c
libavutil/error.h

index 490d347..19671d7 100644 (file)
@@ -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;
 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;
 
     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;
         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");
         av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
-        return AVERROR_UNKNOWN;
+        return err;
     }
 
     return avctx->bits_per_coded_sample <= 8 ?
     }
 
     return avctx->bits_per_coded_sample <= 8 ?
index a386c1f..51c613c 100644 (file)
 #define AVERROR(e) (e)
 #define AVUNERROR(e) (e)
 #endif
 #define AVERROR(e) (e)
 #define AVUNERROR(e) (e)
 #endif
+
+#if LIBAVUTIL_VERSION_MAJOR < 51
 #define AVERROR_UNKNOWN     AVERROR(EINVAL)  /**< unknown error */
 #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 */
 #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 */