]> git.sesse.net Git - vlc/log
vlc
14 years agoUse lua's object syntactic sugar: a.b(a,c,d) => a:b(c,d)
Antoine Cellerier [Sat, 13 Feb 2010 18:23:29 +0000 (19:23 +0100)]
Use lua's object syntactic sugar: a.b(a,c,d) => a:b(c,d)

14 years agouse vlc.input.item() where appropriate
Antoine Cellerier [Sat, 13 Feb 2010 18:20:20 +0000 (19:20 +0100)]
use vlc.input.item() where appropriate

14 years agoUpdate vlc.input doc.
Antoine Cellerier [Sat, 13 Feb 2010 18:11:29 +0000 (19:11 +0100)]
Update vlc.input doc.

14 years agoItem specific information getters are now item object methods.
Antoine Cellerier [Sat, 13 Feb 2010 18:01:21 +0000 (19:01 +0100)]
Item specific information getters are now item object methods.

14 years agoAlso dump item name, uri, duration and es info.
Antoine Cellerier [Sat, 13 Feb 2010 17:57:36 +0000 (18:57 +0100)]
Also dump item name, uri, duration and es info.

14 years agovar_GetChecked and var_SetChecked object auto-cast
Rémi Denis-Courmont [Sat, 13 Feb 2010 17:47:23 +0000 (19:47 +0200)]
var_GetChecked and var_SetChecked object auto-cast

14 years agoRemove libvlc_free
Rémi Denis-Courmont [Sat, 13 Feb 2010 17:03:48 +0000 (19:03 +0200)]
Remove libvlc_free

14 years agoYou shall include <config.h>
Rémi Denis-Courmont [Sat, 13 Feb 2010 16:49:43 +0000 (18:49 +0200)]
You shall include <config.h>

14 years agoCosmetics
Rémi Denis-Courmont [Sat, 13 Feb 2010 16:45:33 +0000 (18:45 +0200)]
Cosmetics

14 years agoskins2: fix proccessing item-change at playlist level
Erwan Tulou [Sat, 13 Feb 2010 17:09:58 +0000 (18:09 +0100)]
skins2: fix proccessing item-change at playlist level

it is needed to pass from input_item_t to playlist_item_t
 for this variable only (others directly provide playlist_item_t)

14 years agoMake sure that the playlist item has been preparsed first (and don't get stuck in...
Antoine Cellerier [Sat, 13 Feb 2010 17:27:05 +0000 (18:27 +0100)]
Make sure that the playlist item has been preparsed first (and don't get stuck in an infinite loop). Note that libs/input.c is a mess and would need to be cleanup before we release 1.1.

14 years agoNew dumpmeta lua interface module to dump a file's meta data on stdout/stderr (I...
Antoine Cellerier [Sat, 13 Feb 2010 16:48:57 +0000 (17:48 +0100)]
New dumpmeta lua interface module to dump a file's meta data on stdout/stderr (I'll let you figure out which one it is). Use as: vlc -I lua --lua-intf dumpmeta filename.mp3

14 years agoRemove the old form of variable variable
Rémi Denis-Courmont [Sat, 13 Feb 2010 16:23:08 +0000 (18:23 +0200)]
Remove the old form of variable variable

This is not used. The VLC_VAR_VARIABLE type is used by "navigation" only
in a different way (basically, it is a string).

14 years agoVariable choice names are in psz_string, not var.psz_name
Rémi Denis-Courmont [Sat, 13 Feb 2010 16:17:44 +0000 (18:17 +0200)]
Variable choice names are in psz_string, not var.psz_name

(Fortunately, both corresponded to the same location.)

14 years agoMake mouse-moved a void variable
Rémi Denis-Courmont [Sat, 13 Feb 2010 16:02:14 +0000 (18:02 +0200)]
Make mouse-moved a void variable

14 years agoskins2: remove dead code
Erwan Tulou [Sat, 13 Feb 2010 15:46:08 +0000 (16:46 +0100)]
skins2: remove dead code

14 years agoAdd lua wrapper for memory stream constructor.
Antoine Cellerier [Sat, 13 Feb 2010 14:31:39 +0000 (15:31 +0100)]
Add lua wrapper for memory stream constructor.

14 years agoRemove trailing spaces.
Antoine Cellerier [Sat, 13 Feb 2010 14:22:30 +0000 (15:22 +0100)]
Remove trailing spaces.

14 years agoAdd a simplexml lua module to parse an xml into a table.
Antoine Cellerier [Sat, 13 Feb 2010 14:16:10 +0000 (15:16 +0100)]
Add a simplexml lua module to parse an xml into a table.

14 years agoExport vlc's xml api.
Antoine Cellerier [Sat, 13 Feb 2010 13:54:04 +0000 (14:54 +0100)]
Export vlc's xml api.

14 years agoMove sandbox lua module to global modules directory.
Antoine Cellerier [Sat, 13 Feb 2010 13:21:38 +0000 (14:21 +0100)]
Move sandbox lua module to global modules directory.

14 years agoSetup lua module search path
Antoine Cellerier [Sat, 13 Feb 2010 13:14:04 +0000 (14:14 +0100)]
Setup lua module search path

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

14 years agoWhen scanning multiple lua scripts, create a new lua_State for each script. This...
Antoine Cellerier [Sat, 13 Feb 2010 13:07:30 +0000 (14:07 +0100)]
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.

14 years agoskins2: fix playlist not displaying cuurent playing item correctly
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)

