]> git.sesse.net Git - vlc/blobdiff - src/control/playlist.c
playlist: Move more members as private.
[vlc] / src / control / playlist.c
index 4cd0eccc1c9f3588ab8d4a9a8095943578bc6835..e66e4019a419fcaf29952c0c59b652007ce425ef 100644 (file)
@@ -80,7 +80,7 @@ void libvlc_playlist_play( libvlc_instance_t *p_instance, int i_id,
         }
 
         p_item = playlist_ItemGetByInputId( PL, i_id,
-                                            PL->status.p_node );
+                                            PL->p_root_category );
         if( !p_item )
         {
             if( did_lock == 1 )
@@ -92,7 +92,7 @@ void libvlc_playlist_play( libvlc_instance_t *p_instance, int i_id,
         }
 
         playlist_Control( PL, PLAYLIST_VIEWPLAY, pl_Locked,
-                          PL->status.p_node, p_item );
+                          PL->p_root_category, p_item );
         if( did_lock == 1 )
         {
             vlc_object_unlock( PL );
@@ -214,8 +214,6 @@ int libvlc_playlist_get_current_index ( libvlc_instance_t *p_instance,
     VLC_UNUSED(p_e);
 
     assert( PL );
-    if( !PL->status.p_item )
-        return -1;
     return playlist_CurrentId( PL );
 }
 
@@ -239,12 +237,12 @@ libvlc_media_player_t * libvlc_playlist_get_media_player(
 {
     libvlc_media_player_t *p_mi;
     assert( PL );
-
-    vlc_object_lock( PL );
-    if( PL->p_input )
+    input_thread_t * input = playlist_CurrentInput( PL );
+    if( input )
     {
         p_mi = libvlc_media_player_new_from_input_thread(
-                            p_instance, PL->p_input, p_e );
+                            p_instance, input, p_e );
+        vlc_object_release( input );
     }
     else
     {
@@ -252,7 +250,6 @@ libvlc_media_player_t * libvlc_playlist_get_media_player(
         p_mi = NULL;
         libvlc_exception_raise( p_e, "No active input" );
     }
-    vlc_object_unlock( PL );
 
     return p_mi;
 }