summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Nichols <andy.nichols@digia.com>2014-03-05 15:32:05 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-07 14:58:17 +0100
commitb6b974361ab000be0585998dabfe8019ad6b39c1 (patch)
treecef61db3df86d644e0eb3a80f1cc7e3915c270ab
parent42e032bdc11fbd6cc87e27df6e8359c5882bfe23 (diff)
AVFoundation: Prevent Crash in QMediaPlayer
Task-number: QTBUG-34213 Change-Id: I0883436175439abbb4ea964ed552a17b970ed05c Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
-rw-r--r--src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm b/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm
index cf2ad307e..9e0ac4f42 100644
--- a/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm
+++ b/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm
@@ -133,7 +133,8 @@ static void *AVFMediaPlayerSessionObserverCurrentItemObservationContext = &AVFMe
- (void) unloadMedia
{
- [m_player setRate:0.0];
+ if (m_player)
+ [m_player setRate:0.0];
if (m_playerItem) {
[m_playerItem removeObserver:self forKeyPath:AVF_STATUS_KEY];
@@ -407,10 +408,12 @@ static void *AVFMediaPlayerSessionObserverCurrentItemObservationContext = &AVFMe
[m_player removeObserver:self forKeyPath:AVF_CURRENT_ITEM_KEY];
[m_player removeObserver:self forKeyPath:AVF_RATE_KEY];
[m_player release];
+ m_player = 0;
}
if (m_playerLayer) {
[m_playerLayer release];
+ m_playerLayer = 0;
}
[self unloadMedia];