14 years agoskins2: add support for tracking current playing item correctly
Erwan Tulou [Sat, 13 Feb 2010 10:43:50 +0000 (11:43 +0100)]
skins2: add support for tracking current playing item correctly

14 years agopulseaudio: disable pa_stream_drain on close
Ilkka Ollakka [Sat, 13 Feb 2010 14:50:14 +0000 (16:50 +0200)]
pulseaudio: disable pa_stream_drain on close

I didn't find any reason to do it, and it slows closing quite a lot,
if you know why we should do that, please speak up etc.

14 years agoQt4: add extended Latin-1 and a few multimedia keys, binary search
Rémi Denis-Courmont [Sat, 13 Feb 2010 14:05:32 +0000 (16:05 +0200)]
Qt4: add extended Latin-1 and a few multimedia keys, binary search

14 years agoBe more strict in flac SyncInfo checks.
Laurent Aimar [Sat, 13 Feb 2010 14:10:50 +0000 (15:10 +0100)]
Be more strict in flac SyncInfo checks.

14 years agoDo not loose pts on stream properties changes.
Laurent Aimar [Sat, 13 Feb 2010 13:37:52 +0000 (14:37 +0100)]
Do not loose pts on stream properties changes.

It closes #2349.

14 years agoFixed a few errors in flac packetizer.
Laurent Aimar [Sat, 13 Feb 2010 13:25:56 +0000 (14:25 +0100)]
Fixed a few errors in flac packetizer.

14 years agoMoved out the flac packetizer from the flac decoder.
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.

14 years agoplaylist: sizeof -> strlen
Jakob Leben [Sat, 13 Feb 2010 10:02:19 +0000 (11:02 +0100)]
playlist: sizeof -> strlen

14 years agoQt: it's Qt::Key_Backspace not Qt::Key_Back
Jakob Leben [Sat, 13 Feb 2010 10:00:21 +0000 (11:00 +0100)]
Qt: it's Qt::Key_Backspace not Qt::Key_Back

14 years agoeventfd: set close-on-exec flag
Rémi Denis-Courmont [Sat, 13 Feb 2010 13:18:10 +0000 (15:18 +0200)]
eventfd: set close-on-exec flag

14 years agospu_Create: attach object before calling var_Inherit
Rémi Denis-Courmont [Sat, 13 Feb 2010 09:53:18 +0000 (11:53 +0200)]
spu_Create: attach object before calling var_Inherit

14 years agodemux_PacketizerNew: missing object attachment
Rémi Denis-Courmont [Sat, 13 Feb 2010 09:50:19 +0000 (11:50 +0200)]
demux_PacketizerNew: missing object attachment

14 years agoQt: ooops, fix deleting playlist items by key press
Jakob Leben [Fri, 12 Feb 2010 20:35:18 +0000 (21:35 +0100)]
Qt: ooops, fix deleting playlist items by key press

14 years agoplaylist: use md5 hash for caching downloaded art by download URL
Jakob Leben [Fri, 12 Feb 2010 18:45:02 +0000 (19:45 +0100)]
playlist: use md5 hash for caching downloaded art by download URL

14 years agoVLCExtensionsManager: Work around libvlccore changes for our nasty hack.
Pierre d'Herbemont [Fri, 12 Feb 2010 17:12:56 +0000 (18:12 +0100)]
VLCExtensionsManager: Work around libvlccore changes for our nasty hack.

14 years agomacosx/framework: Added [VLCMediaList initWithArray:] method
Emmanuel de Roux [Fri, 12 Feb 2010 16:41:41 +0000 (17:41 +0100)]
macosx/framework: Added [VLCMediaList initWithArray:] method

