For example, if runing script <user dir>/lua/intf/script.lua, the following paths will be added:
<user dir>/lua/modules/?.lua
<user dir>/lua/intf/modules/?.lua
<share dir>/lua/modules/?.lua
<share dir>/lua/intf/modules/?.lua
If runing script <share dir>/lua/intf/script.lua, the following paths will be added:
<share dir>/lua/modules/?.lua
<share dir>/lua/intf/modules/?.lua
When scanning multiple lua scripts, create a new lua_State for each script. This will prevent data corruption from a previous script affecting subsequent scripts.
Erwan Tulou [Sat, 13 Feb 2010 15:02:45 +0000 (16:02 +0100)]
skins2: fix playlist not displaying cuurent playing item correctly
This patch
- ensure that current playing item is properly detected
- deactivate item changes since it is wrongly implemented
(i_id from input_item_t and playlist_item_t are compared,
which is wrong)
Laurent Aimar [Sat, 13 Feb 2010 12:26:03 +0000 (13:26 +0100)]
Moved out the flac packetizer from the flac decoder.
It simplify the flac decoder code.
It fixes the build of the packetizer when flac is disabled.
It makes the flac packetizer behaviour independant of the flac decoder presence.
Rémi Duraffort [Thu, 11 Feb 2010 09:08:22 +0000 (10:08 +0100)]
Add all bindings as a submodule of the main vlc git tree.
Some basic information about git submodule:
* by default the submodules are not clone
* by default the url for the submodules are git:// and not ssh://, the
developpers must change this (just uncomment the right line in .gitmodules)
to be able to commit to the bindings.
Git commandes:
* git submodule init => intialize the submodules
* git submodule status => status of the submodules
* git submodule update => update all submodules
Jean-Paul Saman [Fri, 5 Feb 2010 13:13:29 +0000 (14:13 +0100)]
libvlc: add mouse events as libvlc_MediaPlayerEvents
The following events have been added:
- MouseButton : mouse button pressed events
- MouseClick : mouse button click event
- MouseMoved : mouse movement event (x,y) absolute against vlc video output window
- MouseObject : object of interest under mouse button for use by video filters (like: logo)
We must delete from the head to the tail, the opposite of the creation
order. This stems from the fact that an stream output object "sees" the
next element, and may try to use it while being deleted.
The crash was easily reproducible with:
vlc --sout-keep --sout '#duplicate{dst=gather:std{mux=ts,dst=/dev/null}}' \
-I oldrc -vv raw_es.mp2
If we just set "fullscreen" on the emitting video output, the fullscreen
mode will not survive a change of video output.
With this hack, the hotkeys interface can handle the request correctly.
On the other hand, the hotkeys can also handle it incorrectly (e.g. if
inside LibVLC). It all comes down to the fact that key actions are per
instance, when most of them should be per-input.
Keep the authoritative fullscreen status on the playlist
This allows the value to be inherited most cleanly across inputs (if
the video output cannot be recycled anyway). This also enables changing
the fullscreen status in absence of video, just like LibVLC does.
"fullscreen" callback: do nothing if value is unchanged
The old video output core assumes that the fullscreen state must be
toggled if the VOUT_FULLSCREEN_CHANGE bit is set. So we need to check
that the target state is not already correct, as the VLC variables core
does NOT do it internally. This commit provides rare exception to the
rule that oldval is useless.
This fixes a whole class of race conditions where two threads try to
change fullscreen status at the same time.
In the video filter case, we now enable fullscreen on all childrens, not
just one. This seems a bit more logical for wall. Without this, toggling
fullscreen would only ever work on the first video output. With this,
things should work great if the different pieces of the wall are on
different video ports, and OK (Alt+Tab is your friend) otherwise.
Do not propagate fullscreen status up the filter chain
This is fundamentally a lock inversion between the parent and child
object variables locks. Interfaces (hotkeys and others) use downward
propagation, so we keep that direction and remove the other direction.
"fullscreen" callback: do nothing if value is unchanged
The old video output core assumes that the fullscreen state must be
toggled if the VOUT_FULLSCREEN_CHANGE bit is set. So we need to check
that the target state is not already correct, as the VLC variables core
does NOT do it internally. This commit provides rare exception to the
rule that oldval is useless.
This fixes a whole class of race conditions where two threads try to
change fullscreen status at the same time.
In the video filter case, we now enable fullscreen on all childrens, not
just one. This seems a bit more logical for wall. Without this, toggling
fullscreen would only ever work on the first video output. With this,
things should work great if the different pieces of the wall are on
different video ports, and OK (Alt+Tab is your friend) otherwise.