X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcontrol%2Fhierarchical_media_list_view.c;h=d3a4eda0cc57bf73fd898f8ae19c5840d0138dd9;hb=f6498d061b54cd952029df56796d43846904b72f;hp=1b23283988ced991db14980b5f14a627531db9be;hpb=9bc4f8f52b06e6bad53cfb38eb8aab51f524c143;p=vlc diff --git a/src/control/hierarchical_media_list_view.c b/src/control/hierarchical_media_list_view.c index 1b23283988..d3a4eda0cc 100644 --- a/src/control/hierarchical_media_list_view.c +++ b/src/control/hierarchical_media_list_view.c @@ -58,7 +58,7 @@ hierarch_media_list_view_count( libvlc_media_list_view_t * p_mlv, * flat_media_list_view_item_at_index (private) * (called by flat_media_list_view_item_at_index) **************************************************************************/ -static libvlc_media_descriptor_t * +static libvlc_media_t * hierarch_media_list_view_item_at_index( libvlc_media_list_view_t * p_mlv, int index, libvlc_exception_t * p_e ) @@ -75,14 +75,18 @@ hierarch_media_list_view_children_at_index( libvlc_media_list_view_t * p_mlv, int index, libvlc_exception_t * p_e ) { - libvlc_media_descriptor_t * p_md; + libvlc_media_t * p_md; libvlc_media_list_t * p_submlist; + libvlc_media_list_view_t * p_ret; p_md = libvlc_media_list_item_at_index( p_mlv->p_mlist, index, p_e ); if( !p_md ) return NULL; - p_submlist = libvlc_media_descriptor_subitems( p_md, p_e ); - libvlc_media_descriptor_release( p_md ); + p_submlist = libvlc_media_subitems( p_md, p_e ); + libvlc_media_release( p_md ); if( !p_submlist ) return NULL; - return libvlc_media_list_hierarchical_view( p_submlist, p_e ); + p_ret = libvlc_media_list_hierarchical_view( p_submlist, p_e ); + libvlc_media_list_release( p_submlist ); + + return p_ret; } /************************************************************************** @@ -91,7 +95,7 @@ hierarch_media_list_view_children_at_index( libvlc_media_list_view_t * p_mlv, static void media_list_item_added( const libvlc_event_t * p_event, void * user_data ) { - libvlc_media_descriptor_t * p_md; + libvlc_media_t * p_md; libvlc_media_list_view_t * p_mlv = user_data; int index = p_event->u.media_list_item_added.index; p_md = p_event->u.media_list_item_added.item; @@ -100,7 +104,7 @@ media_list_item_added( const libvlc_event_t * p_event, void * user_data ) static void media_list_will_add_item( const libvlc_event_t * p_event, void * user_data ) { - libvlc_media_descriptor_t * p_md; + libvlc_media_t * p_md; libvlc_media_list_view_t * p_mlv = user_data; int index = p_event->u.media_list_will_add_item.index; p_md = p_event->u.media_list_will_add_item.item; @@ -109,7 +113,7 @@ media_list_will_add_item( const libvlc_event_t * p_event, void * user_data ) static void media_list_item_deleted( const libvlc_event_t * p_event, void * user_data ) { - libvlc_media_descriptor_t * p_md; + libvlc_media_t * p_md; libvlc_media_list_view_t * p_mlv = user_data; int index = p_event->u.media_list_item_deleted.index; p_md = p_event->u.media_list_item_deleted.item; @@ -118,7 +122,7 @@ media_list_item_deleted( const libvlc_event_t * p_event, void * user_data ) static void media_list_will_delete_item( const libvlc_event_t * p_event, void * user_data ) { - libvlc_media_descriptor_t * p_md; + libvlc_media_t * p_md; libvlc_media_list_view_t * p_mlv = user_data; int index = p_event->u.media_list_will_delete_item.index; p_md = p_event->u.media_list_will_delete_item.item; @@ -164,6 +168,7 @@ libvlc_media_list_hierarchical_view( libvlc_media_list_t * p_mlist, hierarch_media_list_view_count, hierarch_media_list_view_item_at_index, hierarch_media_list_view_children_at_index, + libvlc_media_list_hierarchical_view, hierarch_media_list_view_release, NULL, p_e );