[FFmpeg-cvslog] avfilter/af_volumedetect: Remove dependency on channel layout

Michael Niedermayer git at videolan.org
Sun Nov 6 18:21:22 EET 2016


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Mon Sep  5 21:42:31 2016 +0200| [0e66dcd733d08f32af5184e2da3b81d338a88325] | committer: Michael Niedermayer

avfilter/af_volumedetect: Remove dependency on channel layout

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0e66dcd733d08f32af5184e2da3b81d338a88325
---

 libavfilter/af_volumedetect.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/libavfilter/af_volumedetect.c b/libavfilter/af_volumedetect.c
index 4815bcc..0143940 100644
--- a/libavfilter/af_volumedetect.c
+++ b/libavfilter/af_volumedetect.c
@@ -41,9 +41,19 @@ static int query_formats(AVFilterContext *ctx)
         AV_SAMPLE_FMT_NONE
     };
     AVFilterFormats *formats;
+    AVFilterChannelLayouts *layouts;
+    int ret;
 
     if (!(formats = ff_make_format_list(sample_fmts)))
         return AVERROR(ENOMEM);
+
+    layouts = ff_all_channel_counts();
+    if (!layouts)
+        return AVERROR(ENOMEM);
+    ret = ff_set_common_channel_layouts(ctx, layouts);
+    if (ret < 0)
+        return ret;
+
     return ff_set_common_formats(ctx, formats);
 }
 
@@ -51,9 +61,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *samples)
 {
     AVFilterContext *ctx = inlink->dst;
     VolDetectContext *vd = ctx->priv;
-    int64_t layout  = samples->channel_layout;
     int nb_samples  = samples->nb_samples;
-    int nb_channels = av_get_channel_layout_nb_channels(layout);
+    int nb_channels = av_frame_get_channels(samples);
     int nb_planes   = nb_channels;
     int plane, i;
     int16_t *pcm;



More information about the ffmpeg-cvslog mailing list