summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2012-12-20 16:19:59 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-12-21 12:03:16 +0100
commitd8426bbf71d30f69b506a5e0148cafc05c79bae9 (patch)
tree348f1b7dd56899a6fc520a371048a2e3910b50dc /src/plugins
parent416168db8a9bb54614117469a43f751a401de854 (diff)
WMF: Fixed incorrect QMediaPlayer volume reporting.
Task-number: QTBUG-26621 Change-Id: Id70a68ad61fd7d68f4ee277f33a54bd9c00c05d0 Reviewed-by: Jason Barron <jason@cutehacks.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/wmf/player/mfplayersession.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/wmf/player/mfplayersession.cpp b/src/plugins/wmf/player/mfplayersession.cpp
index 1eb91c203..d9ff0e7cb 100644
--- a/src/plugins/wmf/player/mfplayersession.cpp
+++ b/src/plugins/wmf/player/mfplayersession.cpp
@@ -413,7 +413,7 @@ MFPlayerSession::MFPlayerSession(MFPlayerService *playerService)
, m_hCloseEvent(0)
, m_closing(false)
, m_pendingRate(1)
- , m_volume(1)
+ , m_volume(100)
, m_muted(false)
, m_status(QMediaPlayer::NoMedia)
, m_scrubbing(false)
@@ -1640,7 +1640,7 @@ void MFPlayerSession::handleSessionEvent(IMFMediaEvent *sessionEvent)
}
if (SUCCEEDED(MFGetService(m_session, MR_POLICY_VOLUME_SERVICE, IID_PPV_ARGS(&m_volumeControl)))) {
- m_volumeControl->SetMasterVolume(m_volume);
+ m_volumeControl->SetMasterVolume(m_volume * 0.01f);
m_volumeControl->SetMute(m_muted);
}
@@ -1692,9 +1692,10 @@ void MFPlayerSession::handleSessionEvent(IMFMediaEvent *sessionEvent)
if (m_volumeControl) {
float currentVolume = 1;
if (SUCCEEDED(m_volumeControl->GetMasterVolume(&currentVolume))) {
- if (currentVolume != m_volume) {
- m_volume = currentVolume;
- emit volumeChanged(int(m_volume * 100));
+ int scaledVolume = currentVolume * 100;
+ if (scaledVolume != m_volume) {
+ m_volume = scaledVolume;
+ emit volumeChanged(scaledVolume);
}
}
BOOL currentMuted = FALSE;