Since input_clock_t cannot be created/used from plugins, the extra
functionality of input_DecoderNew() from the new input_DecodeCreate()
is not interesting in plugins.
(Yes, I know I suck as function names)
This still requires input resources. But that should not be a problem
as the needed functions are already exposed (for libvlc).
Statistics, subpictures and input events do not work when a decoder is
created in this manner.
The high level object must at least live as long as the input_resource,
I used playlist, vlm or libvlc_media_player.
It avoids invalid reparent of the vout, aout and sout on input changes.
It breaks support for per input options used for creating vout, aout
and sout (:sout= is not impacted). I will fix the vout case.
It breaks invalid usages of vlc_object_find(INPUT, PARENT) used
at least by :
- the sout modules describe and display.
- the sout statistics.
- the vout splitter change
- the snapshot vout display.
I will fix the vout related ones.
This follows the historical LibVLC semantic (and new --rate one), so
bigger is faster. In the process, simplify a few code paths, especially
those in LibVLC, but make many other code paths more complicated due to
integer<->float conversion. Most of those paths could probably be
simplified.
* Fix RC "fastforward" command behaviour (it was slowing down instead)
* Fix str_format_mera 'R' format string with negative rates and
rates such that (rate % 1000 < 100).
This change allows for smoother transitioning between playlist items by
not having to recreate the related video/audio resources from scratch on
every item switch. This problem was very apparent in fullscreen mode
when the current display would close out showing the OS background and
then go back to fullscreen before playing the next item.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
input_CreateThread* have been splitted in two functions:
- input_Create
- input_Start
to allow attaching to input events and creating settings/variables
before starting the input thread.
For consistency, input_StopThread has been renamed input_Stop.
Initial report from Hugo Beauzee-Luyssen.
The input variable "program-scrambled" will contain the state for the current
program only. If at least one es is scrambled then the whole program is.
The associated event is INPUT_EVENT_PROGRAM.
If necessary for a better GUI support, we could change it to a list.
This will force people to use VLC_INPUT_OPTION_TRUSTED flag when they
need it and ease security review.
This commit has no functionnal/security changes.