[vlc-devel] [PATCH 00/20] MR: Finishing vout life cycle work
Thomas Guillem
thomas at gllm.fr
Tue Apr 30 10:40:58 CEST 2019
This set continue the previous work that was designed to always keep one valid
vout (the main one). Vout life cycle will behave like aout life cycle. This
will simplify variable/options handling.
The branch can be found on VideoLan gitlab:
https://code.videolan.org/tguillem/vlc/commits/vout-life/5
You can comment on it.
The first commit fixes a crash on macOS. Double vlc_mutex_destroy() doesn't seem
to be detected on Linux, even with Asan.
The second commit fixes asserts within the vout that can be triggered when vout
functions are called while it is stopped (window disable + no vout display
plugin).
The ressource commits change vout holding/creation from input resources. The
vout is now created from the first input_resource_Hold() call (if it was not
created by a decoder before).
The player commits remove previous hacks that was needed because the main vout
was not always created. Now that the player has always a valid vout, it can now
store variables/option on it.
The macOS/Qt commits change the way options (like filters) are passed to vouts.
Options are now saved on the main vout and not on the playlist/interface/player
anymore. This causes a change of behavior when there are several vouts (options
are now only applied to the main vout). If an user want options to be applied
on all future vouts, he can save the filter settings from the dialogs. This
cause future var_Inherit to fetch the variable from the new saved config.
The last patch disable skins2 in order to be able to remove the legacy
playlist.
Thomas Guillem (20):
vout: fix double mutex destroy
vout: don't call vout_SizeWindow without a valid format
resource: remove intermediate functions
resource: merge both locks
resource: reduce lock scope when starting the vout
resource: add input_resource_HoldVoutLocked
resource: always return a valid vout from HoldVout*()
resource: don't allow to terminate vouts
player: document vout lifecycle
player: remove vlc_player_vout_SetFilter
player: remove vlc_player_SetVideoSplitter
player: change vout events
hotkeys: re-indent after last commit
test: player: test outputs
qt: PlayerController: simplify getVout()
qt: setup filter variables on the main vout
macosx: setup effect variables on the main aout
macosx: setup filter variables on the main vout
gui: disable skins2
remove vlc_playlist_legacy
include/vlc_input.h | 5 -
include/vlc_interface.h | 8 -
include/vlc_player.h | 85 +-
include/vlc_playlist_legacy.h | 429 ---------
lib/media.c | 1 -
lib/playlist.c | 2 -
modules/control/gestures.c | 20 +-
modules/control/hotkeys.c | 42 +-
modules/gui/Makefile.am | 2 +-
.../coreinteraction/VLCVideoFilterHelper.m | 76 +-
.../panels/VLCAudioEffectsWindowController.m | 225 ++---
.../panels/VLCVideoEffectsWindowController.m | 151 +--
.../gui/macosx/playlist/VLCPlayerController.h | 14 -
.../gui/macosx/playlist/VLCPlayerController.m | 26 +-
modules/gui/qt/components/extended_panels.cpp | 43 +-
.../gui/qt/components/player_controller.cpp | 16 +-
modules/gui/qt/dialogs/epg.cpp | 1 -
po/POTFILES.in | 10 -
src/Makefile.am | 13 -
src/check_symbols | 3 +-
src/input/es_out.c | 26 -
src/input/input.c | 1 -
src/input/input_interface.h | 7 -
src/input/meta.c | 1 -
src/input/player.c | 73 +-
src/input/resource.c | 198 ++--
src/input/vlm.c | 1 -
src/interface/interface.c | 36 -
src/libvlc-module.c | 1 -
src/libvlc.c | 2 -
src/libvlccore.sym | 44 -
src/playlist_legacy/aout.c | 124 ---
src/playlist_legacy/control.c | 147 ---
src/playlist_legacy/engine.c | 501 ----------
src/playlist_legacy/item.c | 883 ------------------
src/playlist_legacy/loadsave.c | 67 --
src/playlist_legacy/playlist_internal.h | 186 ----
src/playlist_legacy/renderer.c | 51 -
src/playlist_legacy/search.c | 130 ---
src/playlist_legacy/services_discovery.c | 242 -----
src/playlist_legacy/sort.c | 376 --------
src/playlist_legacy/thread.c | 533 -----------
src/playlist_legacy/tree.c | 427 ---------
src/video_output/video_output.c | 9 +-
test/src/input/player.c | 71 +-
45 files changed, 433 insertions(+), 4876 deletions(-)
delete mode 100644 include/vlc_playlist_legacy.h
delete mode 100644 src/playlist_legacy/aout.c
delete mode 100644 src/playlist_legacy/control.c
delete mode 100644 src/playlist_legacy/engine.c
delete mode 100644 src/playlist_legacy/item.c
delete mode 100644 src/playlist_legacy/loadsave.c
delete mode 100644 src/playlist_legacy/playlist_internal.h
delete mode 100644 src/playlist_legacy/renderer.c
delete mode 100644 src/playlist_legacy/search.c
delete mode 100644 src/playlist_legacy/services_discovery.c
delete mode 100644 src/playlist_legacy/sort.c
delete mode 100644 src/playlist_legacy/thread.c
delete mode 100644 src/playlist_legacy/tree.c
--
2.20.1
More information about the vlc-devel
mailing list