diff options
author | Andy Nichols <andy.nichols@digia.com> | 2014-03-05 15:32:05 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-07 14:58:17 +0100 |
commit | b6b974361ab000be0585998dabfe8019ad6b39c1 (patch) | |
tree | cef61db3df86d644e0eb3a80f1cc7e3915c270ab | |
parent | 42e032bdc11fbd6cc87e27df6e8359c5882bfe23 (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.mm | 5 |
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]; |