diff options
author | Kurt Korbatits <kurt.korbatits@nokia.com> | 2012-07-06 09:56:38 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-17 07:03:48 +0200 |
commit | 1ac931864550bae89baed7575785b339fb2b1465 (patch) | |
tree | 28221545e0ff8f2d8bd379015f19be742e25537a /src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp | |
parent | 8c12864361dbcc7a49c682aaa4e6bca21eaacb5d (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.cpp | 10 |
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) { |