[FFmpeg-devel] [PATCH] avcodec/dcadec: silence request_channels deprecation warnings

James Almer jamrial at gmail.com
Sun Jul 12 08:14:11 CEST 2015


This also prevents an eventual compilation failure once request_channels
is removed.

Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavcodec/dcadec.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c
index 3ea1bcf..a1b389f 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];
-- 
2.4.5



More information about the ffmpeg-devel mailing list