[FFmpeg-devel] [PATCH 027/281] apc: convert to new channel layout API

James Almer jamrial at gmail.com
Thu Jan 13 03:49:49 EET 2022


From: Vittorio Giovara <vittorio.giovara at gmail.com>

Signed-off-by: Vittorio Giovara <vittorio.giovara at gmail.com>
Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavformat/apc.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/libavformat/apc.c b/libavformat/apc.c
index 56151bb59a..192e115278 100644
--- a/libavformat/apc.c
+++ b/libavformat/apc.c
@@ -38,6 +38,7 @@ static int apc_read_header(AVFormatContext *s)
     AVIOContext *pb = s->pb;
     AVStream *st;
     int ret;
+    int channels;
 
     avio_rl32(pb); /* CRYO */
     avio_rl32(pb); /* _APC */
@@ -57,16 +58,11 @@ static int apc_read_header(AVFormatContext *s)
     if ((ret = ff_get_extradata(s, st->codecpar, pb, 2 * 4)) < 0)
         return ret;
 
-    if (avio_rl32(pb)) {
-        st->codecpar->channels       = 2;
-        st->codecpar->channel_layout = AV_CH_LAYOUT_STEREO;
-    } else {
-        st->codecpar->channels       = 1;
-        st->codecpar->channel_layout = AV_CH_LAYOUT_MONO;
-    }
+    channels = avio_rl32(pb) + 1;
+    av_channel_layout_default(&st->codecpar->ch_layout, channels);
 
     st->codecpar->bits_per_coded_sample = 4;
-    st->codecpar->bit_rate = (int64_t)st->codecpar->bits_per_coded_sample * st->codecpar->channels
+    st->codecpar->bit_rate = (int64_t)st->codecpar->bits_per_coded_sample * channels
                           * st->codecpar->sample_rate;
     st->codecpar->block_align = 1;
 
-- 
2.34.1



More information about the ffmpeg-devel mailing list