diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c index 3ea1bcfc9d..a1b389f46d 100644 --- a/libavcodec/dcadec.c +++ b/libavcodec/dcadec.c @@ -1669,11 +1669,18 @@ static int dca_decode_frame(AVCodecContext *avctx, void *data, /* If we have XXCH then the channel layout is managed differently */ /* note that XLL will also have another way to do things */ +#if FF_API_REQUEST_CHANNELS +FF_DISABLE_DEPRECATION_WARNINGS if (!(s->core_ext_mask & DCA_EXT_XXCH) || (s->core_ext_mask & DCA_EXT_XXCH && avctx->request_channels > 0 && avctx->request_channels < num_core_channels + !!s->lfe + s->xxch_chset_nch[0])) - { /* xxx should also do MA extensions */ + { +FF_ENABLE_DEPRECATION_WARNINGS +#else + if (!(s->core_ext_mask & DCA_EXT_XXCH)) { +#endif + /* xxx should also do MA extensions */ if (s->amode < 16) { avctx->channel_layout = ff_dca_core_channel_layout[s->amode]; @@ -1750,6 +1757,8 @@ FF_ENABLE_DEPRECATION_WARNINGS /* we only get here if an XXCH channel set can be added to the mix */ channel_mask = s->xxch_core_spkmask; +#if FF_API_REQUEST_CHANNELS +FF_DISABLE_DEPRECATION_WARNINGS if (avctx->request_channels > 0 && avctx->request_channels < s->prim_channels) { channels = num_core_channels + !!s->lfe; @@ -1758,7 +1767,10 @@ FF_ENABLE_DEPRECATION_WARNINGS channels += s->xxch_chset_nch[i]; channel_mask |= s->xxch_spk_masks[i]; } - } else { +FF_ENABLE_DEPRECATION_WARNINGS + } else +#endif + { channels = s->prim_channels + !!s->lfe; for (i = 0; i < s->xxch_chset; i++) { channel_mask |= s->xxch_spk_masks[i];