[FFmpeg-cvslog] avcodec/liblc3enc: don't force unspec channel layouts

James Almer git at videolan.org
Thu Apr 4 19:57:53 EEST 2024


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Thu Apr  4 13:26:49 2024 -0300| [3db674614d52577dc844df34d11e7aa617923ae6] | committer: James Almer

avcodec/liblc3enc: don't force unspec channel layouts

We only care about channel count. Layout details will be ignored either way.

Signed-off-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3db674614d52577dc844df34d11e7aa617923ae6
---

 libavcodec/liblc3enc.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/libavcodec/liblc3enc.c b/libavcodec/liblc3enc.c
index 63d1645b10..3c0bcc6840 100644
--- a/libavcodec/liblc3enc.c
+++ b/libavcodec/liblc3enc.c
@@ -61,6 +61,12 @@ static av_cold int liblc3_encode_init(AVCodecContext *avctx)
                "Unsupported frame duration %.1f ms.\n", frame_us / 1000.f);
         return AVERROR(EINVAL);
     }
+    if (channels < 0 || channels > ENCODER_MAX_CHANNELS) {
+        av_log(avctx, AV_LOG_ERROR,
+               "Invalid number of channels %d. Max %d channels are accepted\n",
+               channels, ENCODER_MAX_CHANNELS);
+        return AVERROR(EINVAL);
+    }
 
     hr_mode |= srate_hz > 48000;
     hr_mode &= srate_hz >= 48000;
@@ -195,9 +201,6 @@ const FFCodec ff_liblc3_encoder = {
     .p.type         = AVMEDIA_TYPE_AUDIO,
     .p.id           = AV_CODEC_ID_LC3,
     .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
-    .p.ch_layouts = (const AVChannelLayout[])
-        { { AV_CHANNEL_ORDER_UNSPEC, 1 },
-          { AV_CHANNEL_ORDER_UNSPEC, 2 }, { 0 } },
     .p.supported_samplerates = (const int [])
         { 96000, 48000, 32000, 24000, 16000, 8000, 0 },
     .p.sample_fmts = (const enum AVSampleFormat[])



More information about the ffmpeg-cvslog mailing list