diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm b/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm index 3e3736183..1f13fc9bb 100644 --- a/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm +++ b/src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm @@ -686,7 +686,7 @@ void AVFMediaPlayerSession::setPosition(qint64 pos) CMTime newTime = [playerItem currentTime]; newTime.value = (pos / 1000.0f) * newTime.timescale; - [playerItem seekToTime:newTime]; + [playerItem seekToTime:newTime toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero completionHandler:nil]; Q_EMIT positionChanged(pos); @@ -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) |