[FFmpeg-devel] [PATCH 248/281] qdmc: convert to new channel layout API

James Almer jamrial at gmail.com
Thu Jan 13 04:06:52 EET 2022


From: Anton Khirnov <anton at khirnov.net>

Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavcodec/qdmc.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavcodec/qdmc.c b/libavcodec/qdmc.c
index ae75ca524a..dfdd84870c 100644
--- a/libavcodec/qdmc.c
+++ b/libavcodec/qdmc.c
@@ -245,13 +245,14 @@ static av_cold int qdmc_decode_init(AVCodecContext *avctx)
     }
     bytestream2_skipu(&b, 4);
 
-    avctx->channels = s->nb_channels = bytestream2_get_be32u(&b);
+    s->nb_channels = bytestream2_get_be32u(&b);
     if (s->nb_channels <= 0 || s->nb_channels > 2) {
         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);
+    avctx->ch_layout = s->nb_channels == 2 ? (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO :
+                                             (AVChannelLayout)AV_CHANNEL_LAYOUT_MONO;
 
     avctx->sample_rate = bytestream2_get_be32u(&b);
     avctx->bit_rate = bytestream2_get_be32u(&b);
@@ -277,7 +278,7 @@ static av_cold int qdmc_decode_init(AVCodecContext *avctx)
     s->frame_size = 1 << s->frame_bits;
     s->subframe_size = s->frame_size >> 5;
 
-    if (avctx->channels == 2)
+    if (avctx->ch_layout.nb_channels == 2)
         x = 3 * x / 2;
     s->band_index = noise_bands_selector[FFMIN(6, llrint(floor(avctx->bit_rate * 3.0 / (double)x + 0.5)))];
 
-- 
2.34.1



More information about the ffmpeg-devel mailing list