[vlc-commits] vout: move and hide vout_EnableFilter()

Thomas Guillem git at videolan.org
Tue Mar 14 14:42:32 CET 2017


vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Tue Mar 14 14:05:14 2017 +0100| [30a61d4fff84cc02448948a45415ebe146fe9f72] | committer: Thomas Guillem

vout: move and hide vout_EnableFilter()

Since it's only used by lib/video.c.

Ref #17761

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=30a61d4fff84cc02448948a45415ebe146fe9f72
---

 include/vlc_vout.h           |  2 -
 lib/video.c                  | 89 ++++++++++++++++++++++++++++++++++++++++++
 src/libvlccore.sym           |  1 -
 src/video_output/vout_intf.c | 92 --------------------------------------------
 4 files changed, 89 insertions(+), 95 deletions(-)

diff --git a/include/vlc_vout.h b/include/vlc_vout.h
index d236d51..a6fb0af 100644
--- a/include/vlc_vout.h
+++ b/include/vlc_vout.h
@@ -170,8 +170,6 @@ VLC_API void vout_PutSubpicture( vout_thread_t *, subpicture_t * );
 VLC_API int vout_RegisterSubpictureChannel( vout_thread_t * );
 VLC_API void vout_FlushSubpictureChannel( vout_thread_t *, int );
 
-VLC_API void vout_EnableFilter( vout_thread_t *, const char *,bool , bool  );
-
 /**@}*/
 
 #endif /* _VLC_VIDEO_H */
diff --git a/lib/video.c b/lib/video.c
index 69c5fb8..a275f72 100644
--- a/lib/video.c
+++ b/lib/video.c
@@ -35,6 +35,7 @@
 #include <vlc/libvlc_media_player.h>
 
 #include <vlc_common.h>
+#include <vlc_modules.h>
 #include <vlc_input.h>
 #include <vlc_vout.h>
 
