summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform/darwin/mediaplayer/avfmediaplayercontrol.mm
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-02-11 09:20:08 +0100
committerLars Knoll <lars.knoll@qt.io>2021-02-17 08:26:34 +0000
commita8eb585f239c2e5c0a5fed8a1a279fbd076c8446 (patch)
tree8edab7e7e297bc42e3ee214bf803e03a393e8ad8 /src/multimedia/platform/darwin/mediaplayer/avfmediaplayercontrol.mm
parent5b08bbc4a244416ee961e9793cc12a652994573b (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.mm5
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);
+}