[FFmpeg-devel] [PATCH 083/281] iss: convert to new channel layout API
James Almer
jamrial at gmail.com
Thu Jan 13 03:50:45 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/iss.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/libavformat/iss.c b/libavformat/iss.c
index c58c5923ba..f54ff8b0de 100644
--- a/libavformat/iss.c
+++ b/libavformat/iss.c
@@ -109,19 +109,20 @@ static av_cold int iss_read_header(AVFormatContext *s)
return AVERROR(ENOMEM);
st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
st->codecpar->codec_id = AV_CODEC_ID_ADPCM_IMA_ISS;
+
if (stereo) {
- st->codecpar->channels = 2;
- st->codecpar->channel_layout = AV_CH_LAYOUT_STEREO;
+ st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO;
} else {
- st->codecpar->channels = 1;
- st->codecpar->channel_layout = AV_CH_LAYOUT_MONO;
+ st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_MONO;
}
+
st->codecpar->sample_rate = 44100;
if(rate_divisor > 0)
st->codecpar->sample_rate /= rate_divisor;
st->codecpar->bits_per_coded_sample = 4;
- st->codecpar->bit_rate = st->codecpar->channels * st->codecpar->sample_rate
- * st->codecpar->bits_per_coded_sample;
+ st->codecpar->bit_rate = st->codecpar->ch_layout.nb_channels *
+ st->codecpar->sample_rate *
+ st->codecpar->bits_per_coded_sample;
st->codecpar->block_align = iss->packet_size;
avpriv_set_pts_info(st, 32, 1, st->codecpar->sample_rate);
@@ -138,8 +139,8 @@ static int iss_read_packet(AVFormatContext *s, AVPacket *pkt)
pkt->stream_index = 0;
pkt->pts = avio_tell(s->pb) - iss->sample_start_pos;
- if(s->streams[0]->codecpar->channels > 0)
- pkt->pts /= s->streams[0]->codecpar->channels*2;
+ if (s->streams[0]->codecpar->ch_layout.nb_channels > 0)
+ pkt->pts /= s->streams[0]->codecpar->ch_layout.nb_channels * 2;
return 0;
}
--
2.34.1
More information about the ffmpeg-devel
mailing list