[vlc-devel] [PATCH 00/14] qt: video PIP

Pierre Lamot pierre at videolabs.io
Thu Oct 22 15:14:12 CEST 2020


this branch provides a "Picture In Picture" video mode

  this allows to continue to view the video (which is displayed as a thumbnail)
  while browsing the medialib. A bit like the video preview in playlist in 3.0

  this is done by punching a hole in the scenegraph and having the video
  rendered at the desired position and size below the interface 

  implementation provided for Window7 and Direct Composition

  note that the DComp implementation requires an updated version of MingW due
  to some errors in MingW headers.

Pierre Lamot (14):
  qt: distinguish enabled from video embed in video surface
  qt: notity VideoSurface position to the VideoSurfaceProvider
  qt: implement PIP for DComp
  qml: rename root item global reference
  qml: factorize the action of showing the MaxiPlayer
  qt: update close icon
  qml: add PIP player
  qml: include PIP player in medialibrary views
  qml: move the autoloader mechanism of the Maxiplayer to the main
    browsing view
  qml: only switch to the MaxiPlayer when the number of video tracks
    actually changes
  qml: don't stop the player when leaving the Maxiplayer if the PIP is
    available
  qt: propose restoring playback only once per media
  qt: fix frameless window for Win7 compositor
  qt: implement PIP for win7

 modules/gui/qt/Makefile.am                    |   2 +
 .../gui/qt/maininterface/compositor_dcomp.cpp |  15 +-
 .../gui/qt/maininterface/compositor_dcomp.hpp |   3 +
 .../gui/qt/maininterface/compositor_win7.cpp  |  55 +++++--
 .../gui/qt/maininterface/compositor_win7.hpp  |   5 +-
 .../gui/qt/maininterface/main_interface.cpp   |   8 +-
 .../gui/qt/maininterface/main_interface.hpp   |   4 +
 .../gui/qt/maininterface/qml/MainDisplay.qml  |  59 +++++++-
 .../qt/maininterface/qml/MainInterface.qml    |  13 +-
 modules/gui/qt/maininterface/videosurface.cpp |  66 +++++++--
 modules/gui/qt/maininterface/videosurface.hpp |  14 +-
 .../gui/qt/medialibrary/qml/VideoDisplay.qml  |   2 +-
 .../gui/qt/medialibrary/qml/VideoGridItem.qml |   4 +-
 modules/gui/qt/pixmaps/VLCIcons.ttf           | Bin 29332 -> 29336 bytes
 modules/gui/qt/pixmaps/close.svg              |  81 +---------
 modules/gui/qt/player/input_models.cpp        |   1 +
 modules/gui/qt/player/player_controller.cpp   |   9 ++
 modules/gui/qt/player/player_controller.hpp   |   1 +
 modules/gui/qt/player/qml/ControlBar.qml      |   4 +-
 modules/gui/qt/player/qml/ControlButtons.qml  |   2 +-
 modules/gui/qt/player/qml/MiniPlayer.qml      |   6 +-
 modules/gui/qt/player/qml/PIPPlayer.qml       | 138 ++++++++++++++++++
 modules/gui/qt/player/qml/Player.qml          |   2 +-
 modules/gui/qt/player/qml/ResumeDialog.qml    |   1 +
 modules/gui/qt/player/qml/TopBar.qml          |   4 +-
 modules/gui/qt/vlc.qrc                        |   2 +
 modules/gui/qt/widgets/qml/IconButton.qml     |  46 ++++++
 modules/gui/qt/widgets/qml/SortControl.qml    |   6 +-
 28 files changed, 413 insertions(+), 140 deletions(-)
 create mode 100644 modules/gui/qt/player/qml/PIPPlayer.qml
 create mode 100644 modules/gui/qt/widgets/qml/IconButton.qml

-- 
2.25.1



More information about the vlc-devel mailing list