]> git.sesse.net Git - vlc/blobdiff - src/control/media_discoverer.c
x11: remove unused variables in Control.
[vlc] / src / control / media_discoverer.c
index 5f33b145f9d4c147dbd54a3e002a449d95a7f35b..4615d5f51fdb0f99f0f70c26fde5d614d3b94132 100644 (file)
@@ -174,12 +174,13 @@ libvlc_media_discoverer_new_from_name( libvlc_instance_t * p_inst,
     libvlc_event_manager_register_event_type( p_mdis->p_event_manager,
             libvlc_MediaDiscovererEnded, NULL );
 
-    p_mdis->p_sd = services_discovery_Create( (vlc_object_t*)p_inst->p_libvlc_int, psz_name );
+    p_mdis->p_sd = vlc_sd_Create( (vlc_object_t*)p_inst->p_libvlc_int );
 
     if( !p_mdis->p_sd )
     {
-        free( p_mdis );
+        libvlc_media_list_release( p_mdis->p_mlist );
         libvlc_exception_raise( p_e, "Can't find the services_discovery module named '%s'", psz_name );
+        free( p_mdis );
         return NULL;
     }
 
@@ -200,9 +201,14 @@ libvlc_media_discoverer_new_from_name( libvlc_instance_t * p_inst,
                       services_discovery_ended,
                       p_mdis );
 
-    services_discovery_Start( p_mdis->p_sd );
-
     /* Here we go */
+    if( !vlc_sd_Start( p_mdis->p_sd, psz_name ) )
+    {
+        libvlc_media_list_release( p_mdis->p_mlist );
+        libvlc_exception_raise( p_e, "Can't start the services_discovery module named '%s'", psz_name );
+        free( p_mdis );
+        return NULL;
+    }
 
     return p_mdis;
 }
@@ -216,7 +222,7 @@ libvlc_media_discoverer_release( libvlc_media_discoverer_t * p_mdis )
     int i;
 
     libvlc_media_list_release( p_mdis->p_mlist );
-    services_discovery_Destroy( p_mdis->p_sd );
+    vlc_sd_StopAndDestroy( p_mdis->p_sd );
 
     /* Free catname_to_submedialist and all the mlist */
     char ** all_keys = vlc_dictionary_all_keys( &p_mdis->catname_to_submedialist );
@@ -228,7 +234,8 @@ libvlc_media_discoverer_release( libvlc_media_discoverer_t * p_mdis )
     }
     free( all_keys );
 
-    vlc_dictionary_clear( &p_mdis->catname_to_submedialist );
+    vlc_dictionary_clear( &p_mdis->catname_to_submedialist, NULL, NULL );
+    libvlc_event_manager_release( p_mdis->p_event_manager );
 
     free( p_mdis );
 }