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
This commit is contained in:
Vitor Sessak 2008-02-15 21:36:33 +00:00
parent 1653c11f23
commit 6ae82d1ec7
1 changed files with 5 additions and 3 deletions

View File

@ -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)