lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().
Since we do not support "standalone" filters not attached to an AVFilterGraph, we should not have a public function to create such filters. In addition that function is horribly named, the action it does cannot be possibly described as "opening" a filter.
This commit is contained in:
parent
38f0c0781a
commit
bc1a985ba0
7 changed files with 83 additions and 20 deletions
|
|
@ -81,12 +81,12 @@ int avfilter_graph_create_filter(AVFilterContext **filt_ctx, AVFilter *filt,
|
|||
{
|
||||
int ret;
|
||||
|
||||
if ((ret = avfilter_open(filt_ctx, filt, name)) < 0)
|
||||
goto fail;
|
||||
*filt_ctx = avfilter_graph_alloc_filter(graph_ctx, filt, name);
|
||||
if (!*filt_ctx)
|
||||
return AVERROR(ENOMEM);
|
||||
if ((ret = avfilter_init_filter(*filt_ctx, args, opaque)) < 0)
|
||||
goto fail;
|
||||
if ((ret = avfilter_graph_add_filter(graph_ctx, *filt_ctx)) < 0)
|
||||
goto fail;
|
||||
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
|
|
@ -96,6 +96,32 @@ fail:
|
|||
return ret;
|
||||
}
|
||||
|
||||
AVFilterContext *avfilter_graph_alloc_filter(AVFilterGraph *graph,
|
||||
const AVFilter *filter,
|
||||
const char *name)
|
||||
{
|
||||
AVFilterContext **filters, *s;
|
||||
|
||||
s = ff_filter_alloc(filter, name);
|
||||
if (!s)
|
||||
return NULL;
|
||||
|
||||
filters = av_realloc(graph->filters, sizeof(*filters) * (graph->nb_filters + 1));
|
||||
if (!filters) {
|
||||
avfilter_free(s);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
graph->filters = filters;
|
||||
graph->filters[graph->nb_filters++] = s;
|
||||
|
||||
#if FF_API_FOO_COUNT
|
||||
graph->filter_count = graph->nb_filters;
|
||||
#endif
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check for the validity of graph.
|
||||
*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue