Only mono is supported. --- libavcodec/g722dec.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/libavcodec/g722dec.c b/libavcodec/g722dec.c index ea06ce0..9a9d2ba 100644 --- a/libavcodec/g722dec.c +++ b/libavcodec/g722dec.c @@ -34,6 +34,7 @@ * respectively of each byte are ignored. */ +#include "libavutil/audioconvert.h" #include "avcodec.h" #include "get_bits.h" #include "g722.h" @@ -57,11 +58,9 @@ static av_cold int g722_decode_init(AVCodecContext * avctx) { G722Context *c = avctx->priv_data; - if (avctx->channels != 1) { - av_log(avctx, AV_LOG_ERROR, "Only mono tracks are allowed.\n"); - return AVERROR_INVALIDDATA; - } - avctx->sample_fmt = AV_SAMPLE_FMT_S16; + avctx->channels = 1; + avctx->channel_layout = AV_CH_LAYOUT_MONO; + avctx->sample_fmt = AV_SAMPLE_FMT_S16; c->band[0].scale_factor = 8; c->band[1].scale_factor = 2; @@ -95,7 +94,9 @@ static int g722_decode_frame(AVCodecContext *avctx, void *data, GetBitContext gb; /* get output buffer */ - c->frame.nb_samples = avpkt->size * 2; + avctx->channels = 1; + avctx->channel_layout = AV_CH_LAYOUT_MONO; + c->frame.nb_samples = avpkt->size * 2; if ((ret = avctx->get_buffer(avctx, &c->frame)) < 0) { av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); return ret; -- 1.7.1 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel