diff options
author | Christian Stromme <christian.stromme@theqtcompany.com> | 2016-04-19 14:53:24 +0200 |
---|---|---|
committer | Christian Stromme <christian.stromme@qt.io> | 2016-05-20 10:54:32 +0000 |
commit | 3c5bbb0dac7bed3199ddddc88c0175d5a2ac1036 (patch) | |
tree | 51b9987225bf224637b87c3dd20558a3cca95811 /src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp | |
parent | 49461f9cffa5439e536a844ec3a0134c252141e6 (diff) |
Improve QAudioDeviceInfo::defaultDevice().
The previous implementation of QAudioDeviceInfo::defaultXDevice() would
always report the first available device as the "default" one, making
the order, in which devices were listed, a hidden requirement when
implementing audio plugins. To make it easier and more reliable to
retrieve the default device, all new plugins should implement the new
QAudioSystemPluginExtension interface as well as the QAudioSystemPlugin.
Devices will be chosen in the following order (first match wins):
default plugin -> default device
-> first available device
plugins -> default device
-> first available device
Task-number: QTBUG-51292
Change-Id: I8ace78858976fe7c60a2c4a117ef15c4e1bb177f
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
Diffstat (limited to 'src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp')
-rw-r--r-- | src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp b/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp index ca79ebbec..83e9ccfc8 100644 --- a/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp +++ b/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp @@ -457,22 +457,14 @@ QList<QByteArray> QWindowsAudioDeviceInfo::availableDevices(QAudio::Mode mode) return devices; } -QByteArray QWindowsAudioDeviceInfo::defaultOutputDevice() +QByteArray QWindowsAudioDeviceInfo::defaultDevice(QAudio::Mode mode) { + const QString &name = (mode == QAudio::AudioOutput) ? QStringLiteral("Default Output Device") + : QStringLiteral("Default Input Device"); QByteArray defaultDevice; QDataStream ds(&defaultDevice, QIODevice::WriteOnly); ds << quint32(WAVE_MAPPER) // device ID for default device - << QStringLiteral("Default Output Device"); - - return defaultDevice; -} - -QByteArray QWindowsAudioDeviceInfo::defaultInputDevice() -{ - QByteArray defaultDevice; - QDataStream ds(&defaultDevice, QIODevice::WriteOnly); - ds << quint32(WAVE_MAPPER) // device ID for default device - << QStringLiteral("Default Input Device"); + << name; return defaultDevice; } |