Commit def34b91 authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

playlist: de-inline p_input setters.

parent 966feba1
...@@ -203,6 +203,41 @@ static void ObjectGarbageCollector( playlist_t *p_playlist, bool b_force ) ...@@ -203,6 +203,41 @@ static void ObjectGarbageCollector( playlist_t *p_playlist, bool b_force )
vlc_mutex_unlock( &p_playlist->gc_lock ); vlc_mutex_unlock( &p_playlist->gc_lock );
} }
/* Internals */
void playlist_release_current_input( playlist_t * p_playlist )
{
vlc_assert_locked( &p_playlist->object_lock );
if( !p_playlist->p_input ) return;
input_thread_t * p_input = p_playlist->p_input;
p_playlist->p_input = NULL;
/* Release the playlist lock, because we may get stuck
* in vlc_object_release() for some time. */
PL_UNLOCK;
vlc_object_release( p_input );
PL_LOCK;
}
void playlist_set_current_input(
playlist_t * p_playlist, input_thread_t * p_input )
{
vlc_assert_locked( &p_playlist->object_lock );
playlist_release_current_input( p_playlist );
if( p_input )
{
vlc_object_yield( p_input );
p_playlist->p_input = p_input;
}
}
/**
* @}
*/
/** /**
* Main loop * Main loop
* *
......
...@@ -110,36 +110,9 @@ playlist_item_t *playlist_ItemFindFromInputAndRoot( playlist_t *p_playlist, ...@@ -110,36 +110,9 @@ playlist_item_t *playlist_ItemFindFromInputAndRoot( playlist_t *p_playlist,
int playlist_DeleteFromItemId( playlist_t*, int ); int playlist_DeleteFromItemId( playlist_t*, int );
int playlist_ItemDelete ( playlist_item_t * ); int playlist_ItemDelete ( playlist_item_t * );
static inline void playlist_release_current_input( playlist_t * p_playlist ) void playlist_release_current_input( playlist_t * p_playlist );
{ void playlist_set_current_input(
vlc_assert_locked( &p_playlist->object_lock ); playlist_t * p_playlist, input_thread_t * p_input );
if( !p_playlist->p_input ) return;
input_thread_t * p_input = p_playlist->p_input;
p_playlist->p_input = NULL;
/* Release the playlist lock, because we may get stuck
* in vlc_object_release() for some time. */
PL_UNLOCK;
vlc_object_release( p_input );
PL_LOCK;
}
static inline void playlist_set_current_input(
playlist_t * p_playlist, input_thread_t * p_input )
{
vlc_assert_locked( &p_playlist->object_lock );
playlist_release_current_input( p_playlist );
if( p_input )
{
vlc_object_yield( p_input );
p_playlist->p_input = p_input;
}
}
/** /**
* @} * @}
......
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