summaryrefslogtreecommitdiffstats
path: root/src/multimedia
diff options
context:
space:
mode:
authorLing Hu <ling.hu@nokia.com>2011-09-28 12:15:51 +1000
committerQt by Nokia <qt-info@nokia.com>2011-11-17 06:47:27 +0100
commitc814062dfff650762231f287524172110bd22ad3 (patch)
tree60cbdd23a5cc4915419321fb15a70ce6424ed4b7 /src/multimedia
parentd0655b3ced1cb8aa74f84dcb15a8cccb24564971 (diff)
Fix volume change error on mono stream for soundeffect(pulseaudio)
(Cherry-picked from 663df44fc8563c548c26a7ae21927b09664c28f2) Change-Id: I005071bc1a8b2eae4d0660042fc8986d61804c47 Reviewed-by: Michael Goddard Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'src/multimedia')
-rw-r--r--src/multimedia/effects/qsoundeffect_pulse_p.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/multimedia/effects/qsoundeffect_pulse_p.cpp b/src/multimedia/effects/qsoundeffect_pulse_p.cpp
index 4570f8fd5..f2483a9ed 100644
--- a/src/multimedia/effects/qsoundeffect_pulse_p.cpp
+++ b/src/multimedia/effects/qsoundeffect_pulse_p.cpp
@@ -129,8 +129,9 @@ public:
inline pa_cvolume * calcVolume(pa_cvolume *dest, int soundEffectVolume)
{
- dest->channels = 2;
- dest->values[0] = dest->values[1] = m_vol * soundEffectVolume / 100;
+ pa_volume_t v = m_vol * soundEffectVolume / 100;
+ for (int i = 0; i < dest->channels; ++i)
+ dest->values[i] = v;
return dest;
}
@@ -394,6 +395,7 @@ void QSoundEffectPrivate::updateVolume()
return;
PulseDaemonLocker locker;
pa_cvolume volume;
+ volume.channels = m_pulseSpec.channels;
pa_operation_unref(pa_context_set_sink_input_volume(daemon()->context(), m_sinkInputId, daemon()->calcVolume(&volume, m_volume), setvolume_callback, this));
Q_ASSERT(pa_cvolume_valid(&volume));
#ifdef QT_PA_DEBUG