aura: return meaningful error codes.
authorAnton Khirnov <anton@khirnov.net>
Wed, 14 Nov 2012 14:11:23 +0000 (15:11 +0100)
committerAnton Khirnov <anton@khirnov.net>
Sun, 6 Jan 2013 12:31:39 +0000 (13:31 +0100)
libavcodec/aura.c

index 4960bf8..7256dc8 100644 (file)
@@ -39,7 +39,7 @@ static av_cold int aura_decode_init(AVCodecContext *avctx)
     s->avctx = avctx;
     /* width needs to be divisible by 4 for this codec to work */
     if (avctx->width & 0x3)
-        return -1;
+        return AVERROR(EINVAL);
     avctx->pix_fmt = AV_PIX_FMT_YUV422P;
 
     return 0;
@@ -52,7 +52,7 @@ static int aura_decode_frame(AVCodecContext *avctx,
     AuraDecodeContext *s = avctx->priv_data;
     uint8_t *Y, *U, *V;
     uint8_t val;
-    int x, y;
+    int x, y, ret;
     const uint8_t *buf = pkt->data;
 
     /* prediction error tables (make it clear that they are signed values) */
@@ -61,7 +61,7 @@ static int aura_decode_frame(AVCodecContext *avctx,
     if (pkt->size != 48 + avctx->height * avctx->width) {
         av_log(avctx, AV_LOG_ERROR, "got a buffer with %d bytes when %d were expected\n",
                pkt->size, 48 + avctx->height * avctx->width);
-        return -1;
+        return AVERROR_INVALIDDATA;
     }
 
     /* pixel data starts 48 bytes in, after 3x16-byte tables */
@@ -72,9 +72,9 @@ static int aura_decode_frame(AVCodecContext *avctx,
 
     s->frame.buffer_hints = FF_BUFFER_HINTS_VALID;
     s->frame.reference = 0;
-    if (ff_get_buffer(avctx, &s->frame) < 0) {
+    if ((ret = ff_get_buffer(avctx, &s->frame)) < 0) {
         av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
-        return -1;
+        return ret;
     }
 
     Y = s->frame.data[0];