diff options
author | Dominik Holland <dominik.holland@qt.io> | 2020-02-06 09:41:48 +0100 |
---|---|---|
committer | Dominik Holland <dominik.holland@qt.io> | 2020-02-06 19:03:50 +0100 |
commit | e47ed7b88223c42dd20ef86b829061fcc4f1fc30 (patch) | |
tree | 517c731fb8b16d2017b072998ffafca64051fe24 /src/plugins/avfoundation | |
parent | 545d4aedc2af40182cd9141d014a02f919592cd9 (diff) |
AVF: Only resume playback after a stalled buffer if really needed
When AVFoundation reports that the media is now buffered, we only
should resume the playback if the QMediaPlayer is in the according
state.
Fixes: QTBUG-81912
Change-Id: Idba30ecf6c9c7b87a1c67896d89faa9a1bceae10
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
Diffstat (limited to 'src/plugins/avfoundation')
-rw-r--r-- | src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm b/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm index ff38b4104..1f13fc9bb 100644 --- a/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm +++ b/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm @@ -928,7 +928,8 @@ void AVFMediaPlayerSession::processBufferStateChange(int bufferStatus) } else if (status == QMediaPlayer::StalledMedia) { status = QMediaPlayer::BufferedMedia; // Resume playback. - [[static_cast<AVFMediaPlayerSessionObserver*>(m_observer) player] setRate:m_rate]; + if (m_state == QMediaPlayer::PlayingState) + [[static_cast<AVFMediaPlayerSessionObserver*>(m_observer) player] setRate:m_rate]; } if (m_mediaStatus != status) |