[FFmpeg-devel] [PATCH 081/281] ircam: convert to new channel layout API

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


From: Anton Khirnov <anton at khirnov.net>

Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavformat/ircamdec.c | 8 +++++---
 libavformat/ircamenc.c | 2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/libavformat/ircamdec.c b/libavformat/ircamdec.c
index a05ca5c9c7..a8927a3733 100644
--- a/libavformat/ircamdec.c
+++ b/libavformat/ircamdec.c
@@ -87,8 +87,9 @@ static int ircam_read_header(AVFormatContext *s)
         return AVERROR(ENOMEM);
 
     st->codecpar->codec_type  = AVMEDIA_TYPE_AUDIO;
-    st->codecpar->channels    = channels;
-    if (st->codecpar->channels > FF_SANE_NB_CHANNELS)
+    st->codecpar->ch_layout.order       = AV_CHANNEL_ORDER_UNSPEC;
+    st->codecpar->ch_layout.nb_channels = channels;
+    if (st->codecpar->ch_layout.nb_channels > FF_SANE_NB_CHANNELS)
         return AVERROR(ENOSYS);
     st->codecpar->sample_rate = sample_rate;
 
@@ -99,7 +100,8 @@ static int ircam_read_header(AVFormatContext *s)
     }
 
     st->codecpar->bits_per_coded_sample = av_get_bits_per_sample(st->codecpar->codec_id);
-    st->codecpar->block_align = st->codecpar->bits_per_coded_sample * st->codecpar->channels / 8;
+    st->codecpar->block_align = st->codecpar->bits_per_coded_sample *
+                                st->codecpar->ch_layout.nb_channels / 8;
     avpriv_set_pts_info(st, 64, 1, st->codecpar->sample_rate);
     avio_skip(s->pb, 1008);
 
diff --git a/libavformat/ircamenc.c b/libavformat/ircamenc.c
index d49a427b25..df1494b2b8 100644
--- a/libavformat/ircamenc.c
+++ b/libavformat/ircamenc.c
@@ -44,7 +44,7 @@ static int ircam_write_header(AVFormatContext *s)
 
     avio_wl32(s->pb, 0x0001A364);
     avio_wl32(s->pb, av_q2intfloat((AVRational){par->sample_rate, 1}));
-    avio_wl32(s->pb, par->channels);
+    avio_wl32(s->pb, par->ch_layout.nb_channels);
     avio_wl32(s->pb, tag);
     ffio_fill(s->pb, 0, 1008);
     return 0;
-- 
2.34.1



More information about the ffmpeg-devel mailing list