mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 20:19:55 +00:00
lavfi/silencedetect: switch to an AVOptions-based system.
This commit is contained in:
parent
7c11c21669
commit
1b1688bfc6
@ -1117,6 +1117,8 @@ minimum detected noise duration.
|
||||
|
||||
The printed times and duration are expressed in seconds.
|
||||
|
||||
The filter accepts the following options:
|
||||
|
||||
@table @option
|
||||
@item duration, d
|
||||
Set silence duration until notification (default is 2 seconds).
|
||||
|
@ -54,22 +54,6 @@ static const AVOption silencedetect_options[] = {
|
||||
|
||||
AVFILTER_DEFINE_CLASS(silencedetect);
|
||||
|
||||
static av_cold int init(AVFilterContext *ctx, const char *args)
|
||||
{
|
||||
int ret;
|
||||
SilenceDetectContext *silence = ctx->priv;
|
||||
|
||||
silence->class = &silencedetect_class;
|
||||
av_opt_set_defaults(silence);
|
||||
|
||||
if ((ret = av_set_options_string(silence, args, "=", ":")) < 0)
|
||||
return ret;
|
||||
|
||||
av_opt_free(silence);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static char *get_metadata_val(AVFrame *insamples, const char *key)
|
||||
{
|
||||
AVDictionaryEntry *e = av_dict_get(insamples->metadata, key, NULL, 0);
|
||||
@ -176,7 +160,6 @@ AVFilter avfilter_af_silencedetect = {
|
||||
.name = "silencedetect",
|
||||
.description = NULL_IF_CONFIG_SMALL("Detect silence."),
|
||||
.priv_size = sizeof(SilenceDetectContext),
|
||||
.init = init,
|
||||
.query_formats = query_formats,
|
||||
.inputs = silencedetect_inputs,
|
||||
.outputs = silencedetect_outputs,
|
||||
|
@ -681,6 +681,7 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque
|
||||
!strcmp(filter->filter->name, "format") ||
|
||||
!strcmp(filter->filter->name, "noformat") ||
|
||||
!strcmp(filter->filter->name, "resample") ||
|
||||
!strcmp(filter->filter->name, "silencedetect") ||
|
||||
!strcmp(filter->filter->name, "thumbnail") ||
|
||||
// !strcmp(filter->filter->name, "scale" ) ||
|
||||
0
|
||||
|
Loading…
Reference in New Issue
Block a user