]> git.sesse.net Git - vlc/blobdiff - src/playlist/services_discovery.c
Include assert.h when needed
[vlc] / src / playlist / services_discovery.c
index 80ae946285c067e2725c0f178433657e5a341681..e3e787f9aa8683f46bf20c4edb3aaca0ff0c49f4 100644 (file)
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+#include <assert.h>
+
 #include <vlc/vlc.h>
 #include "vlc_playlist.h"
 #include "vlc_events.h"
@@ -62,6 +67,10 @@ services_discovery_Create ( vlc_object_t * p_super, const char * psz_module_name
             vlc_ServicesDiscoveryItemAdded );
     vlc_event_manager_register_event_type( &p_sd->event_manager,
             vlc_ServicesDiscoveryItemRemoved );
+    vlc_event_manager_register_event_type( &p_sd->event_manager,
+            vlc_ServicesDiscoveryStarted );
+    vlc_event_manager_register_event_type( &p_sd->event_manager,
+            vlc_ServicesDiscoveryEnded );
 
     p_sd->p_module = module_Need( p_sd, "services_discovery", psz_module_name, VLC_TRUE );
 
@@ -180,7 +189,15 @@ services_discovery_RemoveItem ( services_discovery_t * p_sd, input_item_t * p_it
  ***********************************************************************/
 static void RunSD( services_discovery_t *p_sd )
 {
+    vlc_event_t event;
+
+    event.type = vlc_ServicesDiscoveryStarted;
+    vlc_event_send( &p_sd->event_manager, &event );
+
     p_sd->pf_run( p_sd );
+
+    event.type = vlc_ServicesDiscoveryEnded;
+    vlc_event_send( &p_sd->event_manager, &event );
     return;
 }
 
@@ -282,20 +299,10 @@ int playlist_ServicesDiscoveryAdd( playlist_t *p_playlist,  const char *psz_modu
             continue;
 
         char * psz = services_discovery_GetLocalizedName( p_sd );
-        if( psz )
-        {
-            playlist_NodesPairCreate( p_playlist, psz,
-                    &p_cat, &p_one, VLC_FALSE );
-            free( psz );
-        }
-        else
-        {
-            /* No name, just add at the top of the playlist */
-            PL_LOCK;
-            p_cat = p_playlist->p_root_category;
-            p_one = p_playlist->p_root_onelevel;
-            PL_UNLOCK;
-        }
+        assert( psz );
+        playlist_NodesPairCreate( p_playlist, psz,
+                &p_cat, &p_one, VLC_FALSE );
+        free( psz );
 
         vlc_event_attach( services_discovery_EventManager( p_sd ),
                           vlc_ServicesDiscoveryItemAdded,