[vlc-devel] [PATCH] - media_list (libvlc api)
brezhoneg1 at yahoo.fr
Sat Nov 22 01:09:16 CET 2008
Please, find here a list of issues that prevent media list (libvlc api)
from working properly. (Mainly things related to
"libvlc_media_list_player_next" function). A patch is provided if that
can help. (Patch tested and working)
The patch corrects the following:
Initialization of "p_instance" was missing, leading msg_Warn to crash.
Check a NULL pointer to prevent crash to occur. (does occur)
Memory problem with memcpy (size is 4-byte too long) (crash)
Missing vlc_media_list_retain for returned value.
(leads to unwanted media_list destruction and crash after some time)
The callback is run by input thread and launches
"libvlc_media_list_player_next". This function tries to clean up the
input thread and start a new one. This leads to a deadlock (input thread
waiting for its own death via vlc_join).
A workaround is to run the callback in a temporary dedicated thread
- functions: "get_next_path" and "set_current_playing_item"
Function "get_next_path" was not fully tested (missing incrementation)
Also, a one-level sublist was taken into account in both "get_next_path"
and "set_current_playing_item" leading to numerous "out-of-sync" errors.
"get_next_path" is changed to take into account multi-level sublists.
"set_current_playing_item" is made simpler to prevent these
- function: "libvlc_media_list_player_next"
An error was raised to signal a normal end of playlist.
This patch creates a new libvlc_MediaListPlayerEndReached event.
(Consistent with media_player)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 10718 bytes
Desc: not available
More information about the vlc-devel