[vlc-devel] [PATCH 00/16] Windows Seven video integration

Pierre Lamot pierre at videolabs.io
Thu Aug 6 09:43:46 CEST 2020


This patchset provides video integration for Windows Seven and superior when
DirectComposition is not available or can't be used.

It also supports OS where composition (DWM) or D3D is unavailable or
deactivated. In this case Qt software backend is used, allowing interface to be
properly displayed (the dummy compositor requires OpenGL or ANGLE), though video
can't be integrated when there is no composition as we can't see through the
interface.

Branch is also available at:

https://code.videolan.org/chub/vlc/-/tree/win7_video

Pierre Lamot (16):
  qt: don't use DComp when texture initialisation fails
  qt: don't load DComp backend when the device doesn't support D3D11
    features
  qt: don't use SHARED_NTHANDLE on platforms that don't support it
  qt: fallback when d3dcompiler is missing when using DComp
  qt: don't release vout window when the interface has already been
    destroyed
  qml: allow to explicitly disable video surface in the player
  qt: only forward video resize event when VideoSurface is enabled
  qt: report video size when a video is reattached to the QML video
    surface
  qt: separate video window handling code from main interface
  qt: use video window handler in DirectComposition compositor
  qt: remove video window handling functions from MainInterface
  qt: allow passing QMainWindow window flags when creating MainInterface
  qt: separate Taskbar buttons creation from MainInterfaceWin32
  qt: extract interface window handling from MainInterface
  vout:win32: remove SetThumbnailClip
  qt: provide video integration for windows 7

 modules/gui/qt/Makefile.am                    |  13 +-
 modules/gui/qt/maininterface/compositor.cpp   |   8 +
 modules/gui/qt/maininterface/compositor.hpp   |   3 +-
 .../gui/qt/maininterface/compositor_dcomp.cpp |  75 +++-
 .../gui/qt/maininterface/compositor_dcomp.hpp |   6 +-
 .../compositor_dcomp_uisurface.cpp            |  47 ++-
 .../compositor_dcomp_uisurface.hpp            |   4 +-
 .../gui/qt/maininterface/compositor_dummy.cpp |   5 +-
 .../gui/qt/maininterface/compositor_dummy.hpp |  10 +-
 .../gui/qt/maininterface/compositor_win7.cpp  | 347 +++++++++++++++++
 .../gui/qt/maininterface/compositor_win7.hpp  |  85 +++++
 .../interface_window_handler.cpp              | 229 ++++++++++++
 .../interface_window_handler.hpp              |  72 ++++
 .../gui/qt/maininterface/main_interface.cpp   | 312 +---------------
 .../gui/qt/maininterface/main_interface.hpp   | 108 ++++--
 .../qt/maininterface/main_interface_win32.cpp | 350 ++++++++++--------
 .../qt/maininterface/main_interface_win32.hpp |  61 ++-
 .../qt/maininterface/video_window_handler.cpp | 164 ++++++++
 .../qt/maininterface/video_window_handler.hpp |  75 ++++
 modules/gui/qt/maininterface/videosurface.cpp |  11 +-
 modules/gui/qt/maininterface/videosurface.hpp |   4 +-
 modules/gui/qt/player/qml/Player.qml          |  13 +-
 modules/gui/qt/player/qml/TopBar.qml          |   2 +-
 modules/gui/qt/qt.cpp                         |  25 +-
 modules/gui/qt/widgets/native/qvlcframe.hpp   |   6 +-
 modules/video_output/win32/common.c           |  56 ---
 26 files changed, 1479 insertions(+), 612 deletions(-)
 create mode 100644 modules/gui/qt/maininterface/compositor_win7.cpp
 create mode 100644 modules/gui/qt/maininterface/compositor_win7.hpp
 create mode 100644 modules/gui/qt/maininterface/interface_window_handler.cpp
 create mode 100644 modules/gui/qt/maininterface/interface_window_handler.hpp
 create mode 100644 modules/gui/qt/maininterface/video_window_handler.cpp
 create mode 100644 modules/gui/qt/maininterface/video_window_handler.hpp

-- 
2.25.1



More information about the vlc-devel mailing list