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>
This commit is contained in:
Andy Nichols
2014-03-05 15:32:05 +01:00
committed by The Qt Project
parent 42e032bdc1
commit b6b974361a

View File

@@ -133,6 +133,7 @@ static void *AVFMediaPlayerSessionObserverCurrentItemObservationContext = &AVFMe
- (void) unloadMedia - (void) unloadMedia
{ {
if (m_player)
[m_player setRate:0.0]; [m_player setRate:0.0];
if (m_playerItem) { if (m_playerItem) {
[m_playerItem removeObserver:self forKeyPath:AVF_STATUS_KEY]; [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_CURRENT_ITEM_KEY];
[m_player removeObserver:self forKeyPath:AVF_RATE_KEY]; [m_player removeObserver:self forKeyPath:AVF_RATE_KEY];
[m_player release]; [m_player release];
m_player = 0;
} }
if (m_playerLayer) { if (m_playerLayer) {
[m_playerLayer release]; [m_playerLayer release];
m_playerLayer = 0;
} }
[self unloadMedia]; [self unloadMedia];