summaryrefslogtreecommitdiffstats
path: root/src/multimedia
diff options
context:
space:
mode:
authorRobin Burchell <robin.burchell@jollamobile.com>2014-07-22 18:24:41 +0200
committerRobin Burchell <robin+qt@viroteck.net>2014-08-04 20:38:45 +0200
commit9be98e09bcf19427e7127cfccdc3fc75d11a223e (patch)
tree464c75ccbda4ebc1e27bd616bffef09b24173780 /src/multimedia
parente316aa649174d0b9717ebde2ccde2b04c009cae1 (diff)
Set volume only if volume was explicitly set.
Change-Id: I0d5abab0ffbf61a74c59ce240fd39e756479026b Done-with: Juho Hämäläinen <juho.hamalainen@tieto.com> Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
Diffstat (limited to 'src/multimedia')
-rw-r--r--src/multimedia/audio/qsoundeffect_pulse_p.cpp16
-rw-r--r--src/multimedia/audio/qsoundeffect_pulse_p.h4
2 files changed, 17 insertions, 3 deletions
diff --git a/src/multimedia/audio/qsoundeffect_pulse_p.cpp b/src/multimedia/audio/qsoundeffect_pulse_p.cpp
index caea43d14..766adaa93 100644
--- a/src/multimedia/audio/qsoundeffect_pulse_p.cpp
+++ b/src/multimedia/audio/qsoundeffect_pulse_p.cpp
@@ -57,7 +57,7 @@
#include "qsoundeffect_pulse_p.h"
-#if defined(Q_WS_MAEMO_6)
+#if defined(Q_WS_MAEMO_6) || defined(NEMO_AUDIO)
#include <pulse/ext-stream-restore.h>
#endif
@@ -240,7 +240,7 @@ private:
case PA_CONTEXT_SETTING_NAME:
break;
case PA_CONTEXT_READY:
- #if defined(Q_WS_MAEMO_6)
+ #if defined(Q_WS_MAEMO_6) || defined(NEMO_AUDIO)
pa_ext_stream_restore_read(c, &stream_restore_info_callback, self);
pa_ext_stream_restore_set_subscribe_cb(c, &stream_restore_monitor_callback, self);
pa_ext_stream_restore_subscribe(c, 1, 0, self);
@@ -255,7 +255,7 @@ private:
}
}
-#if defined(Q_WS_MAEMO_6)
+#if defined(Q_WS_MAEMO_6) || defined(NEMO_AUDIO)
static void stream_restore_monitor_callback(pa_context *c, void *userdata)
{
@@ -393,6 +393,9 @@ QSoundEffectPrivate::QSoundEffectPrivate(QObject* parent):
m_sample(0),
m_position(0),
m_resourcesAvailable(false)
+#if defined(Q_WS_MAEMO_6) || defined(NEMO_AUDIO)
+ , m_customVolume(false)
+#endif
{
m_ref = new QSoundEffectRef(this);
pa_sample_spec_init(&m_pulseSpec);
@@ -548,6 +551,9 @@ qreal QSoundEffectPrivate::volume() const
void QSoundEffectPrivate::setVolume(qreal volume)
{
+#if defined(Q_WS_MAEMO_6) || defined(NEMO_AUDIO)
+ m_customVolume = true;
+#endif
m_volume = volume;
emit volumeChanged();
updateVolume();
@@ -557,6 +563,10 @@ void QSoundEffectPrivate::updateVolume()
{
if (m_sinkInputId < 0)
return;
+#if defined(Q_WS_MAEMO_6) || defined(NEMO_AUDIO)
+ if (!m_customVolume)
+ return;
+#endif
PulseDaemonLocker locker;
pa_cvolume volume;
volume.channels = m_pulseSpec.channels;
diff --git a/src/multimedia/audio/qsoundeffect_pulse_p.h b/src/multimedia/audio/qsoundeffect_pulse_p.h
index a20f95693..6c10eb9e6 100644
--- a/src/multimedia/audio/qsoundeffect_pulse_p.h
+++ b/src/multimedia/audio/qsoundeffect_pulse_p.h
@@ -181,6 +181,10 @@ private:
bool m_resourcesAvailable;
QMediaPlayerResourceSetInterface *m_resources;
+
+#if defined(Q_WS_MAEMO_6) || defined(NEMO_AUDIO)
+ bool m_customVolume;
+#endif
};
QT_END_NAMESPACE