libvlc_MediaParsedChanged,
libvlc_MediaFreed,
libvlc_MediaStateChanged,
+ libvlc_MediaSubItemTreeAdded,
libvlc_MediaPlayerMediaChanged=0x100,
libvlc_MediaPlayerNothingSpecial,
{
libvlc_state_t new_state;
} media_state_changed;
+ struct
+ {
+ libvlc_media_t * item;
+ } media_subitemtree_added;
/* media instance */
struct
libvlc_media_release( p_md_child );
}
+/**************************************************************************
+ * input_item_subitemtree_added (Private) (vlc event Callback)
+ **************************************************************************/
+static void input_item_subitemtree_added( const vlc_event_t * p_event,
+ void * user_data )
+{
+ libvlc_media_t * p_md = user_data;
+ libvlc_event_t event;
+
+ /* Construct the event */
+ event.type = libvlc_MediaSubItemTreeAdded;
+ event.u.media_subitemtree_added.item = p_md;
+
+ /* Send the event */
+ libvlc_event_send( p_md->p_event_manager, &event );
+}
+
/**************************************************************************
* input_item_meta_changed (Private) (vlc event Callback)
**************************************************************************/
vlc_InputItemPreparsedChanged,
input_item_preparsed_changed,
p_md );
+ vlc_event_attach( &p_md->p_input_item->event_manager,
+ vlc_InputItemSubItemTreeAdded,
+ input_item_subitemtree_added,
+ p_md );
}
/**************************************************************************
vlc_InputItemPreparsedChanged,
input_item_preparsed_changed,
p_md );
+ vlc_event_detach( &p_md->p_input_item->event_manager,
+ vlc_InputItemSubItemTreeAdded,
+ input_item_subitemtree_added,
+ p_md );
}
/**************************************************************************
libvlc_event_manager_register_event_type(em, libvlc_MediaDurationChanged);
libvlc_event_manager_register_event_type(em, libvlc_MediaStateChanged);
libvlc_event_manager_register_event_type(em, libvlc_MediaParsedChanged);
+ libvlc_event_manager_register_event_type(em, libvlc_MediaSubItemTreeAdded);
vlc_gc_incref( p_md->p_input_item );