summaryrefslogtreecommitdiff
path: root/libavcodec/msrle.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2012-11-17 17:48:38 +0100
committerAnton Khirnov <anton@khirnov.net>2013-01-14 11:34:18 +0100
commit9e6764900a0732a4719ca219ceb59a4ae9d9be3b (patch)
treec9bb9927d7a06299b38c375819c003bf293b7020 /libavcodec/msrle.c
parent8fd4d1f9b925f3b978756926b40315440c448696 (diff)
msrle: return meaningful error codes.
Diffstat (limited to 'libavcodec/msrle.c')
-rw-r--r--libavcodec/msrle.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libavcodec/msrle.c b/libavcodec/msrle.c
index 7cd8823682..7bca67f42e 100644
--- a/libavcodec/msrle.c
+++ b/libavcodec/msrle.c
@@ -63,7 +63,7 @@ static av_cold int msrle_decode_init(AVCodecContext *avctx)
break;
default:
av_log(avctx, AV_LOG_ERROR, "unsupported bits per sample\n");
- return -1;
+ return AVERROR_INVALIDDATA;
}
s->frame.data[0] = NULL;
@@ -79,15 +79,16 @@ static int msrle_decode_frame(AVCodecContext *avctx,
int buf_size = avpkt->size;
MsrleContext *s = avctx->priv_data;
int istride = FFALIGN(avctx->width*avctx->bits_per_coded_sample, 32) / 8;
+ int ret;
s->buf = buf;
s->size = buf_size;
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;
}
if (avctx->bits_per_coded_sample <= 8) {