- Nov 15, 2018
-
-
Initialize the main playlist player settings from VLC variables. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Initialize the main playlist playback order and repeat mode from VLC variables. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Store a main instance of the playlist in libvlc, accessible via vlc_intf_GetMainPlaylist(). Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Using the player OSD. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
When a client registers a listener, it may optionally receive the current state of the playlist via callbacks. This provides a convenient way to initialize clients automatically. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Expose a function to sort the items in the playlist by a list of criteria. A criterion is composed of a key (title, duration, etc.) and an order (ascending or descending). Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Expose a function to shuffle the items in the playlist. Contrary to the random playback mode, the location of the items within the playlist changes. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Use the randomizer in the playlist to implement random playback order. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Add a "randomizer" to provide the random playback rules, to be used by the playlist. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
When a user requests to insert, move or remove items, or to set the current item, before the core playlist lock is successfully acquired, another client may have changed the list. Expose functions to apply the requested changes with potential conflicts resolved. The actual changes applied are notified through the callbacks. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Add a new playlist API. A playlist contains a simple list of items, and owns a player. Callbacks are exposed so that clients (UI) are notified when items are updated, insert, moved or removed. The playlist is responsible for the playback order and repeat mode, and manages a cursor to the "current" item. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Expose a function which does not lock internally so that we can retrieve several meta values in a row without locking/unlocking. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Thomas Guillem authored
Test main player functions, but also decoder.c/es_out.c/input.c as a consequence. This test improves the test coverage of src/input by 20% (decoder.c coverage goes from 0 to 60%).
-
Thomas Guillem authored
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.
-
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Thomas Guillem authored
Otherwise, listeners can receive error or dead events without receiving any opening events.
-
Thomas Guillem authored
To make room for the new playlist. This playlist_legacy will be removed once all modules are using the new playlist.
-
Add a helper to create RAII wrappers for C shared resources, which automatically call the Hold() and Release() functions associated to the raw pointer. Just declare a new shared resource wrapper type: using InputItemPtr = vlc_shared_data_ptr_type(input_item_t, input_item_Hold, input_item_Release); Then use this new type directly: input_item_t *ptr = /* ... */; InputItemPtr item(ptr); QString name = item->psz_name; InputItemPtr other = item; /* hold automatically */
-
Steve Lhomme authored
-
Steve Lhomme authored
This is already how the UWP vout works but by not compiling some code.
-
Steve Lhomme authored
-
Steve Lhomme authored
-
Steve Lhomme authored
-
Steve Lhomme authored
-
Steve Lhomme authored
-
Steve Lhomme authored
-
Steve Lhomme authored
It matches the API calls better and is more readable.
-
Steve Lhomme authored
-
Steve Lhomme authored
We already know it's d3d9
-
Since p_sys is created by vlc_obj_calloc. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Mutexes haven't been initialized yet and Clean will call vlc_mutex_destroy. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Since p_sys is created by vlc_obj_calloc. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
- Nov 14, 2018
-
-
François Cartegnie authored
-
- Nov 13, 2018
-
-
François Cartegnie authored
-
Rémi Denis-Courmont authored
...before destroying them. Otherwise we can no longer keep track of which picture buffer the display server still references, leading to potential corruption. To force the server to release all buffers, we must first detach the any outstanding buffer from the display surface.
-
Picture is released by the core, but we can only release it for real after receiving a wl_buffer::release event. Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
-
François Cartegnie authored
unused
-
François Cartegnie authored
-
François Cartegnie authored
video stream resync/vout can't be reused fast enough. partial revert of 0160bec1
-