summaryrefslogtreecommitdiffstats
path: root/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
diff options
context:
space:
mode:
authorKurt Korbatits <kurt.korbatits@nokia.com>2012-07-06 09:56:38 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-17 07:03:48 +0200
commit1ac931864550bae89baed7575785b339fb2b1465 (patch)
tree28221545e0ff8f2d8bd379015f19be742e25537a /src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
parent8c12864361dbcc7a49c682aaa4e6bca21eaacb5d (diff)
Added volume control for QAudioOutput & QAudioInput (alsa)
QTBUG-25454 - Added update to docs on volume control. - Added internal volume adjustment for alsa implementation. - Enabled float sample option in QAudioDeviceInfo (alsa). Change-Id: I6b89fc8beb457d71be9ad71b538c86a008570f07 Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
Diffstat (limited to 'src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp')
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
index 4ef96c779..073504177 100644
--- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
@@ -286,6 +286,11 @@ bool QAudioDeviceInfoInternal::testSettings(const QAudioFormat& format) const
err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_U32_LE);
else if(format.byteOrder() == QAudioFormat::BigEndian)
err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_U32_BE);
+ } else if (format.sampleType() == QAudioFormat::Float) {
+ if (format.byteOrder() == QAudioFormat::LittleEndian)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_FLOAT_LE);
+ else if (format.byteOrder() == QAudioFormat::BigEndian)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_FLOAT_BE);
}
}
@@ -344,6 +349,11 @@ bool QAudioDeviceInfoInternal::testSettings(const QAudioFormat& format) const
err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_U32_LE);
else if(format.byteOrder() == QAudioFormat::BigEndian)
err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_U32_BE);
+ } else if (format.sampleType() == QAudioFormat::Float) {
+ if (format.byteOrder() == QAudioFormat::LittleEndian)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_FLOAT_LE);
+ else if (format.byteOrder() == QAudioFormat::BigEndian)
+ err = snd_pcm_hw_params_set_format(handle,params,SND_PCM_FORMAT_FLOAT_BE);
}
}
if(err>=0) {