diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-02-11 09:20:08 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-02-17 08:26:34 +0000 |
commit | a8eb585f239c2e5c0a5fed8a1a279fbd076c8446 (patch) | |
tree | 8edab7e7e297bc42e3ee214bf803e03a393e8ad8 /src/multimedia/platform/darwin/mediaplayer/avfmediaplayercontrol.mm | |
parent | 5b08bbc4a244416ee961e9793cc12a652994573b (diff) |
Rework how to set a video output surface
Setting a video output should not require QMediaService
anymore.
Reverse the logic, by making QAbstractVideoSurface the primary
interface. Use runtime method lookup to get a pointer to the
video surface from QVideoWidget/QGraphicsVideoItem.
QAbstractVideoSurface is now the primary interface for setting
up a video output. We will need to add some API there to allow for
windows/fullscreen rendering.
With this change, QVideoRendererControl/QVideoWindowControl can
also be retired as an abstraction layer in the longer term.
Change-Id: Iedff18c6b95fedc7cb914075a8c84081080deab1
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/multimedia/platform/darwin/mediaplayer/avfmediaplayercontrol.mm')
-rw-r--r-- | src/multimedia/platform/darwin/mediaplayer/avfmediaplayercontrol.mm | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/multimedia/platform/darwin/mediaplayer/avfmediaplayercontrol.mm b/src/multimedia/platform/darwin/mediaplayer/avfmediaplayercontrol.mm index 1e55fb770..301eb6790 100644 --- a/src/multimedia/platform/darwin/mediaplayer/avfmediaplayercontrol.mm +++ b/src/multimedia/platform/darwin/mediaplayer/avfmediaplayercontrol.mm @@ -217,3 +217,8 @@ void AVFMediaPlayerControl::setMuted(bool muted) { m_session->setMuted(muted); } + +void AVFMediaPlayerControl::setVideoSurface(QAbstractVideoSurface *surface) +{ + m_session->setVideoSurface(surface); +} |