- 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;
- }
- p_sd->p_cat = p_cat;
- p_sd->p_one = p_one;
-
- vlc_event_attach( services_discovery_EventManager( p_sd ),
- vlc_ServicesDiscoveryItemAdded,
- playlist_sd_item_added,
- p_one );
-
- vlc_event_attach( services_discovery_EventManager( p_sd ),
- vlc_ServicesDiscoveryItemAdded,
- playlist_sd_item_added,
- p_cat );
-
- vlc_event_attach( services_discovery_EventManager( p_sd ),
- vlc_ServicesDiscoveryItemRemoved,
- playlist_sd_item_removed,
- p_one );
-
- vlc_event_attach( services_discovery_EventManager( p_sd ),
- vlc_ServicesDiscoveryItemRemoved,
- playlist_sd_item_removed,
- p_cat );
-
- services_discovery_Start( p_sd );
-
- PL_LOCK;
- TAB_APPEND( p_playlist->i_sd, p_playlist->pp_sd, p_sd );
- PL_UNLOCK;