]> git.sesse.net Git - vlc/blobdiff - src/control/media_list_player.c
lua/intf: Fix a memleak.
[vlc] / src / control / media_list_player.c
index 10552673d42a2582f4577a72feb0f744ded377db..40b45dba0b70e8cec0662d770da64d24b3e1f080 100644 (file)
@@ -368,6 +368,7 @@ libvlc_media_list_player_is_playing( libvlc_media_list_player_t * p_mlp,
 {
     libvlc_state_t state = libvlc_media_player_get_state( p_mlp->p_mi, p_e );
     return (state == libvlc_Opening) || (state == libvlc_Buffering) ||
+           (state == libvlc_Forward) || (state == libvlc_Backward) ||
            (state == libvlc_Playing);
 }
 
@@ -379,7 +380,7 @@ libvlc_media_list_player_get_state( libvlc_media_list_player_t * p_mlp,
                                     libvlc_exception_t * p_e )
 {
     if( !p_mlp->p_mi )
-        return libvlc_Stopped;
+        return libvlc_Ended;
     return libvlc_media_player_get_state( p_mlp->p_mi, p_e );
 }
 
@@ -434,7 +435,10 @@ void libvlc_media_list_player_stop( libvlc_media_list_player_t * p_mlp,
 {
     if ( p_mlp->p_mi )
     {
-        libvlc_media_player_stop( p_mlp->p_mi, p_e );        
+        /* We are not interested in getting media stop event now */
+        uninstall_media_player_observer( p_mlp );
+        libvlc_media_player_stop( p_mlp->p_mi, p_e );
+        install_media_player_observer( p_mlp );
     }
 
     vlc_mutex_lock( &p_mlp->object_lock );
@@ -448,7 +452,7 @@ void libvlc_media_list_player_stop( libvlc_media_list_player_t * p_mlp,
  **************************************************************************/
 void libvlc_media_list_player_next( libvlc_media_list_player_t * p_mlp,
                                     libvlc_exception_t * p_e )
-{    
+{
     libvlc_media_list_path_t path;
 
     if (! p_mlp->p_mlist )
@@ -456,7 +460,7 @@ void libvlc_media_list_player_next( libvlc_media_list_player_t * p_mlp,
         libvlc_exception_raise( p_e, "No more element to play" );
         return;
     }
-    
+
     libvlc_media_list_lock( p_mlp->p_mlist );
 
     path = get_next_path( p_mlp );
@@ -470,7 +474,7 @@ void libvlc_media_list_player_next( libvlc_media_list_player_t * p_mlp,
     }
 
     set_current_playing_item( p_mlp, path, p_e );
-    
+
     libvlc_media_player_play( p_mlp->p_mi, p_e );
 
     libvlc_media_list_unlock( p_mlp->p_mlist );