diff --git a/src/plugins/avfoundation/mediaplayer/avfvideorenderercontrol.mm b/src/plugins/avfoundation/mediaplayer/avfvideorenderercontrol.mm index 5f468e532a9c4973395dde81cb4a346291a16022..e06ddc4b057d9239cef5d38b2ac3e51e84a5abf7 100644 --- a/src/plugins/avfoundation/mediaplayer/avfvideorenderercontrol.mm +++ b/src/plugins/avfoundation/mediaplayer/avfvideorenderercontrol.mm @@ -191,10 +191,9 @@ void AVFVideoRendererControl::setLayer(void *playerLayer) if (m_playerLayer == playerLayer) return; - [static_cast<AVPlayerLayer*>(playerLayer) retain]; - [static_cast<AVPlayerLayer*>(playerLayer) release]; + [static_cast<AVPlayerLayer*>(m_playerLayer) release]; - m_playerLayer = playerLayer; + m_playerLayer = [static_cast<AVPlayerLayer*>(playerLayer) retain]; //If there is an active surface, make sure it has been stopped so that //we can update it's state with the new content. @@ -225,7 +224,7 @@ void AVFVideoRendererControl::updateVideoFrame(const CVTimeStamp &ts) { Q_UNUSED(ts) - AVPlayerLayer *playerLayer = static_cast<AVPlayerLayer*>(playerLayer); + AVPlayerLayer *playerLayer = static_cast<AVPlayerLayer*>(m_playerLayer); if (!playerLayer) { qWarning("updateVideoFrame called without AVPlayerLayer (which shouldn't happen"); @@ -305,7 +304,7 @@ void AVFVideoRendererControl::updateVideoFrame(const CVTimeStamp &ts) void AVFVideoRendererControl::setupVideoOutput() { - AVPlayerLayer *playerLayer = static_cast<AVPlayerLayer*>(playerLayer); + AVPlayerLayer *playerLayer = static_cast<AVPlayerLayer*>(m_playerLayer); if (playerLayer) m_nativeSize = QSize(playerLayer.bounds.size.width, playerLayer.bounds.size.height); }