diff options
author | Pavel Koshevoy <pkoshevoy@gmail.com> | 2013-04-11 21:21:04 -0600 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-04-12 09:31:33 +0200 |
commit | 8f3c440a39e8de88e24260a7dea833558f44110c (patch) | |
tree | caa89bc07e2186187888f9fa2b9c72129cf59e43 /libavfilter/af_atempo.c | |
parent | 9ab796127a38e047bc76eb0a825ba6c90fb945da (diff) | |
download | ffmpeg-8f3c440a39e8de88e24260a7dea833558f44110c.tar.gz |
lavfi/atempo: switch to an AVOptions-based system.
Signed-off-by: Pavel Koshevoy <pkoshevoy@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/af_atempo.c')
-rw-r--r-- | libavfilter/af_atempo.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c index 6fe8b2c927..d49f3d4b42 100644 --- a/libavfilter/af_atempo.c +++ b/libavfilter/af_atempo.c @@ -85,6 +85,8 @@ typedef enum { * Filter state machine */ typedef struct { + const AVClass *class; + // ring-buffer of input samples, necessary because some times // input fragment position may be adjusted backwards: uint8_t *buffer; @@ -146,6 +148,17 @@ typedef struct { uint64_t nsamples_out; } ATempoContext; +#define OFFSET(x) offsetof(ATempoContext, x) + +static const AVOption atempo_options[] = { + { "tempo", "set tempo scale factor", + OFFSET(tempo), AV_OPT_TYPE_DOUBLE, { .dbl = 1.0 }, 0.5, 2.0, + AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_FILTERING_PARAM }, + { NULL } +}; + +AVFILTER_DEFINE_CLASS(atempo); + /** * Reset filter to initial state, do not deallocate existing local buffers. */ @@ -950,13 +963,9 @@ static int yae_flush(ATempoContext *atempo, static av_cold int init(AVFilterContext *ctx, const char *args) { ATempoContext *atempo = ctx->priv; - - // NOTE: this assumes that the caller has memset ctx->priv to 0: atempo->format = AV_SAMPLE_FMT_NONE; - atempo->tempo = 1.0; atempo->state = YAE_LOAD_FRAGMENT; - - return args ? yae_set_tempo(ctx, args) : 0; + return 0; } static av_cold void uninit(AVFilterContext *ctx) @@ -1166,6 +1175,7 @@ AVFilter avfilter_af_atempo = { .query_formats = query_formats, .process_command = process_command, .priv_size = sizeof(ATempoContext), + .priv_class = &atempo_class, .inputs = atempo_inputs, .outputs = atempo_outputs, }; |