Signed-off-by: Pierre d'Herbemont <pdherbemont@free.fr>
14 years agomacosx/framework: Simplify the Pre-Compile.sh script.
Pierre d'Herbemont [Fri, 12 Feb 2010 17:03:43 +0000 (18:03 +0100)]
macosx/framework: Simplify the Pre-Compile.sh script.

14 years agoactivex: simplify test.html
Jean-Paul Saman [Fri, 12 Feb 2010 10:46:09 +0000 (11:46 +0100)]
activex: simplify test.html

14 years agoactivex: implement JS Events
Jean-Paul Saman [Thu, 11 Feb 2010 14:01:52 +0000 (15:01 +0100)]
activex: implement JS Events

14 years agoactivex: fix compilation
Jean-Paul Saman [Thu, 11 Feb 2010 13:41:41 +0000 (14:41 +0100)]
activex: fix compilation

14 years agoQt: playlist panel: search behavior + layout enhancements
Jakob Leben [Fri, 12 Feb 2010 10:43:06 +0000 (11:43 +0100)]
Qt: playlist panel: search behavior + layout enhancements

- keep root index of views when searching
- clear search when browsing or changing view
- layout and geometry fine tuning

14 years agoplaylist: allow non-recursive search
Jakob Leben [Fri, 12 Feb 2010 10:42:12 +0000 (11:42 +0100)]
playlist: allow non-recursive search

14 years agoQt: enable drag'n'dropping in listView
Jakob Leben [Fri, 12 Feb 2010 02:26:30 +0000 (03:26 +0100)]
Qt: enable drag'n'dropping in listView

14 years agoQt: iconView: draw artwork as big as its aspect ratio allows
Jakob Leben [Fri, 12 Feb 2010 01:53:05 +0000 (02:53 +0100)]
Qt: iconView: draw artwork as big as its aspect ratio allows

14 years agoplaylist: cache artwork by download URL instead of title when artist and album meta...
Jakob Leben [Fri, 12 Feb 2010 00:25:13 +0000 (01:25 +0100)]
playlist: cache artwork by download URL instead of title when artist and album meta missing

Performs much better.
URL is sanitized by filename_sanitize() just as title before.

14 years agoDo not include input_internal.h in vlm code.
Laurent Aimar [Thu, 11 Feb 2010 20:46:07 +0000 (21:46 +0100)]
Do not include input_internal.h in vlm code.

14 years agoSet a non compressed format in aes3 decoder at open.
Laurent Aimar [Wed, 10 Feb 2010 23:06:26 +0000 (00:06 +0100)]
Set a non compressed format in aes3 decoder at open.

14 years agoUsed var_Inherit in mms access.
Laurent Aimar [Wed, 10 Feb 2010 22:06:06 +0000 (23:06 +0100)]
Used var_Inherit in mms access.

14 years agoFixed invalid var_Create type in mmsh.
Laurent Aimar [Wed, 10 Feb 2010 22:02:41 +0000 (23:02 +0100)]
Fixed invalid var_Create type in mmsh.

14 years agoRemoved debug left-over in mp4 demuxer.
Laurent Aimar [Wed, 10 Feb 2010 21:45:37 +0000 (22:45 +0100)]
Removed debug left-over in mp4 demuxer.

14 years agoFixed NAL AUD handling in h264 packetizer.
Laurent Aimar [Tue, 9 Feb 2010 19:57:45 +0000 (20:57 +0100)]
Fixed NAL AUD handling in h264 packetizer.

14 years agomacosx: Fix compilation.
Pierre d'Herbemont [Thu, 11 Feb 2010 19:35:24 +0000 (20:35 +0100)]
macosx: Fix compilation.

14 years agovlm: Remove the callback before joining the thread, and save a dead lock.
Pierre d'Herbemont [Thu, 11 Feb 2010 19:34:30 +0000 (20:34 +0100)]
vlm: Remove the callback before joining the thread, and save a dead lock.

14 years agoOops, sed isn't always enough.
Antoine Cellerier [Thu, 11 Feb 2010 19:01:13 +0000 (20:01 +0100)]
Oops, sed isn't always enough.

14 years agovlm: Avoid a deadlock when stoping the input.
Pierre d'Herbemont [Thu, 11 Feb 2010 17:11:24 +0000 (18:11 +0100)]
vlm: Avoid a deadlock when stoping the input.

We may be joining the input_thread inside the vlm lock, and try to vlm lock inside the stop event handler.

14 years agompeg4video: Fix leaked fmt_out.p_extra.
Pierre d'Herbemont [Thu, 11 Feb 2010 16:27:47 +0000 (17:27 +0100)]
mpeg4video: Fix leaked fmt_out.p_extra.

