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)
Derk-Jan Hartman [Mon, 22 Jun 2009 18:52:53 +0000 (20:52 +0200)]
rotate filter: Avoid a crash
This fixes a DIVIDEBYZERO crash in the rotate filter. Does not seem like the right solution to me, but dionoea should probably look into that, since he wrote most of this filter.
This crash occured with http://streams.videolan.org/issues/HIGNFY%20S25E02%20-%20Part%201.flv
Felix Paul Kühne [Mon, 22 Jun 2009 18:32:03 +0000 (20:32 +0200)]
macosx@core: removed the usage of dyld's 'Library Functions' completely
these are automagically 'replaced by the more efficient 'Dynamic Loader Compatibility Functions.'' as suggested by Apple's documentation. IMO, this should be ported to the 1.0-bugfix branch as it cleanly fixes some 64bit crashes and should improve the performance slightly
Derk-Jan Hartman [Sun, 21 Jun 2009 21:36:05 +0000 (23:36 +0200)]
mac text renderer: Fix a nasty crash in the YUVA renderer
This really fixes #2649
This entire module needs some refinement, but since we are gonna have to dump it for CoreText very soon, there is little point in doing that.