Commit a73e4106 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Out-of-line __pl_Get and __pl_Release - depend on libvlc_int_t

parent ac8384de
...@@ -279,14 +279,12 @@ struct playlist_add_t ...@@ -279,14 +279,12 @@ struct playlist_add_t
#define PL_UNLOCK vlc_object_unlock( p_playlist ); #define PL_UNLOCK vlc_object_unlock( p_playlist );
#define pl_Get( a ) a->p_libvlc->p_playlist #define pl_Get( a ) a->p_libvlc->p_playlist
VLC_EXPORT( playlist_t *, __pl_Yield, ( vlc_object_t * ) );
#define pl_Yield( a ) __pl_Yield( VLC_OBJECT(a) ) #define pl_Yield( a ) __pl_Yield( VLC_OBJECT(a) )
static inline playlist_t *__pl_Yield( vlc_object_t *p_this )
{ VLC_EXPORT( void, __pl_Release, ( vlc_object_t * ) );
assert( p_this->p_libvlc->p_playlist ); #define pl_Release(a) __pl_Release( VLC_OBJECT(a) );
vlc_object_yield( p_this->p_libvlc->p_playlist );
return p_this->p_libvlc->p_playlist;
}
#define pl_Release(a) vlc_object_release( a->p_libvlc->p_playlist );
/* Playlist control */ /* Playlist control */
#define playlist_Play(p) playlist_Control(p,PLAYLIST_PLAY, VLC_FALSE ) #define playlist_Play(p) playlist_Control(p,PLAYLIST_PLAY, VLC_FALSE )
......
...@@ -226,6 +226,8 @@ playlist_BothAddInput ...@@ -226,6 +226,8 @@ playlist_BothAddInput
playlist_ChildSearchName playlist_ChildSearchName
playlist_Clear playlist_Clear
playlist_Control playlist_Control
__pl_Yield
__pl_Release
playlist_DeleteFromInput playlist_DeleteFromInput
playlist_Export playlist_Export
playlist_GetPreferredNode playlist_GetPreferredNode
......
...@@ -37,7 +37,23 @@ static void PreparseEnqueueItemSub( playlist_t *, playlist_item_t * ); ...@@ -37,7 +37,23 @@ static void PreparseEnqueueItemSub( playlist_t *, playlist_item_t * );
* Playlist control * Playlist control
*****************************************************************************/ *****************************************************************************/
int playlist_Control( playlist_t * p_playlist, int i_query, vlc_bool_t b_locked, ... ) playlist_t *__pl_Yield( vlc_object_t *p_this )
{
playlist_t *pl = p_this->p_libvlc->p_playlist;
assert( pl != NULL );
vlc_object_yield( pl );
return pl;
}
void __pl_Release( vlc_object_t *p_this )
{
playlist_t *pl = p_this->p_libvlc->p_playlist;
assert( pl != NULL );
vlc_object_release( pl );
}
int playlist_Control( playlist_t * p_playlist, int i_query,
vlc_bool_t b_locked, ... )
{ {
va_list args; va_list args;
int i_result; int i_result;
......
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