14 years agoContribs: gsm: install gsm.h in include/gsm to follow ffmpeg 21659.
Konstantin Pavlov [Thu, 11 Feb 2010 18:09:19 +0000 (18:09 +0000)]
Contribs: gsm: install gsm.h in include/gsm to follow ffmpeg 21659.

14 years agoContribs: fluidsynth: explicitely disable readline.
Konstantin Pavlov [Thu, 11 Feb 2010 18:07:49 +0000 (18:07 +0000)]
Contribs: fluidsynth: explicitely disable readline.

14 years agoAdd forgotten slash.
Konstantin Pavlov [Thu, 11 Feb 2010 17:55:09 +0000 (20:55 +0300)]
Add forgotten slash.

14 years agoQt: add a list view
Jakob Leben [Thu, 11 Feb 2010 02:37:58 +0000 (03:37 +0100)]
Qt: add a list view

14 years agomediadirs: cleanup
Erwan Tulou [Thu, 11 Feb 2010 16:36:58 +0000 (17:36 +0100)]
mediadirs: cleanup

prefer more uri-friendly file://dir_path to dir://dir_path

14 years agocore: use make_path in subtile_Detect
Erwan Tulou [Thu, 11 Feb 2010 16:21:34 +0000 (17:21 +0100)]
core: use make_path in subtile_Detect

this also solves uri alteration on Windows (recent regression)

14 years agocore: debug make_path for windows
Erwan Tulou [Thu, 11 Feb 2010 16:18:33 +0000 (17:18 +0100)]
core: debug make_path for windows

   - infinite loop and typo fixed
   - remove leading slash forgotten

14 years agolibvlc_video_get_cursor: get the current mouse video coordinates
Rémi Denis-Courmont [Thu, 11 Feb 2010 16:26:54 +0000 (18:26 +0200)]
libvlc_video_get_cursor: get the current mouse video coordinates

14 years agodbus: correctly reference current input
Rafaël Carré [Thu, 11 Feb 2010 15:45:16 +0000 (16:45 +0100)]
dbus: correctly reference current input

14 years agolive555 : send the scale again after a pause. It avoids to fallback to 1.0 speed...
Sébastien Escudier [Wed, 18 Nov 2009 08:08:16 +0000 (09:08 +0100)]
live555 : send the scale again after a pause. It avoids to fallback to 1.0 speed when we unpause a RTSP stream.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
14 years agodvbsub: remove dummy test (already check then dereference before).
Rémi Duraffort [Thu, 11 Feb 2010 15:00:49 +0000 (16:00 +0100)]
dvbsub: remove dummy test (already check then dereference before).

14 years agolua: fix object leak.
Rémi Duraffort [Thu, 11 Feb 2010 14:45:19 +0000 (15:45 +0100)]
lua: fix object leak.

14 years agoRemote urls should be changed directly in the submodule's .git/config file.
Antoine Cellerier [Thu, 11 Feb 2010 14:36:57 +0000 (15:36 +0100)]
Remote urls should be changed directly in the submodule's .git/config file.

14 years agoDefault to rebase on submodule updates to prevent losing local changes.
Antoine Cellerier [Thu, 11 Feb 2010 14:28:45 +0000 (15:28 +0100)]
Default to rebase on submodule updates to prevent losing local changes.

14 years agodirac: fix invalid test (found with coccinelle static analyzer).
Rémi Duraffort [Thu, 11 Feb 2010 11:42:08 +0000 (12:42 +0100)]
dirac: fix invalid test (found with coccinelle static analyzer).

14 years agoAdd all bindings as a submodule of the main vlc git tree.
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

14 years agoRemove the python bindings. The python bindings is now autogenerated.
Rémi Duraffort [Thu, 11 Feb 2010 09:01:40 +0000 (10:01 +0100)]
Remove the python bindings. The python bindings is now autogenerated.

The autogenerated python bindings is now hosted in a specific git directory at:
git.videolan.org/vlc/bindings/python.git.

14 years agoUntested windows compile fix.
Antoine Cellerier [Thu, 11 Feb 2010 11:47:28 +0000 (12:47 +0100)]
Untested windows compile fix.

14 years agomacosx/framework: Embbed the plugin cache as well.
Pierre d'Herbemont [Thu, 11 Feb 2010 10:40:39 +0000 (11:40 +0100)]
macosx/framework: Embbed the plugin cache as well.

Cool speedup when launching the client the first time!

14 years agomacosx/framework: Try to clean up a little bit the now very messy Pre-Compile.sh...
Pierre d'Herbemont [Thu, 11 Feb 2010 10:39:13 +0000 (11:39 +0100)]
macosx/framework: Try to clean up a little bit the now very messy Pre-Compile.sh script file.

