Commit Graph

20 Commits

Author SHA1 Message Date
Thomas Guillem b400bf9e85 player: remove subtitle sync API
It was only used by hotkeys that has now its own implementation.

This API is too confusing and hard to mantain, specially with the dual track
support comming.
2019-06-20 08:35:12 +02:00
Thomas Guillem 90b33a59d1 player: add vlc_player_GetCategoryLanguage
Will be needed by vlc_strfinput.
2019-06-03 16:15:55 +02:00
Thomas Guillem a2ea2da82d player: implement vlc_player_SelectCategoryLanguage
It replaces vlc_player_SelectDefaultTrack that was unused and not implemented.
2019-06-03 16:15:55 +02:00
Thomas Guillem 55f66069ab player: add vout<->es_id getters
Events are not enough, specially when an interface pops in the middle of a
player playback.
2019-06-03 16:15:55 +02:00
Thomas Guillem 42e8a35e76 player: associate ES ids in vout_changed event
This will allow API users to clearly identify vouts.
2019-06-03 16:15:55 +02:00
Romain Vimont fb5b4934df player: add on_device_changed callback
Expose the "device" event on the aout via a player callback.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2019-05-22 22:03:49 +02:00
Romain Vimont cff059cc20 player: make the lock optionally reentrant
This will allow to implement the old libvlc API using the new player.

<https://mailman.videolan.org/pipermail/vlc-devel/2019-May/124461.html>

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2019-05-22 22:03:46 +02:00
Thomas Guillem aa6d395b62 player: change vout events
No real functional changes. Changes the callback and enum names to reflect the
real event: vout are now started and stopped. The same vout can be started and
stopped several time.
2019-05-10 09:22:51 +02:00
Thomas Guillem 2ef9ac34cf player: remove vlc_player_SetVideoSplitter
It must be replaced with legacy vout variables handling.
2019-05-10 09:22:51 +02:00
Thomas Guillem 0e457ba78b player: remove vlc_player_vout_SetFilter
It must be replaced with legacy vout variables handling.
2019-05-10 09:22:51 +02:00
Thomas Guillem 783499e815 player: always return a valid vout 2019-05-10 09:22:50 +02:00
Romain Vimont 50c0fa5d65 player: pass old_caps to on_capabilities_changed
The capabilities are stored in a bitset. When it changes, it may be
useful to know its old value, to know which capability changed.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2019-05-03 09:52:31 +02:00
Romain Vimont beeb4a1c37 player: add GetSelectedProgram() helper
There were helpers for retrieving the selected title, chapter or track,
but a helper for the selected program was missing.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2019-05-03 09:52:31 +02:00
Thomas Guillem 59daaa3c04 player: add vlc_player_GetV4l2Object
Ugly but temporary.
2019-03-11 10:18:37 +01:00
Victorien Le Couviour--Tuffet f836139028 player: restart main vout on video splitter change
The vout can't handle live "video-splitter" change for now.
To work-around this issue, this function will set this variable on the
main vout and restart it through the input control.
2019-03-11 10:18:37 +01:00
Rémi Denis-Courmont d2c1bc4433 aout: introduce aout_Hold() and aout_Release()
Type-safe replacements for vlc_object_hold() and vlc_object_release()
(as discussed during the last workshop).
2019-03-06 22:53:24 +02:00
Rémi Denis-Courmont a990818d1a vout: introduce vout_Hold() and vout_Release()
Type-safe replacements for vlc_object_hold() and vlc_object_release()
(as discussed during the last workshop).
2019-03-06 22:53:24 +02:00
Victorien Le Couviour--Tuffet 631c32341e player: add helper to toggle subtitles
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2018-11-27 13:15:58 +01:00
Victorien Le Couviour--Tuffet ae3d4eed70 player: add helper to toggle mute
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2018-11-27 13:15:58 +01:00
Thomas Guillem a80c78fc2a core: add player API
This API will replace the usage of input_thread_t from interface modules. The
player implementation continue to use input_thread_t in private. The goal is to
hide the input_thread_t API when every modules are switched to the player API.

TODO (all need to be fixed, for VLC 4.0):

 - Gapless: API is complete but not implemented (the player can play several
   medias in a row, but without gapless).
 - Position callbacks: still using the input_thread_t position that is really
   imprecise (notified every 250ms minimum, and sometime more, depending on
   pf_demux implementation).
 - Seek/discontinuity callbacks: when seeking, the player can still send
   position of the requested position, the actual position or the next position
   to come. This leads to UI inconsistency.
 - OSD messages should be display from input callbacks but it's not possible
   now since you can't know if the event come from the user or from the core.
2018-11-15 17:09:32 +01:00