提交 6ae82d1e 编写于 作者: V Vitor Sessak

Allow giving filter instances names, in anticipation of the upcoming

AVFilterGraph structure and related functions.

Commited in SoC by Bobby Bingham on 2007-07-14 19:33:28

Originally committed as revision 11987 to svn://svn.ffmpeg.org/ffmpeg/trunk
上级 1653c11f
......@@ -288,13 +288,14 @@ static const char *filter_name(void *p)
return filter->filter->name;
}
AVFilterContext *avfilter_create(AVFilter *filter)
AVFilterContext *avfilter_create(AVFilter *filter, char *inst_name)
{
AVFilterContext *ret = av_malloc(sizeof(AVFilterContext));
ret->av_class = av_mallocz(sizeof(AVClass));
ret->av_class->item_name = filter_name;
ret->filter = filter;
ret->name = inst_name ? strdup(inst_name) : NULL;
ret->inputs = av_mallocz(sizeof(AVFilterLink*) * pad_count(filter->inputs));
ret->outputs = av_mallocz(sizeof(AVFilterLink*) * pad_count(filter->outputs));
ret->priv = av_mallocz(filter->priv_size);
......@@ -320,6 +321,7 @@ void avfilter_destroy(AVFilterContext *filter)
av_free(filter->outputs[i]);
}
free (filter->name);
av_free(filter->inputs);
av_free(filter->outputs);
av_free(filter->priv);
......@@ -327,12 +329,12 @@ void avfilter_destroy(AVFilterContext *filter)
av_free(filter);
}
AVFilterContext *avfilter_create_by_name(char *name)
AVFilterContext *avfilter_create_by_name(char *name, char *inst_name)
{
AVFilter *filt;
if(!(filt = avfilter_get_by_name(name))) return NULL;
return avfilter_create(filt);
return avfilter_create(filt, inst_name);
}
int avfilter_init_filter(AVFilterContext *filter, const char *args)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册