diff options
author | André de la Rocha <andre.rocha@qt.io> | 2022-05-31 01:34:21 +0200 |
---|---|---|
committer | André de la Rocha <andre.rocha@qt.io> | 2022-05-31 18:36:53 +0200 |
commit | cf3cbfb0e057c8889a55092fef85ea3bf1b554d8 (patch) | |
tree | 17b479c7a72b898ea24873b68158572f0935e240 | |
parent | 33c68876d4fd5bda2e602ac1ff70cecfcc87544c (diff) | |
download | qtmultimedia-cf3cbfb0e057c8889a55092fef85ea3bf1b554d8.tar.gz |
Windows: fix media player position while rewinding
Fixes: QTBUG-103853
Change-Id: I606dbc06d3aa46d6b75d5189c3125cf789e5fda5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
(cherry picked from commit 54ee3fb7dadbd91d5eb322b635bece5b2b055fba)
-rw-r--r-- | src/multimedia/platform/windows/player/mfplayersession.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/multimedia/platform/windows/player/mfplayersession.cpp b/src/multimedia/platform/windows/player/mfplayersession.cpp index 7507af928..29721c1c8 100644 --- a/src/multimedia/platform/windows/player/mfplayersession.cpp +++ b/src/multimedia/platform/windows/player/mfplayersession.cpp @@ -1224,11 +1224,13 @@ qint64 MFPlayerSession::position() if (FAILED(m_presentationClock->GetCorrelatedTime(0, &time, &sysTime))) return m_position / 10000; - if (time > 0 && qint64(time) < m_lastSeekPos) - m_altTiming = true; + if (m_state.rate > 0) { + if (time > 0 && qint64(time) < m_lastSeekPos) + m_altTiming = true; - if (m_altTiming) - return (m_lastSeekPos + MFGetSystemTime() - m_lastSeekSysTime) / 10000; + if (m_altTiming) + return (m_lastSeekPos + MFGetSystemTime() - m_lastSeekSysTime) / 10000; + } return qint64(time / 10000); } |