summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/avfoundation/mediaplayer/avfmediaplayersession.h1
-rw-r--r--src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm16
2 files changed, 9 insertions, 8 deletions
diff --git a/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.h b/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.h
index 8c0db289a..58a2d84c9 100644
--- a/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.h
+++ b/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.h
@@ -103,6 +103,7 @@ public Q_SLOTS:
void processEOS();
void processLoadStateChange();
void processPositionChange();
+ void processMediaLoadError();
void processCurrentItemChanged();
diff --git a/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm b/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm
index 83042ce96..7af6f4394 100644
--- a/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm
+++ b/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm
@@ -283,7 +283,7 @@ static void *AVFMediaPlayerSessionObserverCurrentItemObservationContext = &AVFMe
-(void) assetFailedToPrepareForPlayback:(NSError *)error
{
Q_UNUSED(error)
- //TODO: Let the session know that the assest failed to prepare for playback
+ QMetaObject::invokeMethod(m_session, "processMediaLoadError", Qt::AutoConnection);
#ifdef QT_DEBUG_AVF
qDebug() << Q_FUNC_INFO;
qDebug() << [[error localizedDescription] UTF8String];
@@ -799,13 +799,6 @@ void AVFMediaPlayerSession::processLoadStateChange()
[[(AVFMediaPlayerSessionObserver*)m_observer player] setRate:m_rate];
[[(AVFMediaPlayerSessionObserver*)m_observer player] play];
}
-
- } else {
- Q_EMIT error(QMediaPlayer::FormatError, tr("Failed to load media"));
- Q_EMIT mediaStatusChanged(m_mediaStatus = QMediaPlayer::InvalidMedia);
- Q_EMIT stateChanged(m_state = QMediaPlayer::StoppedState);
-
- return;
}
if (newStatus != m_mediaStatus)
@@ -817,6 +810,13 @@ void AVFMediaPlayerSession::processPositionChange()
Q_EMIT positionChanged(position());
}
+void AVFMediaPlayerSession::processMediaLoadError()
+{
+ Q_EMIT error(QMediaPlayer::FormatError, tr("Failed to load media"));
+ Q_EMIT mediaStatusChanged(m_mediaStatus = QMediaPlayer::InvalidMedia);
+ Q_EMIT stateChanged(m_state = QMediaPlayer::StoppedState);
+}
+
void AVFMediaPlayerSession::processCurrentItemChanged()
{
#ifdef QT_DEBUG_AVF