Commit a19fe33c authored by Thomas Guillem's avatar Thomas Guillem

libvlc_media_list_player: fix invalid use of path

The path variable (or current_playing_item_path) can be modified or freed from
an other thread.

Fixes #17312
parent fa8d4332
......@@ -686,13 +686,16 @@ int libvlc_media_list_player_play_item_at_index(libvlc_media_list_player_t * p_m
lock(p_mlp);
libvlc_media_list_path_t path = libvlc_media_list_path_with_root_index(i_index);
set_current_playing_item(p_mlp, path);
libvlc_media_t *p_md = libvlc_media_player_get_media(p_mlp->p_mi);
libvlc_media_player_play(p_mlp->p_mi);
unlock(p_mlp);
if (!p_md)
return -1;
/* Send the next item event */
libvlc_event_t event;
event.type = libvlc_MediaListPlayerNextItemSet;
libvlc_media_t * p_md = libvlc_media_list_item_at_path(p_mlp->p_mlist, path);
event.u.media_list_player_next_item_set.item = p_md;
libvlc_event_send(p_mlp->p_event_manager, &event);
libvlc_media_release(p_md);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment