Cyril Mathé [Tue, 23 Jun 2009 07:46:00 +0000 (09:46 +0200)]
libvlc API: Add Marquee Filter to libvlc in video.c
-libvlc_video_get_marquee_option_as_int : get an option int value
-libvlc_video_get_marquee_option_as_string : get an option string value
-libvlc_video_set_marquee_option_as_int : enable, disable or set an int value
-libvlc_video_set_marquee_option_as_string : set a string value to marq
Modified patch from Cyril Mathe <cmathe@actech-innovation.com>
This API implementation is very limitied, as no presistent state is preserved, and settings can only be set when a vout is around. This makes the whole thing very limitating.
Hopefuly we'll get a better implementation over the time.
Erwan Tulou [Sun, 28 Jun 2009 22:22:36 +0000 (00:22 +0200)]
skins2(Windows): fix sporadic vlc hangings at termination
As skins2(Windows) runs in the main thread, special care must be given to playlist/input/vout termination. Up to now, vout threads kept on running with the GUI event loop no longer operational, leading to vlc hangings.
Process key action immediately, kill the hotkey thread
This saves memory, diminishes latency and fixes an unlikely loss of
events if too many actions are sent. This may expose some re-entrancy
bugs, although I did some succesful smoke tests. Any path that emits a
key action or a key press needs to be careful. vout_thread_t.pf_manage
is the most obvious case. That should be safe as the vout thread holds
no locks when in pf_manage. Not sure about OpenGL though.
A small bug with SPU across vout change remains present as before.
Derk-Jan Hartman [Thu, 25 Jun 2009 13:48:25 +0000 (15:48 +0200)]
xspf: Don't nop item->psz_nam
Set the nop at the end of parsing, instead of the beginning, because SetURI will only init the name once. Now we had all media library items with the title "nop".
Derk-Jan Hartman [Thu, 25 Jun 2009 12:21:53 +0000 (14:21 +0200)]
xspf: Fix a crash on track elements without a location
A <track> can have 0 or more <location> elements. VLC doesn't like elements without a uri however, so init an element with vlc://nop. Note also that we currently only support 1 location element per track....
Derk-Jan Hartman [Wed, 24 Jun 2009 14:22:29 +0000 (16:22 +0200)]
input_item_SetURI(): add a NDEBUG printf check for paths.
When it is called with strings that contain " " or '\' or don't have ://, we have an indication that the caller is likely providing a path. This will help us find these cases in the future.
Ilkka Ollakka [Wed, 24 Jun 2009 13:52:36 +0000 (16:52 +0300)]
Improve x11 xinerama fullscreen window placement
Select fullscreen display the one that has most of the video-window,
then you get qt4 fullscreencontroller on same display also, and it's
more logical (imo). Algorithm is prettymuch the same as Nigel Tao has
made in his gpl2 project superswitcher, Didn't want to reinvent this
with different variable-names ;)
Erwan Tulou [Tue, 23 Jun 2009 21:30:01 +0000 (23:30 +0200)]
skins2: solve crashes due to releasing variables at termination
skins was using two lists of variables (named and anonymous).
The problem was that variables from one list held references to variables from the other list and vice-versa. Whatever the order of releasing them, crashes could occur.
This patch uses the anonymous list to keep a reference on **all** variables.
This guarantees they are released in the reverse order from creation.
Rafaël Carré [Tue, 23 Jun 2009 19:27:42 +0000 (21:27 +0200)]
Assume input_item_t->psz_uri contains an URI
, like the name indicates.
Pass unmodified URIs from xspf to vlc, and stores them in xspf
unmodified as well
This commit partly reverts [9a746cfa3078c53eed57d2102002b39c283c6ab4]
Code using psz_uri should be checked for consistency, and GUIs might want to decode components at display
Erwan Tulou [Mon, 22 Jun 2009 21:24:51 +0000 (23:24 +0200)]
skins2: ensure the new SubX default skins doesn't crash on exit
SubX crashed on both Linux and Windows in a set::erase call (STL) when releasing C++ objects. Swapping two loops solved it. (the second loop was referencing variables released in the first loop). This makes SubX terminate nicely, but doesn't solve all crashes for skins2. (more cleanup to do)