OSDN Git Service

Allow giving filter instances names, in anticipation of the upcoming
authorVitor Sessak <vitor1001@gmail.com>
Fri, 15 Feb 2008 21:36:33 +0000 (21:36 +0000)
committerVitor Sessak <vitor1001@gmail.com>
Fri, 15 Feb 2008 21:36:33 +0000 (21:36 +0000)
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

libavfilter/avfilter.c

index 51fdec0..dbb3e9d 100644 (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)