diff options
author | Anton Khirnov <anton@khirnov.net> | 2012-11-17 17:48:38 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2013-01-14 11:34:18 +0100 |
commit | 9e6764900a0732a4719ca219ceb59a4ae9d9be3b (patch) | |
tree | c9bb9927d7a06299b38c375819c003bf293b7020 | |
parent | 8fd4d1f9b925f3b978756926b40315440c448696 (diff) | |
download | ffmpeg-9e6764900a0732a4719ca219ceb59a4ae9d9be3b.tar.gz |
msrle: return meaningful error codes.
-rw-r--r-- | libavcodec/msrle.c | 7 |
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) { |