]> git.sesse.net Git - vlc/commitdiff
Added some additional locking to the media list player playitem functions to prevent...
authorNiles Bindel <zaggal69@gmail.com>
Mon, 24 Aug 2009 20:10:50 +0000 (15:10 -0500)
committerPierre d'Herbemont <pdherbemont@free.fr>
Mon, 24 Aug 2009 22:07:19 +0000 (00:07 +0200)
Signed-off-by: Pierre d'Herbemont <pdherbemont@free.fr>
src/control/media_list_player.c

index 1c917990192d535b0c15523dc66d748f55a6bde3..0f048885ad671662b0d80075918e98933fb694ea 100644 (file)
@@ -502,7 +502,10 @@ libvlc_media_list_player_get_state(libvlc_media_list_player_t * p_mlp, libvlc_ex
 void libvlc_media_list_player_play_item_at_index(libvlc_media_list_player_t * p_mlp, int i_index, libvlc_exception_t * p_e)
 {
     VLC_UNUSED(p_e);
+
+    lock(p_mlp);
     set_current_playing_item(p_mlp, libvlc_media_list_path_with_root_index(i_index));
+    unlock(p_mlp);
 
     /* Send the next item event */
     libvlc_event_t event;
@@ -523,7 +526,11 @@ void libvlc_media_list_player_play_item(libvlc_media_list_player_t * p_mlp, libv
         libvlc_exception_raise(p_e, "No such item in media list");
         return;
     }
+    
+    lock(p_mlp);
     set_current_playing_item(p_mlp, path);
+    unlock(p_mlp);
+    
     libvlc_media_player_play(p_mlp->p_mi, p_e);
 }