summaryrefslogtreecommitdiff
path: root/libavcodec/alac.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2013-05-07 07:20:32 +0200
committerJames Almer <jamrial@gmail.com>2022-03-15 09:42:40 -0300
commitd199099be988ebe7f3e688c45337dded3f8e0187 (patch)
tree2bd818f256ad11fbe7386cc2fc8b7aeb450c2ed9 /libavcodec/alac.c
parent4407054ff0eec66c3ca8040607cfc8d952f772d7 (diff)
downloadffmpeg-d199099be988ebe7f3e688c45337dded3f8e0187.tar.gz
alac: convert to new channel layout API
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/alac.c')
-rw-r--r--libavcodec/alac.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/libavcodec/alac.c b/libavcodec/alac.c
index bac7543020..c37ed92d9a 100644
--- a/libavcodec/alac.c
+++ b/libavcodec/alac.c
@@ -575,21 +575,17 @@ static av_cold int alac_decode_init(AVCodecContext * avctx)
avctx->bits_per_raw_sample = alac->sample_size;
avctx->sample_rate = alac->sample_rate;
- if (alac->channels < 1) {
+ if (alac->channels < 1 || alac->channels > ALAC_MAX_CHANNELS) {
av_log(avctx, AV_LOG_WARNING, "Invalid channel count\n");
- alac->channels = avctx->channels;
- } else {
- if (alac->channels > ALAC_MAX_CHANNELS)
- alac->channels = avctx->channels;
- else
- avctx->channels = alac->channels;
+ alac->channels = avctx->ch_layout.nb_channels;
}
- if (avctx->channels > ALAC_MAX_CHANNELS || avctx->channels <= 0 ) {
+ if (avctx->ch_layout.nb_channels > ALAC_MAX_CHANNELS || avctx->ch_layout.nb_channels <= 0 ) {
avpriv_report_missing_feature(avctx, "Channel count %d",
- avctx->channels);
+ avctx->ch_layout.nb_channels);
return AVERROR_PATCHWELCOME;
}
- avctx->channel_layout = ff_alac_channel_layouts[alac->channels - 1];
+ av_channel_layout_uninit(&avctx->ch_layout);
+ avctx->ch_layout = ff_alac_ch_layouts[alac->channels - 1];
if ((ret = allocate_buffers(alac)) < 0) {
av_log(avctx, AV_LOG_ERROR, "Error allocating buffers\n");