barrier ();
pl = libvlc_priv (p_this->p_libvlc)->p_playlist;
+
+ assert( pl != p_this /* This does not make sense to yield the playlist
+ using pl_Yield. use vlc_object_yield in this case */ );
+
if (pl)
vlc_object_yield (pl);
return pl;
{
playlist_t *pl = libvlc_priv (p_this->p_libvlc)->p_playlist;
assert( pl != NULL );
+
+ assert( pl != p_this /* The rule is that pl_Release() should act on
+ the same object than pl_Yield() */ );
+
vlc_object_release( pl );
}
va_list args;
int i_result;
va_start( args, b_locked );
- if( !b_locked ) PL_LOCK;
+ PL_LOCK_IF( !b_locked );
i_result = PlaylistVAControl( p_playlist, i_query, args );
va_end( args );
- if( !b_locked ) PL_UNLOCK;
+ PL_UNLOCK_IF( !b_locked );
return i_result;
}