@@ -657,6 +658,94 @@ void libvlc_video_set_deinterlace( libvlc_media_player_t *p_mi,
 /* module helpers */
 /* ************** */
 
+static void vout_EnableFilter( vout_thread_t *p_vout, const char *psz_name,
+                               bool b_add, bool b_setconfig )
+{
+    char *psz_parser;
+    char *psz_string;
+    const char *psz_filter_type;
+
+    module_t *p_obj = module_find( psz_name );
+    if( !p_obj )
+    {
+        msg_Err( p_vout, "Unable to find filter module \"%s\".", psz_name );
+        return;
+    }
+
+    if( module_provides( p_obj, "video filter" ) )
+    {
+        psz_filter_type = "video-filter";
+    }
+    else if( module_provides( p_obj, "sub source" ) )
+    {
+        psz_filter_type = "sub-source";
+    }
+    else if( module_provides( p_obj, "sub filter" ) )
+    {
+        psz_filter_type = "sub-filter";
+    }
+    else
+    {
+        msg_Err( p_vout, "Unknown video filter type." );
+        return;
+    }
+
+    psz_string = var_GetString( p_vout, psz_filter_type );
+
+    /* Todo : Use some generic chain manipulation functions */
+    if( !psz_string ) psz_string = strdup("");
+
+    psz_parser = strstr( psz_string, psz_name );
+    if( b_add )
+    {
+        if( !psz_parser )
+        {
+            psz_parser = psz_string;
+            if( asprintf( &psz_string, (*psz_string) ? "%s:%s" : "%s%s",
+                          psz_string, psz_name ) == -1 )
+            {
+                free( psz_parser );
+                return;
+            }
+            free( psz_parser );
+        }
+        else
+        {
+            free( psz_string );
+            return;
+        }
+    }
+    else
+    {
+        if( psz_parser )
+        {
+            memmove( psz_parser, psz_parser + strlen(psz_name) +
+                            (*(psz_parser + strlen(psz_name)) == ':' ? 1 : 0 ),
+                            strlen(psz_parser + strlen(psz_name)) + 1 );
+
+            /* Remove trailing : : */
+            if( *(psz_string+strlen(psz_string ) -1 ) == ':' )
+            {
+                *(psz_string+strlen(psz_string ) -1 ) = '\0';
+            }
+         }
+         else
+         {
+             free( psz_string );
+             return;
+         }
+    }
+
+    if( b_setconfig )
+    {
+        config_PutPsz( p_vout, psz_filter_type, psz_string );
+    }
+
+    var_SetString( p_vout, psz_filter_type, psz_string );
+
+    free( psz_string );
+}
+
 static bool find_sub_source_by_name( libvlc_media_player_t *p_mi, const char *restrict name )
 {
     vout_thread_t *vout = GetVout( p_mi, 0 );
diff --git a/src/libvlccore.sym b/src/libvlccore.sym
index 57c8349..8c4d6cd 100644
--- a/src/libvlccore.sym
+++ b/src/libvlccore.sym
@@ -714,7 +714,6 @@ vout_PutPicture
 vout_PutSubpicture
 vout_RegisterSubpictureChannel
 vout_FlushSubpictureChannel
-vout_EnableFilter
 vout_GetSnapshot
 vout_OSDIcon
 vout_OSDMessage
diff --git a/src/video_output/vout_intf.c b/src/video_output/vout_intf.c
index 262da21..b494908 100644
--- a/src/video_output/vout_intf.c
+++ b/src/video_output/vout_intf.c
@@ -439,98 +439,6 @@ exit:
 }
 
 /*****************************************************************************
- * Handle filters
- *****************************************************************************/
-
-void vout_EnableFilter( vout_thread_t *p_vout, const char *psz_name,
-                        bool b_add, bool b_setconfig )
-{
-    char *psz_parser;
-    char *psz_string;
-    const char *psz_filter_type;
-
-    module_t *p_obj = module_find( psz_name );
-    if( !p_obj )
-    {
-        msg_Err( p_vout, "Unable to find filter module \"%s\".", psz_name );
-        return;
-    }
-
-    if( module_provides( p_obj, "video filter" ) )
-    {
-        psz_filter_type = "video-filter";
-    }
-    else if( module_provides( p_obj, "sub source" ) )
-    {
-        psz_filter_type = "sub-source";
-    }
-    else if( module_provides( p_obj, "sub filter" ) )
-    {
-        psz_filter_type = "sub-filter";
-    }
-    else
-    {
-        msg_Err( p_vout, "Unknown video filter type." );
-        return;
-    }
-
-    psz_string = var_GetString( p_vout, psz_filter_type );
-
-    /* Todo : Use some generic chain manipulation functions */
-    if( !psz_string ) psz_string = strdup("");
-
-    psz_parser = strstr( psz_string, psz_name );
-    if( b_add )
-    {
-        if( !psz_parser )
-        {
-            psz_parser = psz_string;
-            if( asprintf( &psz_string, (*psz_string) ? "%s:%s" : "%s%s",
-                          psz_string, psz_name ) == -1 )
-            {
-                free( psz_parser );
-                return;
-            }
-            free( psz_parser );
-        }
-        else
-        {
-            free( psz_string );
-            return;
-        }
-    }
-    else
-    {
-        if( psz_parser )
-        {
-            memmove( psz_parser, psz_parser + strlen(psz_name) +
-                            (*(psz_parser + strlen(psz_name)) == ':' ? 1 : 0 ),
-                            strlen(psz_parser + strlen(psz_name)) + 1 );
-
-            /* Remove trailing : : */
-            if( *(psz_string+strlen(psz_string ) -1 ) == ':' )
-            {
-                *(psz_string+strlen(psz_string ) -1 ) = '\0';
-            }
-         }
-         else
-         {
-             free( psz_string );
-             return;
-         }
-    }
-
-    if( b_setconfig )
-    {
-        config_PutPsz( p_vout, psz_filter_type, psz_string );
-    }
-
-    var_SetString( p_vout, psz_filter_type, psz_string );
-
-    free( psz_string );
-}
-
-/*****************************************************************************
  * Object variables callbacks
  *****************************************************************************/
 static int CropCallback( vlc_object_t *object, char const *cmd,



More information about the vlc-commits mailing list