X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Fasrc_anullsrc.c;h=512a23879a1cc78d2be5893a51d4712c8023a33b;hb=67a6dac7c18caecb418f7590a484dcbfcad869ab;hp=3df542942b0edaf3b1dfd380013d61ea4e668981;hpb=ec7ecb88117fd2d086f0be45ded9743c94100ef4;p=ffmpeg diff --git a/libavfilter/asrc_anullsrc.c b/libavfilter/asrc_anullsrc.c index 3df542942b0..512a23879a1 100644 --- a/libavfilter/asrc_anullsrc.c +++ b/libavfilter/asrc_anullsrc.c @@ -24,14 +24,17 @@ * null audio source */ -#include "internal.h" -#include "libavutil/audioconvert.h" -#include "libavutil/opt.h" +#include +#include #include "audio.h" #include "avfilter.h" #include "internal.h" +#include "libavutil/audioconvert.h" +#include "libavutil/internal.h" +#include "libavutil/opt.h" + typedef struct { const AVClass *class; char *channel_layout_str; @@ -43,14 +46,15 @@ typedef struct { } ANullContext; #define OFFSET(x) offsetof(ANullContext, x) +#define FLAGS AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM static const AVOption anullsrc_options[]= { - { "channel_layout", "set channel_layout", OFFSET(channel_layout_str), AV_OPT_TYPE_STRING, {.str = "stereo"}, 0, 0 }, - { "cl", "set channel_layout", OFFSET(channel_layout_str), AV_OPT_TYPE_STRING, {.str = "stereo"}, 0, 0 }, - { "sample_rate", "set sample rate", OFFSET(sample_rate_str) , AV_OPT_TYPE_STRING, {.str = "44100"}, 0, 0 }, - { "r", "set sample rate", OFFSET(sample_rate_str) , AV_OPT_TYPE_STRING, {.str = "44100"}, 0, 0 }, - { "nb_samples", "set the number of samples per requested frame", OFFSET(nb_samples), AV_OPT_TYPE_INT, {.dbl = 1024}, 0, INT_MAX }, - { "n", "set the number of samples per requested frame", OFFSET(nb_samples), AV_OPT_TYPE_INT, {.dbl = 1024}, 0, INT_MAX }, + { "channel_layout", "set channel_layout", OFFSET(channel_layout_str), AV_OPT_TYPE_STRING, {.str = "stereo"}, 0, 0, FLAGS }, + { "cl", "set channel_layout", OFFSET(channel_layout_str), AV_OPT_TYPE_STRING, {.str = "stereo"}, 0, 0, FLAGS }, + { "sample_rate", "set sample rate", OFFSET(sample_rate_str) , AV_OPT_TYPE_STRING, {.str = "44100"}, 0, 0, FLAGS }, + { "r", "set sample rate", OFFSET(sample_rate_str) , AV_OPT_TYPE_STRING, {.str = "44100"}, 0, 0, FLAGS }, + { "nb_samples", "set the number of samples per requested frame", OFFSET(nb_samples), AV_OPT_TYPE_INT, {.dbl = 1024}, 0, INT_MAX, FLAGS }, + { "n", "set the number of samples per requested frame", OFFSET(nb_samples), AV_OPT_TYPE_INT, {.dbl = 1024}, 0, INT_MAX, FLAGS }, { NULL }, }; @@ -64,10 +68,8 @@ static int init(AVFilterContext *ctx, const char *args) null->class = &anullsrc_class; av_opt_set_defaults(null); - if ((ret = (av_set_options_string(null, args, "=", ":"))) < 0) { - av_log(ctx, AV_LOG_ERROR, "Error parsing options string: '%s'\n", args); + if ((ret = (av_set_options_string(null, args, "=", ":"))) < 0) return ret; - } if ((ret = ff_parse_sample_rate(&null->sample_rate, null->sample_rate_str, ctx)) < 0) @@ -131,4 +133,5 @@ AVFilter avfilter_asrc_anullsrc = { .config_props = config_props, .request_frame = request_frame, }, { .name = NULL}}, + .priv_class = &anullsrc_class, };