summaryrefslogtreecommitdiff
path: root/src/plugins/avfoundation/mediaplayer/avfmediaplayerservice.mm
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2014-06-05 15:25:55 +0200
committerYoann Lopes <yoann.lopes@digia.com>2014-08-25 17:30:31 +0200
commit5f0f81bcc1b82ea3418e4e5ce939ce22b11af0af (patch)
tree4d0b976ea57e0c187247dd286ed6e77976af8e2f /src/plugins/avfoundation/mediaplayer/avfmediaplayerservice.mm
parentbee6244e2428c4a2f4b62dd1e8896f310b2208c8 (diff)
downloadqtmultimedia-5f0f81bcc1b82ea3418e4e5ce939ce22b11af0af.tar.gz
AVFoundation: fix some controls not being correctly destroyed on iOS.
This patch also makes sure AVF video layers are removed from their parent layer when their corresponding Qt video outputs are destroyed. Task-number: QTBUG-39385 Change-Id: I164cd0da7084f84c0473ed3e396e734acce2a22e Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Diffstat (limited to 'src/plugins/avfoundation/mediaplayer/avfmediaplayerservice.mm')
-rw-r--r--src/plugins/avfoundation/mediaplayer/avfmediaplayerservice.mm5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/avfoundation/mediaplayer/avfmediaplayerservice.mm b/src/plugins/avfoundation/mediaplayer/avfmediaplayerservice.mm
index e5549803f..bb75adb8b 100644
--- a/src/plugins/avfoundation/mediaplayer/avfmediaplayerservice.mm
+++ b/src/plugins/avfoundation/mediaplayer/avfmediaplayerservice.mm
@@ -118,14 +118,15 @@ void AVFMediaPlayerService::releaseControl(QMediaControl *control)
#ifdef QT_DEBUG_AVF
qDebug() << Q_FUNC_INFO << control;
#endif
-#if defined(Q_OS_OSX)
if (m_videoOutput == control) {
+#if defined(Q_OS_OSX)
AVFVideoRendererControl *renderControl = qobject_cast<AVFVideoRendererControl*>(m_videoOutput);
if (renderControl)
renderControl->setSurface(0);
+#endif
m_videoOutput = 0;
m_session->setVideoOutput(0);
+
delete control;
}
-#endif
}