libvlc_MediaListWillAddItem,
libvlc_MediaListItemDeleted,
libvlc_MediaListWillDeleteItem,
+ libvlc_MediaListEndReached,
libvlc_MediaListViewItemAdded=0x300,
libvlc_MediaListViewWillAddItem,
{
VLC_UNUSED( p_event );
libvlc_media_t * p_md = user_data;
+ libvlc_media_list_t *p_subitems;
libvlc_event_t event;
+ /* notify the media list */
+ p_subitems = media_get_subitems( p_md );
+ if( p_subitems != NULL )
+ {
+ libvlc_media_list_lock( p_subitems );
+ libvlc_media_list_internal_end_reached( p_subitems );
+ libvlc_media_list_unlock( p_subitems );
+ }
+
/* Construct the event */
event.type = libvlc_MediaSubItemTreeAdded;
event.u.media_subitemtree_added.item = p_md;
{
VLC_UNUSED(p_event);
libvlc_media_discoverer_t * p_mdis = user_data;
+ libvlc_media_list_t * p_mlist = p_mdis->p_mlist;
libvlc_event_t event;
+
p_mdis->running = false;
+
+ libvlc_media_list_lock( p_mlist );
+ libvlc_media_list_internal_end_reached( p_mlist );
+ libvlc_media_list_unlock( p_mlist );
+
event.type = libvlc_MediaDiscovererEnded;
libvlc_event_send( p_mdis->p_event_manager, &event );
}
libvlc_event_send( p_mlist->p_event_manager, &event );
}
+/* LibVLC internal */
+void libvlc_media_list_internal_end_reached( libvlc_media_list_t * p_mlist )
+{
+ libvlc_event_t event;
+
+ event.type = libvlc_MediaListEndReached;
+
+ /* Send the event */
+ libvlc_event_send( p_mlist->p_event_manager, &event );
+}
+
/**************************************************************************
* static mlist_is_writable (private)
**************************************************************************/
libvlc_MediaListItemDeleted );
libvlc_event_manager_register_event_type( p_mlist->p_event_manager,
libvlc_MediaListWillDeleteItem );
+ libvlc_event_manager_register_event_type( p_mlist->p_event_manager,
+ libvlc_MediaListEndReached );
vlc_mutex_init( &p_mlist->object_lock );
vlc_mutex_init( &p_mlist->refcount_lock ); // FIXME: spinlock?
int libvlc_media_list_internal_remove_index(
libvlc_media_list_t * p_mlist, int index );
+void libvlc_media_list_internal_end_reached(
+ libvlc_media_list_t * p_mlist );
#endif