[FFmpeg-devel] [PATCH 142/281] segafilm: convert to new channel layout API
James Almer
jamrial at gmail.com
Thu Jan 13 03:57:59 EET 2022
From: Vittorio Giovara <vittorio.giovara at gmail.com>
Signed-off-by: James Almer <jamrial at gmail.com>
---
libavformat/segafilm.c | 9 +++++----
libavformat/segafilmenc.c | 2 +-
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/libavformat/segafilm.c b/libavformat/segafilm.c
index 3af7518d03..6c563a85af 100644
--- a/libavformat/segafilm.c
+++ b/libavformat/segafilm.c
@@ -177,20 +177,21 @@ static int film_read_header(AVFormatContext *s)
st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
st->codecpar->codec_id = film->audio_type;
st->codecpar->codec_tag = 1;
- st->codecpar->channels = film->audio_channels;
+ st->codecpar->ch_layout.order = AV_CHANNEL_ORDER_UNSPEC;
+ st->codecpar->ch_layout.nb_channels = film->audio_channels;
st->codecpar->sample_rate = film->audio_samplerate;
if (film->audio_type == AV_CODEC_ID_ADPCM_ADX) {
st->codecpar->bits_per_coded_sample = 18 * 8 / 32;
- st->codecpar->block_align = st->codecpar->channels * 18;
+ st->codecpar->block_align = film->audio_channels * 18;
ffstream(st)->need_parsing = AVSTREAM_PARSE_FULL;
} else {
st->codecpar->bits_per_coded_sample = film->audio_bits;
- st->codecpar->block_align = st->codecpar->channels *
+ st->codecpar->block_align = film->audio_channels *
st->codecpar->bits_per_coded_sample / 8;
}
- st->codecpar->bit_rate = st->codecpar->channels * st->codecpar->sample_rate *
+ st->codecpar->bit_rate = film->audio_channels * st->codecpar->sample_rate *
st->codecpar->bits_per_coded_sample;
}
diff --git a/libavformat/segafilmenc.c b/libavformat/segafilmenc.c
index 737805faa6..7a412fe9cc 100644
--- a/libavformat/segafilmenc.c
+++ b/libavformat/segafilmenc.c
@@ -236,7 +236,7 @@ static int film_write_header(AVFormatContext *format_context)
AVStream *audio = format_context->streams[film->audio_index];
int audio_codec = get_audio_codec_id(audio->codecpar->codec_id);
- bytestream_put_byte(&ptr, audio->codecpar->channels); /* Audio channels */
+ bytestream_put_byte(&ptr, audio->codecpar->ch_layout.nb_channels); /* Audio channels */
bytestream_put_byte(&ptr, audio->codecpar->bits_per_coded_sample); /* Audio bit depth */
bytestream_put_byte(&ptr, audio_codec); /* Compression - 0 is PCM, 2 is ADX */
bytestream_put_be16(&ptr, audio->codecpar->sample_rate); /* Audio sampling rate */
--
2.34.1
More information about the ffmpeg-devel
mailing list