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

index 47d25d0..7759c71 100644 (file)
@@ -56,13 +56,13 @@ static int aasc_decode_frame(AVCodecContext *avctx,
     const uint8_t *buf = avpkt->data;
     int buf_size       = avpkt->size;
     AascContext *s     = avctx->priv_data;
-    int compr, i, stride;
+    int compr, i, stride, ret;
 
     s->frame.reference = 1;
     s->frame.buffer_hints = FF_BUFFER_HINTS_VALID | FF_BUFFER_HINTS_PRESERVE | FF_BUFFER_HINTS_REUSABLE;
-    if (avctx->reget_buffer(avctx, &s->frame)) {
+    if ((ret = avctx->reget_buffer(avctx, &s->frame)) < 0) {
         av_log(avctx, AV_LOG_ERROR, "reget_buffer() failed\n");
-        return -1;
+        return ret;
     }
 
     compr     = AV_RL32(buf);
@@ -82,7 +82,7 @@ static int aasc_decode_frame(AVCodecContext *avctx,
         break;
     default:
         av_log(avctx, AV_LOG_ERROR, "Unknown compression type %d\n", compr);
-        return -1;
+        return AVERROR_INVALIDDATA;
     }
 
     *got_frame = 1;