]> git.sesse.net Git - vlc/blobdiff - src/control/media_list_player.c
check if media_list_player->media_list is null before locking - fixes #1524
[vlc] / src / control / media_list_player.c
index 7fc516665c9d8989b5111d3366e38716b3759bc2..a1239f8c295d6e9292dacdaaa0f602ec9616aa4d 100644 (file)
@@ -40,6 +40,7 @@ get_next_path( libvlc_media_list_player_t * p_mlp )
     libvlc_media_list_path_t ret;
     libvlc_media_list_t * p_parent_of_playing_item;
     libvlc_media_list_t * p_sublist_of_playing_item;
+
     p_sublist_of_playing_item = libvlc_media_list_sublist_at_path(
                             p_mlp->p_mlist,
                             p_mlp->current_playing_item_path );
@@ -185,6 +186,8 @@ set_current_playing_item( libvlc_media_list_player_t * p_mlp,
                           libvlc_media_list_path_t path,
                           libvlc_exception_t * p_e )
 {
+    VLC_UNUSED(p_e);
+
     libvlc_media_descriptor_t * p_md;
     
     p_md = libvlc_media_list_item_at_path( p_mlp->p_mlist, path ); 
@@ -263,6 +266,8 @@ void libvlc_media_list_player_set_media_instance(
                                      libvlc_media_instance_t * p_mi,
                                      libvlc_exception_t * p_e )
 {
+    VLC_UNUSED(p_e);
+
     vlc_mutex_lock( &p_mlp->object_lock );
 
     if( p_mlp->p_mi )
@@ -338,7 +343,7 @@ void libvlc_media_list_player_pause( libvlc_media_list_player_t * p_mlp,
 /**************************************************************************
  *        is_playing (Public)
  **************************************************************************/
-vlc_bool_t
+int
 libvlc_media_list_player_is_playing( libvlc_media_list_player_t * p_mlp,
                                      libvlc_exception_t * p_e )
 {
@@ -423,6 +428,12 @@ 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 )
+    {
+        libvlc_exception_raise( p_e, "No more element to play" );
+        return;
+    }
     
     libvlc_media_list_lock( p_mlp->p_mlist );