X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fg722dec.c;h=8444d9a4bc9b04039a44a5576b82ca26d0a6868b;hb=8e4390de48b22cf6dd2307f0c29a3fef7016ef4c;hp=000b591fe62428ac059f214eedec04d22bdd9a1f;hpb=1b98bfb932ad36667ea7f18e24c54978623f6654;p=ffmpeg diff --git a/libavcodec/g722dec.c b/libavcodec/g722dec.c index 000b591fe62..8444d9a4bc9 100644 --- a/libavcodec/g722dec.c +++ b/libavcodec/g722dec.c @@ -100,7 +100,9 @@ static int g722_decode_frame(AVCodecContext *avctx, void *data, return ret; out_buf = (int16_t *)frame->data[0]; - init_get_bits(&gb, avpkt->data, avpkt->size * 8); + ret = init_get_bits8(&gb, avpkt->data, avpkt->size); + if (ret < 0) + return ret; for (j = 0; j < avpkt->size; j++) { int ilow, ihigh, rlow, rhigh, dhigh; @@ -145,6 +147,6 @@ AVCodec ff_adpcm_g722_decoder = { .priv_data_size = sizeof(G722Context), .init = g722_decode_init, .decode = g722_decode_frame, - .capabilities = AV_CODEC_CAP_DR1, + .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, .priv_class = &g722_decoder_class, };