[vlc-devel] commit: Retain SD name for matching purpose ( Rémi Denis-Courmont )

git version control git at videolan.org
Wed May 20 18:53:50 CEST 2009


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Tue May 19 17:55:47 2009 +0300| [f2955030321e4947bb4dbc80cedc65950d91fd39] | committer: Rémi Denis-Courmont 

Retain SD name for matching purpose

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

 src/playlist/playlist_internal.h  |   16 ++++++++++------
 src/playlist/services_discovery.c |    2 ++
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/playlist/playlist_internal.h b/src/playlist/playlist_internal.h
index 86279f6..cae5b04 100644
--- a/src/playlist/playlist_internal.h
+++ b/src/playlist/playlist_internal.h
@@ -41,6 +41,15 @@
 #include "fetcher.h"
 #include "preparser.h"
 
+typedef struct playlist_services_discovery_support_t {
+    /* the playlist items for category and onelevel */
+    playlist_item_t      *p_cat;
+    playlist_item_t      *p_one;
+    services_discovery_t *p_sd; /**< Loaded service discovery modules */
+    char                 *psz_name;
+} vlc_sd_internal_t;
+
+
 typedef struct playlist_private_t
 {
     playlist_t           public_data;
@@ -50,12 +59,7 @@ typedef struct playlist_private_t
     playlist_item_array_t items_to_delete; /**< Array of items and nodes to
             delete... At the very end. This sucks. */
 
-    struct playlist_services_discovery_support_t {
-        /* the playlist items for category and onelevel */
-        playlist_item_t*    p_cat;
-        playlist_item_t*    p_one;
-        services_discovery_t * p_sd; /**< Loaded service discovery modules */
-    } ** pp_sds;
+    vlc_sd_internal_t   **pp_sds;
     int                   i_sds;   /**< Number of service discovery modules */
     input_thread_t *      p_input;  /**< the input thread associated
                                      * with the current item */
diff --git a/src/playlist/services_discovery.c b/src/playlist/services_discovery.c
index ab69fb5..5cc6f30 100644
--- a/src/playlist/services_discovery.c
+++ b/src/playlist/services_discovery.c
@@ -289,6 +289,7 @@ int playlist_ServicesDiscoveryAdd( playlist_t *p_playlist, const char *psz_modul
     p_sds->p_sd = p_sd;
     p_sds->p_one = p_one;
     p_sds->p_cat = p_cat;
+    p_sds->psz_name = strdup( psz_module );
 
     PL_LOCK;
     TAB_APPEND( pl_priv(p_playlist)->i_sds, pl_priv(p_playlist)->pp_sds, p_sds );
@@ -357,6 +358,7 @@ int playlist_ServicesDiscoveryRemove( playlist_t * p_playlist,
     PL_UNLOCK;
 
     vlc_sd_Destroy( p_sd );
+    free( p_sds->psz_name );
     free( p_sds );
 
     return VLC_SUCCESS;




More information about the vlc-devel mailing list