diff options
author | Mithra Pattison <mithra.pattison@nokia.com> | 2012-06-28 15:40:16 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-10 09:18:21 +0200 |
commit | 88799455673ba6cad488153d248c1651ac345ef0 (patch) | |
tree | 723e7b7df989993c895a40e27100c3005cac1b50 /src | |
parent | 53fdcca36650970568f14b81814eb627cbabea43 (diff) | |
download | qtmultimedia-88799455673ba6cad488153d248c1651ac345ef0.tar.gz |
Update ALSA device enumeration to return all devices
Previously, if a device was marked as "Default Audio Device" then
only this device would be returned during device enumeration. Now
it returns all devices, with the default device placed first.
Task-number: QTBUG-22103
Change-Id: I1705415bf6b58ff046c4d2812107b46b76500001
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp index 0c2fe49b6..4ef96c779 100644 --- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp +++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp @@ -406,7 +406,6 @@ void QAudioDeviceInfoInternal::updateLists() QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode) { - QList<QByteArray> allDevices; QList<QByteArray> devices; QByteArray filter; @@ -436,8 +435,9 @@ QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode) if ((descr != NULL) && ((io == NULL) || (io == filter))) { QString deviceName = QLatin1String(name); QString deviceDescription = QLatin1String(descr); - allDevices.append(deviceName.toLocal8Bit().constData()); if (deviceDescription.contains(QLatin1String("Default Audio Device"))) + devices.prepend(deviceName.toLocal8Bit().constData()); + else devices.append(deviceName.toLocal8Bit().constData()); } @@ -450,10 +450,6 @@ QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode) ++n; } snd_device_name_free_hint(hints); - - if(devices.size() > 0) { - devices.append("default"); - } #else int idx = 0; char* name; @@ -462,14 +458,11 @@ QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode) devices.append(name); idx++; } - if (idx > 0) - devices.append("default"); -#endif -#if !defined(Q_WS_MAEMO_6) - if (devices.size() == 0 && allDevices.size() > 0) - return allDevices; #endif + if (devices.size() > 0) + devices.append("default"); + return devices; } |