diff --git a/include/vlc_services_discovery.h b/include/vlc_services_discovery.h index 498d3b88bd..6d12272417 100644 --- a/include/vlc_services_discovery.h +++ b/include/vlc_services_discovery.h @@ -42,7 +42,7 @@ extern "C" { struct services_discovery_callbacks { void (*item_added)(struct services_discovery_t *sd, input_item_t *parent, - input_item_t *item, const char *category); + input_item_t *item); void (*item_removed)(struct services_discovery_t *sd, input_item_t *item); }; @@ -163,7 +163,7 @@ VLC_API void vlc_sd_Destroy( services_discovery_t * ); static inline void services_discovery_AddItem(services_discovery_t *sd, input_item_t *item) { - sd->owner.cbs->item_added(sd, NULL, item, NULL); + sd->owner.cbs->item_added(sd, NULL, item); } /** @@ -188,23 +188,7 @@ static inline void services_discovery_AddSubItem(services_discovery_t *sd, input_item_t *parent, input_item_t *item) { - sd->owner.cbs->item_added(sd, parent, item, NULL); -} - -/** - * Added service backward compatibility callback. - * - * @param sd the service discovery instance exposing the item - * @param item the item to expose from the service - * @param category Optional name of a group that the item belongs in - * (for backward compatibility with legacy modules) - */ -VLC_DEPRECATED -static inline void services_discovery_AddItemCat(services_discovery_t *sd, - input_item_t *item, - const char *category) -{ - sd->owner.cbs->item_added(sd, NULL, item, category); + sd->owner.cbs->item_added(sd, parent, item); } /** diff --git a/lib/media_discoverer.c b/lib/media_discoverer.c index 1c884403cd..020234d42c 100644 --- a/lib/media_discoverer.c +++ b/lib/media_discoverer.c @@ -44,7 +44,6 @@ struct libvlc_media_discoverer_t libvlc_instance_t * p_libvlc_instance; services_discovery_t * p_sd; libvlc_media_list_t * p_mlist; - vlc_dictionary_t catname_to_submedialist; char name[]; }; @@ -58,8 +57,7 @@ struct libvlc_media_discoverer_t static void services_discovery_item_added( services_discovery_t *sd, input_item_t *parent, - input_item_t *p_item, - const char *psz_cat ) + input_item_t *p_item ) { libvlc_media_t * p_md; libvlc_media_discoverer_t *p_mdis = sd->owner.sys; @@ -67,36 +65,7 @@ static void services_discovery_item_added( services_discovery_t *sd, p_md = libvlc_media_new_from_input_item( p_item ); - if( parent != NULL ) - { - /* Flatten items list for now. TODO: tree support. */ - } - else - /* If we have a category, that mean we have to group the items having - * that category in a media_list. */ - if( psz_cat ) - { - p_mlist = vlc_dictionary_value_for_key( &p_mdis->catname_to_submedialist, psz_cat ); - - if( p_mlist == kVLCDictionaryNotFound ) - { - libvlc_media_t * p_catmd; - p_catmd = libvlc_media_new_as_node( psz_cat ); - p_mlist = libvlc_media_subitems( p_catmd ); - - /* Insert the newly created mlist in our dictionary */ - vlc_dictionary_insert( &p_mdis->catname_to_submedialist, psz_cat, p_mlist ); - - /* Insert the md into the root list */ - libvlc_media_list_lock( p_mdis->p_mlist ); - libvlc_media_list_internal_add_media( p_mdis->p_mlist, p_catmd ); - libvlc_media_list_unlock( p_mdis->p_mlist ); - - /* We don't release the mlist cause the dictionary - * doesn't retain the object. But we release the md. */ - libvlc_media_release( p_catmd ); - } - } + (void) parent; /* Flatten items list for now. TODO: tree support. */ libvlc_media_list_lock( p_mlist ); libvlc_media_list_internal_add_media( p_mlist, p_md ); @@ -160,8 +129,6 @@ libvlc_media_discoverer_new( libvlc_instance_t * p_inst, const char * psz_name ) p_mdis->p_mlist->b_read_only = true; p_mdis->p_sd = NULL; - vlc_dictionary_init( &p_mdis->catname_to_submedialist, 0 ); - libvlc_retain( p_inst ); strcpy( p_mdis->name, psz_name ); return p_mdis; @@ -213,12 +180,6 @@ libvlc_media_discoverer_stop( libvlc_media_discoverer_t * p_mdis ) /************************************************************************** * release (Public) **************************************************************************/ -static void -MediaListDictValueRelease( void* mlist, void* obj ) -{ - libvlc_media_list_release( mlist ); - (void)obj; -} void libvlc_media_discoverer_release( libvlc_media_discoverer_t * p_mdis ) @@ -228,9 +189,6 @@ libvlc_media_discoverer_release( libvlc_media_discoverer_t * p_mdis ) libvlc_media_list_release( p_mdis->p_mlist ); - vlc_dictionary_clear( &p_mdis->catname_to_submedialist, - MediaListDictValueRelease, NULL ); - libvlc_release( p_mdis->p_libvlc_instance ); free( p_mdis ); diff --git a/src/media_source/media_source.c b/src/media_source/media_source.c index 4e6957440c..c514f847de 100644 --- a/src/media_source/media_source.c +++ b/src/media_source/media_source.c @@ -58,12 +58,8 @@ struct vlc_media_source_provider_t /* A new item has been added to a certain services discovery */ static void services_discovery_item_added(services_discovery_t *sd, - input_item_t *parent, input_item_t *media, - const char *cat) + input_item_t *parent, input_item_t *media) { - assert(!parent || !cat); - VLC_UNUSED(cat); - vlc_media_source_t *ms = sd->owner.sys; vlc_media_tree_t *tree = ms->tree;