@@ -1687,13 +1687,13 @@ static av_cold int qdm2_decode_init(AVCodecContext *avctx)
bytestream2_skip(&gb, 4);
- avctx->channels = s->nb_channels = s->channels = bytestream2_get_be32(&gb);
+ s->nb_channels = s->channels = bytestream2_get_be32(&gb);
if (s->channels <= 0 || s->channels > MPA_MAX_CHANNELS) {
av_log(avctx, AV_LOG_ERROR, "Invalid number of channels\n");
return AVERROR_INVALIDDATA;
}
- avctx->channel_layout = avctx->channels == 2 ? AV_CH_LAYOUT_STEREO :
- AV_CH_LAYOUT_MONO;
+ av_channel_layout_uninit(&avctx->ch_layout);
+ av_channel_layout_default(&avctx->ch_layout, s->channels);
avctx->sample_rate = bytestream2_get_be32(&gb);
avctx->bit_rate = bytestream2_get_be32(&gb);