Commit 866dd6dc authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

control/media_list.c: Handle libvlc_MediaDescriptorSubItemAdded event.

parent 728d2811
...@@ -98,6 +98,23 @@ media_descriptor_changed( const libvlc_event_t * p_event, void * user_data ) ...@@ -98,6 +98,23 @@ media_descriptor_changed( const libvlc_event_t * p_event, void * user_data )
libvlc_event_send( p_mlist->p_event_manager, &event ); libvlc_event_send( p_mlist->p_event_manager, &event );
} }
/**************************************************************************
* media_descriptor_subitem_added (private) (libvlc Event Callback )
*
* An item (which is a playlist) has gained sub child.
**************************************************************************/
static void
media_descriptor_subitem_added( const libvlc_event_t * p_event, void * user_data )
{
libvlc_media_list_t * p_mlist = user_data;
libvlc_media_descriptor_t * p_new_md;
p_new_md = p_event->u.media_descriptor_subitem_added.new_child;
/* For now, just add the new item to this media list */
libvlc_media_list_add_media_descriptor( p_mlist, p_new_md, NULL );
}
/************************************************************************** /**************************************************************************
* install_media_descriptor_observer (private) * install_media_descriptor_observer (private)
* *
...@@ -111,6 +128,10 @@ install_media_descriptor_observer( libvlc_media_list_t * p_mlist, ...@@ -111,6 +128,10 @@ install_media_descriptor_observer( libvlc_media_list_t * p_mlist,
libvlc_MediaDescriptorMetaChanged, libvlc_MediaDescriptorMetaChanged,
media_descriptor_changed, media_descriptor_changed,
p_mlist, NULL ); p_mlist, NULL );
libvlc_event_attach( p_md->p_event_manager,
libvlc_MediaDescriptorSubItemAdded,
media_descriptor_changed,
p_mlist, NULL );
} }
/************************************************************************** /**************************************************************************
...@@ -126,6 +147,10 @@ uninstall_media_descriptor_observer( libvlc_media_list_t * p_mlist, ...@@ -126,6 +147,10 @@ uninstall_media_descriptor_observer( libvlc_media_list_t * p_mlist,
libvlc_MediaDescriptorMetaChanged, libvlc_MediaDescriptorMetaChanged,
media_descriptor_changed, media_descriptor_changed,
p_mlist, NULL ); p_mlist, NULL );
libvlc_event_detach( p_md->p_event_manager,
libvlc_MediaDescriptorSubItemAdded,
media_descriptor_changed,
p_mlist, NULL );
} }
/************************************************************************** /**************************************************************************
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment