From ee50d9a38689c2d56d530ef41f94ee0f6844b571 Mon Sep 17 00:00:00 2001 From: Val Doroshchuk Date: Mon, 13 Jan 2020 14:40:35 +0100 Subject: AVF: Set the stopped state before emitting the status after EOS Fixed a bug when the media status was changed and emitted, but the state was kept old, this prevented to start playing again in a loop if the loops were requested. This is a regression since 9dbdd5d. Fixes: QTBUG-81122 Change-Id: Id2c7d03a25cc22f7f45c6017d2da0af9bb52e528 Reviewed-by: Timur Pocheptsov --- src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm b/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm index 3c59419e7..3e3736183 100644 --- a/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm +++ b/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm @@ -825,8 +825,6 @@ void AVFMediaPlayerSession::processEOS() #endif Q_EMIT positionChanged(position()); m_mediaStatus = QMediaPlayer::EndOfMedia; - Q_EMIT mediaStatusChanged(m_mediaStatus); - m_state = QMediaPlayer::StoppedState; // At this point, frames should not be rendered anymore. @@ -834,6 +832,7 @@ void AVFMediaPlayerSession::processEOS() if (m_videoOutput) m_videoOutput->setLayer(nullptr); + Q_EMIT mediaStatusChanged(m_mediaStatus); Q_EMIT stateChanged(m_state); } -- cgit v1.2.3