summaryrefslogtreecommitdiff
path: root/libavfilter/af_volume.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/af_volume.c')
-rw-r--r--libavfilter/af_volume.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/libavfilter/af_volume.c b/libavfilter/af_volume.c
index 8e2e37e730..50f3cbd002 100644
--- a/libavfilter/af_volume.c
+++ b/libavfilter/af_volume.c
@@ -28,6 +28,7 @@
#include "libavutil/eval.h"
#include "audio.h"
#include "avfilter.h"
+#include "formats.h"
typedef struct {
double volume;
@@ -81,6 +82,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
static int query_formats(AVFilterContext *ctx)
{
AVFilterFormats *formats = NULL;
+ AVFilterChannelLayouts *layouts;
enum AVSampleFormat sample_fmts[] = {
AV_SAMPLE_FMT_U8,
AV_SAMPLE_FMT_S16,
@@ -91,10 +93,10 @@ static int query_formats(AVFilterContext *ctx)
};
int packing_fmts[] = { AVFILTER_PACKED, -1 };
- formats = avfilter_make_all_channel_layouts();
- if (!formats)
+ layouts = ff_all_channel_layouts();
+ if (!layouts)
return AVERROR(ENOMEM);
- avfilter_set_common_channel_layouts(ctx, formats);
+ ff_set_common_channel_layouts(ctx, layouts);
formats = avfilter_make_format_list(sample_fmts);
if (!formats)
@@ -106,6 +108,11 @@ static int query_formats(AVFilterContext *ctx)
return AVERROR(ENOMEM);
avfilter_set_common_packing_formats(ctx, formats);
+ formats = ff_all_samplerates();
+ if (!formats)
+ return AVERROR(ENOMEM);
+ ff_set_common_samplerates(ctx, formats);
+
return 0;
}