diff options
Diffstat (limited to 'libavfilter/af_asyncts.c')
-rw-r--r-- | libavfilter/af_asyncts.c | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/libavfilter/af_asyncts.c b/libavfilter/af_asyncts.c index 006839c671..244f53d3c9 100644 --- a/libavfilter/af_asyncts.c +++ b/libavfilter/af_asyncts.c @@ -48,34 +48,28 @@ typedef struct ASyncContext { #define OFFSET(x) offsetof(ASyncContext, x) #define A AV_OPT_FLAG_AUDIO_PARAM -static const AVOption options[] = { - { "compensate", "Stretch/squeeze the data to make it match the timestamps", OFFSET(resample), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, A }, +#define F AV_OPT_FLAG_FILTERING_PARAM +static const AVOption asyncts_options[] = { + { "compensate", "Stretch/squeeze the data to make it match the timestamps", OFFSET(resample), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, A|F }, { "min_delta", "Minimum difference between timestamps and audio data " - "(in seconds) to trigger padding/trimmin the data.", OFFSET(min_delta_sec), AV_OPT_TYPE_FLOAT, { .dbl = 0.1 }, 0, INT_MAX, A }, - { "max_comp", "Maximum compensation in samples per second.", OFFSET(max_comp), AV_OPT_TYPE_INT, { .i64 = 500 }, 0, INT_MAX, A }, - { "first_pts", "Assume the first pts should be this value.", OFFSET(first_pts), AV_OPT_TYPE_INT64, { .i64 = AV_NOPTS_VALUE }, INT64_MIN, INT64_MAX, A }, + "(in seconds) to trigger padding/trimmin the data.", OFFSET(min_delta_sec), AV_OPT_TYPE_FLOAT, { .dbl = 0.1 }, 0, INT_MAX, A|F }, + { "max_comp", "Maximum compensation in samples per second.", OFFSET(max_comp), AV_OPT_TYPE_INT, { .i64 = 500 }, 0, INT_MAX, A|F }, + { "first_pts", "Assume the first pts should be this value.", OFFSET(first_pts), AV_OPT_TYPE_INT64, { .i64 = AV_NOPTS_VALUE }, INT64_MIN, INT64_MAX, A|F }, { NULL }, }; -static const AVClass async_class = { - .class_name = "asyncts filter", - .item_name = av_default_item_name, - .option = options, - .version = LIBAVUTIL_VERSION_INT, -}; +AVFILTER_DEFINE_CLASS(asyncts); static int init(AVFilterContext *ctx, const char *args) { ASyncContext *s = ctx->priv; int ret; - s->class = &async_class; + s->class = &asyncts_class; av_opt_set_defaults(s); - if ((ret = av_set_options_string(s, args, "=", ":")) < 0) { - av_log(ctx, AV_LOG_ERROR, "Error parsing options string '%s'.\n", args); + if ((ret = av_set_options_string(s, args, "=", ":")) < 0) return ret; - } av_opt_free(s); s->pts = AV_NOPTS_VALUE; @@ -302,7 +296,7 @@ static const AVFilterPad avfilter_af_asyncts_inputs[] = { { .name = "default", .type = AVMEDIA_TYPE_AUDIO, - .filter_frame = filter_frame, + .filter_frame = filter_frame }, { NULL } }; @@ -328,4 +322,5 @@ AVFilter avfilter_af_asyncts = { .inputs = avfilter_af_asyncts_inputs, .outputs = avfilter_af_asyncts_outputs, + .priv_class = &asyncts_class, }; |