From 866dd6dcc40f3a9bfc601271e390619cc58225ef Mon Sep 17 00:00:00 2001 From: Pierre d'Herbemont Date: Thu, 16 Aug 2007 18:05:43 +0000 Subject: [PATCH] control/media_list.c: Handle libvlc_MediaDescriptorSubItemAdded event. --- src/control/media_list.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/control/media_list.c b/src/control/media_list.c index bf06917334..077b0dafb8 100644 --- a/src/control/media_list.c +++ b/src/control/media_list.c @@ -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 ); } +/************************************************************************** + * 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) * @@ -111,6 +128,10 @@ install_media_descriptor_observer( libvlc_media_list_t * p_mlist, libvlc_MediaDescriptorMetaChanged, media_descriptor_changed, 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, libvlc_MediaDescriptorMetaChanged, media_descriptor_changed, p_mlist, NULL ); + libvlc_event_detach( p_md->p_event_manager, + libvlc_MediaDescriptorSubItemAdded, + media_descriptor_changed, + p_mlist, NULL ); } /************************************************************************** -- 2.39.5