summaryrefslogtreecommitdiffstats
path: root/src/plugins/pulseaudio/qaudioinput_pulse.h
diff options
context:
space:
mode:
authorMichael Goddard <michael.goddard@nokia.com>2012-01-25 13:50:37 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-25 07:18:48 +0100
commit3b00730ecaeb4f780b897c3f0683c1d449e7c6c7 (patch)
tree66fd49c3bf021e4199935d7ab1fcc096ab24fd24 /src/plugins/pulseaudio/qaudioinput_pulse.h
parent8aef60c1cf3897053a68498db414b91c00eec0fa (diff)
Add a volume (gain) property to QAudioInput.
Only implemented for PulseAudio so far, but the API does explain that it's optional. Change-Id: I4543a1c81d810fe92bb08f1ed13f3a3534a371e4 Reviewed-by: Ling Hu <ling.hu@nokia.com>
Diffstat (limited to 'src/plugins/pulseaudio/qaudioinput_pulse.h')
-rw-r--r--src/plugins/pulseaudio/qaudioinput_pulse.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/pulseaudio/qaudioinput_pulse.h b/src/plugins/pulseaudio/qaudioinput_pulse.h
index 8ce328b06..76d0f3484 100644
--- a/src/plugins/pulseaudio/qaudioinput_pulse.h
+++ b/src/plugins/pulseaudio/qaudioinput_pulse.h
@@ -98,11 +98,16 @@ public:
void setFormat(const QAudioFormat &format);
QAudioFormat format() const;
+ void setVolume(qreal volume);
+ qreal volume() const;
+
qint64 m_totalTimeValue;
QIODevice *m_audioSource;
QAudioFormat m_format;
QAudio::Error m_errorState;
QAudio::State m_deviceState;
+ qreal m_volume;
+ pa_cvolume m_chVolume;
private slots:
void userFeed();
@@ -112,6 +117,12 @@ private:
int checkBytesReady();
bool open();
void close();
+ void setPulseVolume();
+
+ static QMap<void *, QPulseAudioInput*> s_inputsMap;
+
+ static void sourceInfoCallback(pa_context *c, const pa_source_info *i, int eol, void *userdata);
+ static void inputVolumeCallback(pa_context *context, int success, void *userdata);
bool m_pullMode;
bool m_opened;
@@ -130,6 +141,7 @@ private:
QByteArray m_streamName;
QByteArray m_device;
QByteArray m_tempBuffer;
+ pa_sample_spec m_spec;
};
class InputPrivate : public QIODevice