]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/af_volumedetect.c
Merge commit 'a92fd8a06256e71a0be87b03751ec3c2a4a8aa21'
[ffmpeg] / libavfilter / af_volumedetect.c
index 4815bccf6ba3b783f0b70d1c50a907f3d4f0fbbc..0143940ef3f3b43a12051f6fc03c6fafad06a69f 100644 (file)
@@ -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;