From e24ee41ba1d614ef7058f965c40158a5807f602d Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Sat, 16 May 2009 20:18:44 +0300 Subject: [PATCH] playlist_ItemFindFromInputAndRoot: use pointer rather than ID --- src/playlist/item.c | 24 ++++++++++++------------ src/playlist/playlist_internal.h | 4 ++-- src/playlist/services_discovery.c | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/playlist/item.c b/src/playlist/item.c index 19e9799609..9210971ccb 100644 --- a/src/playlist/item.c +++ b/src/playlist/item.c @@ -64,7 +64,7 @@ static void input_item_subitem_added( const vlc_event_t * p_event, * listening using the onelevel and the category representent * (Because of the playlist design) */ p_child_in_category = playlist_ItemFindFromInputAndRoot( - p_playlist, p_child->i_id, + p_playlist, p_child, p_playlist->p_root_category, false /* Only non-node */ ); @@ -72,7 +72,7 @@ static void input_item_subitem_added( const vlc_event_t * p_event, { /* Then, transform to a node if needed */ p_item_in_category = playlist_ItemFindFromInputAndRoot( - p_playlist, p_parent->i_id, + p_playlist, p_parent, p_playlist->p_root_category, false /* Only non-node */ ); if( !p_item_in_category ) @@ -580,14 +580,14 @@ static playlist_item_t *ItemToNode( playlist_t *p_playlist, /** \todo First look if we don't already have it */ p_item_in_category = playlist_ItemFindFromInputAndRoot( - p_playlist, p_item->p_input->i_id, + p_playlist, p_item->p_input, p_playlist->p_root_category, true ); if( p_item_in_category ) { playlist_item_t *p_item_in_one = playlist_ItemFindFromInputAndRoot( - p_playlist, p_item->p_input->i_id, + p_playlist, p_item->p_input, p_playlist->p_root_onelevel, true ); assert( p_item_in_one ); @@ -641,13 +641,13 @@ static playlist_item_t *ItemToNode( playlist_t *p_playlist, * Find an item within a root, given its input id. * * \param p_playlist the playlist object - * \param i_input_id id of the input + * \param p_item the input item * \param p_root root playlist item * \param b_items_only TRUE if we want the item himself * \return the first found item, or NULL if not found */ playlist_item_t *playlist_ItemFindFromInputAndRoot( playlist_t *p_playlist, - int i_input_id, + input_item_t *p_item, playlist_item_t *p_root, bool b_items_only ) { @@ -655,14 +655,14 @@ playlist_item_t *playlist_ItemFindFromInputAndRoot( playlist_t *p_playlist, for( i = 0 ; i< p_root->i_children ; i++ ) { if( ( b_items_only ? p_root->pp_children[i]->i_children == -1 : 1 ) && - p_root->pp_children[i]->p_input->i_id == i_input_id ) + p_root->pp_children[i]->p_input == p_item ) { return p_root->pp_children[i]; } else if( p_root->pp_children[i]->i_children >= 0 ) { playlist_item_t *p_search = - playlist_ItemFindFromInputAndRoot( p_playlist, i_input_id, + playlist_ItemFindFromInputAndRoot( p_playlist, p_item, p_root->pp_children[i], b_items_only ); if( p_search ) return p_search; @@ -731,11 +731,11 @@ int playlist_TreeMove( playlist_t * p_playlist, playlist_item_t *p_item, playlist_item_t *p_node_onelevel; playlist_item_t *p_item_onelevel; p_node_onelevel = playlist_ItemFindFromInputAndRoot( p_playlist, - p_node->p_input->i_id, + p_node->p_input, p_playlist->p_root_onelevel, false ); p_item_onelevel = playlist_ItemFindFromInputAndRoot( p_playlist, - p_item->p_input->i_id, + p_item->p_input, p_playlist->p_root_onelevel, false ); if( p_node_onelevel && p_item_onelevel ) @@ -745,11 +745,11 @@ int playlist_TreeMove( playlist_t * p_playlist, playlist_item_t *p_item, playlist_item_t *p_node_category; playlist_item_t *p_item_category; p_node_category = playlist_ItemFindFromInputAndRoot( p_playlist, - p_node->p_input->i_id, + p_node->p_input, p_playlist->p_root_category, false ); p_item_category = playlist_ItemFindFromInputAndRoot( p_playlist, - p_item->p_input->i_id, + p_item->p_input, p_playlist->p_root_category, false ); if( p_node_category && p_item_category ) diff --git a/src/playlist/playlist_internal.h b/src/playlist/playlist_internal.h index 6a8d0099c4..f7fd544ef9 100644 --- a/src/playlist/playlist_internal.h +++ b/src/playlist/playlist_internal.h @@ -135,8 +135,8 @@ playlist_item_t * playlist_NodeAddInput( playlist_t *, input_item_t *, /* Tree walking */ playlist_item_t *playlist_ItemFindFromInputAndRoot( playlist_t *p_playlist, - int i_input_id, playlist_item_t *p_root, - bool ); + input_item_t *p_input, playlist_item_t *p_root, + bool ); int playlist_DeleteFromInputInParent( playlist_t *, input_item_t *, playlist_item_t *, bool ); diff --git a/src/playlist/services_discovery.c b/src/playlist/services_discovery.c index 54fb294b6f..2baa5453f8 100644 --- a/src/playlist/services_discovery.c +++ b/src/playlist/services_discovery.c @@ -213,7 +213,7 @@ static void playlist_sd_item_removed( const vlc_event_t * p_event, void * user_d * XXX: Why don't we have a function to ensure that in the playlist code ? */ playlist_Lock( p_parent->p_playlist ); p_pl_item = playlist_ItemFindFromInputAndRoot( p_parent->p_playlist, - p_input->i_id, p_parent, false ); + p_input, p_parent, false ); if( p_pl_item && p_pl_item->i_children > -1 ) playlist_NodeDelete( p_parent->p_playlist, p_pl_item, true, false ); -- 2.39.5