X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fon2avc.c;h=4a38da00e5aed2ecb14f5facbe92ffeecd9b7397;hb=088dfd3ff15eba342863c74be53f7ca614957966;hp=9bf5e87546d18492c659277b64d4dc378bf27619;hpb=b6938c94d641c539f1ee5225f6af7ffb58d3a0fc;p=ffmpeg diff --git a/libavcodec/on2avc.c b/libavcodec/on2avc.c index 9bf5e87546d..4a38da00e5a 100644 --- a/libavcodec/on2avc.c +++ b/libavcodec/on2avc.c @@ -795,7 +795,9 @@ static int on2avc_decode_subframe(On2AVCContext *c, const uint8_t *buf, GetBitContext gb; int i, ret; - init_get_bits(&gb, buf, buf_size * 8); + if ((ret = init_get_bits8(&gb, buf, buf_size)) < 0) + return ret; + if (get_bits1(&gb)) { av_log(c->avctx, AV_LOG_ERROR, "enh bit set\n"); return AVERROR_INVALIDDATA; @@ -846,10 +848,8 @@ static int on2avc_decode_frame(AVCodecContext * avctx, void *data, if (c->is_av500) { /* get output buffer */ frame->nb_samples = ON2AVC_SUBFRAME_SIZE; - if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) { - av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); + if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) return ret; - } if ((ret = on2avc_decode_subframe(c, buf, buf_size, frame, 0)) < 0) return ret; @@ -872,10 +872,8 @@ static int on2avc_decode_frame(AVCodecContext * avctx, void *data, /* get output buffer */ frame->nb_samples = ON2AVC_SUBFRAME_SIZE * num_frames; - if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) { - av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); + if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) return ret; - } audio_off = 0; bytestream2_init(&gb, buf, buf_size);