diff options
author | Yoann Lopes <yoann.lopes@digia.com> | 2014-09-01 14:19:53 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-09-01 14:19:53 +0200 |
commit | bc1fa076c944c6af3250cb7210190da42a4de6ea (patch) | |
tree | b6948fa95abbdd4ffbb30b76c7d3c09ae07e51db /src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp | |
parent | 0c3438c9a12fbc607eada8f938cf0ad8fdea374d (diff) | |
parent | 659f238bbbe040cce1bdf900f8f5500845ca8727 (diff) |
Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4v5.4.0-alpha1
Diffstat (limited to 'src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp')
-rw-r--r-- | src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp b/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp index 59a9f661f..4f8f03836 100644 --- a/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp +++ b/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp @@ -404,6 +404,7 @@ QList<QByteArray> QWindowsAudioDeviceInfo::availableDevices(QAudio::Mode mode) Q_UNUSED(mode) QList<QByteArray> devices; +#ifndef Q_OS_WINCE //enumerate device fullnames through directshow api CoInitialize(NULL); ICreateDevEnum *pDevEnum = NULL; @@ -455,6 +456,35 @@ QList<QByteArray> QWindowsAudioDeviceInfo::availableDevices(QAudio::Mode mode) } } CoUninitialize(); +#else // Q_OS_WINCE + if (mode == QAudio::AudioOutput) { + WAVEOUTCAPS woc; + unsigned long iNumDevs,i; + iNumDevs = waveOutGetNumDevs(); + for (i=0;i<iNumDevs;i++) { + if (waveOutGetDevCaps(i, &woc, sizeof(WAVEOUTCAPS)) + == MMSYSERR_NOERROR) { + QByteArray device; + QDataStream ds(&device, QIODevice::WriteOnly); + ds << quint32(i) << QString::fromWCharArray(woc.szPname); + devices.append(device); + } + } + } else { + WAVEINCAPS woc; + unsigned long iNumDevs,i; + iNumDevs = waveInGetNumDevs(); + for (i=0;i<iNumDevs;i++) { + if (waveInGetDevCaps(i, &woc, sizeof(WAVEINCAPS)) + == MMSYSERR_NOERROR) { + QByteArray device; + QDataStream ds(&device, QIODevice::WriteOnly); + ds << quint32(i) << QString::fromWCharArray(woc.szPname); + devices.append(device); + } + } + } +#endif // !Q_OS_WINCE return devices; } |