diff options
Diffstat (limited to 'libavfilter/avfilter.c')
-rw-r--r-- | libavfilter/avfilter.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 53ca831026..f47ffebc06 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -99,6 +99,8 @@ int avfilter_link(AVFilterContext *src, unsigned srcpad, int avfilter_insert_filter(AVFilterLink *link, AVFilterContext *filt, unsigned in, unsigned out) { + AVFilterFormats *formats; + av_log(NULL, AV_LOG_INFO, "auto-inserting filter '%s'\n", filt->filter->name); @@ -116,10 +118,9 @@ int avfilter_insert_filter(AVFilterLink *link, AVFilterContext *filt, /* if any information on supported colorspaces already exists on the * link, we need to preserve that */ - if(link->out_formats) { - filt->outputs[out]->out_formats = link->out_formats; - link->out_formats = NULL; - } + if((formats = link->out_formats)) + avfilter_formats_changeref(&link->out_formats, + &filt->outputs[out]->out_formats); return 0; } |