[vlc-devel] [PATCH v2 00/12] Video integration within Qt interface for Windows
Pierre Lamot
pierre at videolabs.io
Thu May 14 14:05:19 CEST 2020
Since V1
- Direct composition support is disabled when dcomp.h is missing or broken
- DirectCompositon Visual is stored in vout_window.handle whereas the device is
stored in vout_window.display
- dll import from ANGLE api is disabled only when statically linking with qt
- d3d11 CreateSwapchain is now split in CreateSwapchainHwnd and
CreateSwapchainDComp
- use of an union in d3d11 module to diferentiate dcomp from hwnd
- minor bug fixes
branch is available at https://code.videolan.org/chub/vlc/-/tree/dcomp/11
Pierre Lamot (12):
d3d11: allow rendering video to DirectComposition surfaces
qml: rename rootWindow to mainInterface
qml: use the top window to filter global key events rather than the
embed widget
qt: remove dependency from mainUI in the toolbar editor
qt: move vout window report functions to the Video surface provider
qt: add compositor interface
qt: provide a dummy compositor
contrib: allow static linking of ANGLE on Windows
qt: add DirectCompositor compositor
qt: move qml initialisation out of the main interface
qt: remove qml instantiation and video embedding from the
main_interface
qml: fullscreen button should ask videofullscreen
configure.ac | 13 +
...C-to-allow-static-linking-on-Windows.patch | 48 ++
contrib/src/qt/rules.mak | 1 +
include/vlc_vout_window.h | 3 +
modules/gui/qt/Makefile.am | 44 +-
.../gui/qt/dialogs/toolbar/toolbareditor.cpp | 32 +-
modules/gui/qt/maininterface/compositor.cpp | 47 ++
modules/gui/qt/maininterface/compositor.hpp | 52 ++
.../gui/qt/maininterface/compositor_dcomp.cpp | 294 ++++++++
.../gui/qt/maininterface/compositor_dcomp.hpp | 82 ++
.../compositor_dcomp_error.hpp} | 59 +-
.../compositor_dcomp_uisurface.cpp | 698 ++++++++++++++++++
.../compositor_dcomp_uisurface.hpp | 182 +++++
.../gui/qt/maininterface/compositor_dummy.cpp | 61 ++
.../compositor_dummy.hpp} | 44 +-
.../gui/qt/maininterface/main_interface.cpp | 331 ++-------
.../gui/qt/maininterface/main_interface.hpp | 56 +-
.../qt/maininterface/main_interface_win32.cpp | 2 +-
modules/gui/qt/maininterface/mainui.cpp | 249 +++++++
modules/gui/qt/maininterface/mainui.hpp | 76 ++
.../qt/maininterface/qml/BannerSources.qml | 2 +-
.../qt/maininterface/qml/MainInterface.qml | 4 +-
.../videosurface.cpp | 141 +++-
.../videosurface.hpp | 43 +-
.../gui/qt/medialibrary/qml/MainDisplay.qml | 8 +-
modules/gui/qt/menus/qml/PopupMenu.qml | 2 +-
modules/gui/qt/menus/qml/ViewMenu.qml | 16 +-
modules/gui/qt/player/qml/ControlBar.qml | 6 +-
modules/gui/qt/player/qml/ControlButtons.qml | 11 +-
modules/gui/qt/player/qml/MiniPlayer.qml | 4 +-
modules/gui/qt/player/qml/Player.qml | 22 +-
modules/gui/qt/player/qml/TopBar.qml | 2 +-
modules/gui/qt/qt.cpp | 38 +-
modules/gui/qt/qt.hpp | 4 +
modules/gui/qt/voutwindow/qvoutwindow.cpp | 98 ---
modules/gui/qt/voutwindow/qvoutwindow.hpp | 42 --
modules/video_output/Makefile.am | 3 +
modules/video_output/win32/d3d11_swapchain.c | 120 ++-
modules/video_output/win32/d3d11_swapchain.h | 5 +-
modules/video_output/win32/dcomp_wrapper.cpp | 35 +
modules/video_output/win32/dcomp_wrapper.h | 35 +
modules/video_output/win32/direct3d11.c | 15 +-
42 files changed, 2382 insertions(+), 648 deletions(-)
create mode 100644 contrib/src/qt/0009-Add-KHRONOS_STATIC-to-allow-static-linking-on-Windows.patch
create mode 100644 modules/gui/qt/maininterface/compositor.cpp
create mode 100644 modules/gui/qt/maininterface/compositor.hpp
create mode 100644 modules/gui/qt/maininterface/compositor_dcomp.cpp
create mode 100644 modules/gui/qt/maininterface/compositor_dcomp.hpp
rename modules/gui/qt/{voutwindow/qvoutwindowdummy.cpp => maininterface/compositor_dcomp_error.hpp} (50%)
create mode 100644 modules/gui/qt/maininterface/compositor_dcomp_uisurface.cpp
create mode 100644 modules/gui/qt/maininterface/compositor_dcomp_uisurface.hpp
create mode 100644 modules/gui/qt/maininterface/compositor_dummy.cpp
rename modules/gui/qt/{voutwindow/qvoutwindowdummy.hpp => maininterface/compositor_dummy.hpp} (52%)
create mode 100644 modules/gui/qt/maininterface/mainui.cpp
create mode 100644 modules/gui/qt/maininterface/mainui.hpp
rename modules/gui/qt/{voutwindow => maininterface}/videosurface.cpp (58%)
rename modules/gui/qt/{voutwindow => maininterface}/videosurface.hpp (78%)
delete mode 100644 modules/gui/qt/voutwindow/qvoutwindow.cpp
delete mode 100644 modules/gui/qt/voutwindow/qvoutwindow.hpp
create mode 100644 modules/video_output/win32/dcomp_wrapper.cpp
create mode 100644 modules/video_output/win32/dcomp_wrapper.h
--
2.25.1
More information about the vlc-devel
mailing list