]> git.sesse.net Git - vlc/commitdiff
Out-of-line __pl_Get and __pl_Release - depend on libvlc_int_t
authorRémi Denis-Courmont <rem@videolan.org>
Sun, 16 Sep 2007 15:29:04 +0000 (15:29 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Sun, 16 Sep 2007 15:29:04 +0000 (15:29 +0000)
include/vlc_playlist.h
src/libvlc.sym
src/playlist/control.c

index 9845fc1ed005b2857301bf0e4dc2bd82b85ae507..63626617cb33ab022ac5610865a35c212d7f8ea3 100644 (file)
@@ -279,14 +279,12 @@ struct playlist_add_t
 #define PL_UNLOCK vlc_object_unlock( 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) )
-static inline playlist_t *__pl_Yield( vlc_object_t *p_this )
-{
-    assert( p_this->p_libvlc->p_playlist );
-    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 );
+
+VLC_EXPORT( void, __pl_Release, ( vlc_object_t * ) );
+#define pl_Release(a) __pl_Release( VLC_OBJECT(a) );
 
 /* Playlist control */
 #define playlist_Play(p) playlist_Control(p,PLAYLIST_PLAY, VLC_FALSE )
index 8522d9c42ba66dd31edb213d6938aadeef94d2aa..66af2385e9914294e36fd68e972b29223678d811 100644 (file)
@@ -226,6 +226,8 @@ playlist_BothAddInput
 playlist_ChildSearchName
 playlist_Clear
 playlist_Control
+__pl_Yield
+__pl_Release
 playlist_DeleteFromInput
 playlist_Export
 playlist_GetPreferredNode
index ee0f1f095a4ddd3ce17be76f6029cdd3e719f298..c0a89c2a10d9b28b07fb1d65cd598dc8cc269f51 100644 (file)
@@ -37,7 +37,23 @@ static void PreparseEnqueueItemSub( playlist_t *, playlist_item_t * );
  * 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;
     int i_result;