14 years agomozilla: cleanup
Jean-Paul Saman [Thu, 11 Feb 2010 10:06:00 +0000 (11:06 +0100)]
mozilla: cleanup

14 years agoactivex: remove libvlc_exceptions and adapt to recent libvlc changes
Jean-Paul Saman [Tue, 9 Feb 2010 12:07:02 +0000 (13:07 +0100)]
activex: remove libvlc_exceptions and adapt to recent libvlc changes

The libvlc_exceptions have been removed from libvlc.
The libvlc audio functions prototypes have changed.

14 years agologo: inform listeners when picture has been moved
Jean-Paul Saman [Fri, 5 Feb 2010 13:14:25 +0000 (14:14 +0100)]
logo: inform listeners when picture has been moved

14 years agolibvlc: add mouse events as libvlc_MediaPlayerEvents
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)

14 years agomozilla: sanity checks
Jean-Paul Saman [Sun, 7 Feb 2010 13:43:46 +0000 (14:43 +0100)]
mozilla: sanity checks

14 years agolibvlc: fix doxygen documentation.
Rémi Duraffort [Thu, 11 Feb 2010 08:26:40 +0000 (09:26 +0100)]
libvlc: fix doxygen documentation.

14 years agolibvlc: fix doxygen documentation
Rémi Duraffort [Wed, 10 Feb 2010 15:45:19 +0000 (16:45 +0100)]
libvlc: fix doxygen documentation

For the sake of the libvlc users please try to take care of the doxygen documention.

14 years agoRTMP: Don't trust the length given by the stream
Christophe Mutricy [Wed, 10 Feb 2010 23:31:56 +0000 (23:31 +0000)]
RTMP: Don't trust the length given by the stream

and fix a null-dereference

Test url: rtmp://cp31335.live.edgefcs.net/live/ (no longer crash but doesn't work)

14 years agoUse X_LIBS when using -lX11
Christophe Mutricy [Wed, 10 Feb 2010 22:41:30 +0000 (22:41 +0000)]
Use X_LIBS when using -lX11

For odd Xlib installations

14 years agoHildon needs X11
Christophe Mutricy [Wed, 10 Feb 2010 22:18:06 +0000 (22:18 +0000)]
Hildon needs X11

Needed for XGetWindowAttributes() and XSelectInput()

14 years agoDocument the move of the module cache
Christophe Mutricy [Wed, 3 Feb 2010 20:50:56 +0000 (20:50 +0000)]
Document the move of the module cache

14 years agoFix compilation
Christophe Mutricy [Wed, 10 Feb 2010 22:17:14 +0000 (22:17 +0000)]
Fix compilation

Half-tested

14 years agoplaylist: append input subitems to the end of parent item
Jakob Leben [Wed, 10 Feb 2010 23:24:30 +0000 (00:24 +0100)]
playlist: append input subitems to the end of parent item

14 years agosout_StreamChainDelete: iterative implementation
Rémi Denis-Courmont [Wed, 10 Feb 2010 20:54:02 +0000 (22:54 +0200)]
sout_StreamChainDelete: iterative implementation

14 years agofix seg'faulty sout_StreamChainDelete ordering
Rémi Denis-Courmont [Wed, 10 Feb 2010 20:40:51 +0000 (22:40 +0200)]
fix seg'faulty sout_StreamChainDelete ordering

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

14 years agoFix ncurses compilation. (testing compilation before commiting changes would be nice...
Antoine Cellerier [Wed, 10 Feb 2010 19:47:38 +0000 (20:47 +0100)]
Fix ncurses compilation. (testing compilation before commiting changes would be nice, especially when it's buildable on your platform)

14 years agoFix skins2 compilation.
Antoine Cellerier [Wed, 10 Feb 2010 19:45:39 +0000 (20:45 +0100)]
Fix skins2 compilation.

14 years agoUse the normal vlm lock to protect access to the condition variable.
Antoine Cellerier [Wed, 10 Feb 2010 19:40:57 +0000 (20:40 +0100)]
Use the normal vlm lock to protect access to the condition variable.

14 years agoChange filename_sanitize() to work on original string like path_sanitize().
Antoine Cellerier [Wed, 10 Feb 2010 19:38:38 +0000 (20:38 +0100)]
Change filename_sanitize() to work on original string like path_sanitize().

14 years agoEmit a fullscreen toggle action on double click
Rémi Denis-Courmont [Wed, 10 Feb 2010 18:17:31 +0000 (20:17 +0200)]
Emit a fullscreen toggle action on double click

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.