[vlc-devel] [PATCH 3/3] filter_chain: add "chain" video filter support

Thomas Guillem thomas at gllm.fr
Fri May 26 16:27:01 CEST 2017


---
 src/misc/filter_chain.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/misc/filter_chain.c b/src/misc/filter_chain.c
index a3b8a512b0..328283d01f 100644
--- a/src/misc/filter_chain.c
+++ b/src/misc/filter_chain.c
@@ -211,8 +211,18 @@ static filter_t *filter_chain_AppendInner( filter_chain_t *chain,
     filter->owner.sys = chain;
 
     assert( capability != NULL );
+    if( name != NULL && filter->b_allow_fmt_out_change )
+    {
+        /* Also probe the "chain" video filter module if the probing of the
+         * requested video filter fails. This module will try to add a video
+         * converter before the requested video filter */
+        char name_chained[strlen(name) + sizeof(",chain")];
+        sprintf( name_chained, "%s,chain", name );
+        filter->p_module = module_need( filter, capability, name_chained, true );
+    }
+    else
+        filter->p_module = module_need( filter, capability, name, name != NULL );
 
-    filter->p_module = module_need( filter, capability, name, name != NULL );
     if( filter->p_module == NULL )
         goto error;
 
-- 
2.11.0



More information about the vlc-devel mailing list