Merge commit '1ba95a9cca57b023b9b9de071a5671fc05b05e58'
* commit '1ba95a9cca57b023b9b9de071a5671fc05b05e58': lavfi: add avfilter_init_dict() for initializing a filter with a dict. Conflicts: libavfilter/avfilter.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -688,6 +688,28 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque
|
||||
}
|
||||
#endif
|
||||
|
||||
int avfilter_init_dict(AVFilterContext *ctx, AVDictionary **options)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
if (ctx->filter->priv_class) {
|
||||
ret = av_opt_set_dict(ctx->priv, options);
|
||||
if (ret < 0) {
|
||||
av_log(ctx, AV_LOG_ERROR, "Error applying options to the filter.\n");
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->filter->init_opaque)
|
||||
ret = ctx->filter->init_opaque(ctx, NULL);
|
||||
else if (ctx->filter->init)
|
||||
ret = ctx->filter->init(ctx);
|
||||
else if (ctx->filter->init_dict)
|
||||
ret = ctx->filter->init_dict(ctx, options);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int avfilter_init_str(AVFilterContext *filter, const char *args)
|
||||
{
|
||||
AVDictionary *options = NULL;
|
||||
@@ -794,20 +816,7 @@ int avfilter_init_str(AVFilterContext *filter, const char *args)
|
||||
}
|
||||
}
|
||||
|
||||
if (filter->filter->priv_class) {
|
||||
ret = av_opt_set_dict(filter->priv, &options);
|
||||
if (ret < 0) {
|
||||
av_log(filter, AV_LOG_ERROR, "Error applying options to the filter.\n");
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
|
||||
if (filter->filter->init_opaque)
|
||||
ret = filter->filter->init_opaque(filter, NULL);
|
||||
else if (filter->filter->init)
|
||||
ret = filter->filter->init(filter);
|
||||
else if (filter->filter->init_dict)
|
||||
ret = filter->filter->init_dict(filter, &options);
|
||||
ret = avfilter_init_dict(filter, &options);
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user