Commit df4c7ae9 authored by Stefano Sabatini's avatar Stefano Sabatini

asink_abuffer: extend ABufferSinkContext to make it accept lists of formats in input

This is required for the pending lavfi indev extension, also
consistent with the video buffer sink.
parent 3e4666f3
...@@ -46,22 +46,18 @@ static int init(AVFilterContext *ctx, const char *args, void *opaque) ...@@ -46,22 +46,18 @@ static int init(AVFilterContext *ctx, const char *args, void *opaque)
static int query_formats(AVFilterContext *ctx) static int query_formats(AVFilterContext *ctx)
{ {
ABufferSinkContext *abuffersink = ctx->priv; ABufferSinkContext *abuffersink = ctx->priv;
AVFilterFormats *formats; AVFilterFormats *formats = NULL;
int ret;
formats = NULL; if (!(formats = avfilter_make_format_list(abuffersink->sample_fmts)))
if ((ret = avfilter_add_format(&formats, abuffersink->sample_fmt)) < 0) return AVERROR(ENOMEM);
return ret;
avfilter_set_common_sample_formats(ctx, formats); avfilter_set_common_sample_formats(ctx, formats);
formats = NULL; if (!(formats = avfilter_make_format64_list(abuffersink->channel_layouts)))
if ((ret = avfilter_add_format(&formats, abuffersink->channel_layout)) < 0) return AVERROR(ENOMEM);
return ret;
avfilter_set_common_channel_layouts(ctx, formats); avfilter_set_common_channel_layouts(ctx, formats);
formats = NULL; if (!(formats = avfilter_make_format_list(abuffersink->packing_fmts)))
if ((ret = avfilter_add_format(&formats, abuffersink->planar)) < 0) return AVERROR(ENOMEM);
return ret;
avfilter_set_common_packing_formats(ctx, formats); avfilter_set_common_packing_formats(ctx, formats);
return 0; return 0;
......
...@@ -27,9 +27,9 @@ ...@@ -27,9 +27,9 @@
#include "avfilter.h" #include "avfilter.h"
typedef struct { typedef struct {
enum AVSampleFormat sample_fmt; const enum AVSampleFormat *sample_fmts; ///< list of allowed sample formats, terminated by -1
int64_t channel_layout; const int64_t *channel_layouts; ///< list of allowed channel layouts, terminated by -1
int planar; const int *packing_fmts; ///< list of allowed packing formats, terminated by -1
} ABufferSinkContext; } ABufferSinkContext;
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#define LIBAVFILTER_VERSION_MAJOR 2 #define LIBAVFILTER_VERSION_MAJOR 2
#define LIBAVFILTER_VERSION_MINOR 34 #define LIBAVFILTER_VERSION_MINOR 34
#define LIBAVFILTER_VERSION_MICRO 1 #define LIBAVFILTER_VERSION_MICRO 2
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
LIBAVFILTER_VERSION_MINOR, \ LIBAVFILTER_VERSION_MINOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment