diff options
author | Bjoern Breitmeyer <bjoern.breitmeyer@kdab.com> | 2014-08-22 14:59:11 +0200 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@digia.com> | 2014-08-27 13:54:59 +0200 |
commit | b3c2dca466042cf362ffb8d803bf05c9b8a0f95f (patch) | |
tree | 138ec3075b16b0bd2eff63fd981712f63e0fdf14 | |
parent | 20da381608c61930e2eea46fe0175a355eac9a73 (diff) |
Restore QWindowsAudio support on wince.
Enabled Audio playback with wave device on WindowsCE again.
Change-Id: Ic7749821ef8f991a909cbeb29083219ea988f5dc
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
-rw-r--r-- | config.tests/wmp/main.cpp | 5 | ||||
-rw-r--r-- | config.tests/wmp/wmp.pro | 3 | ||||
-rw-r--r-- | src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp | 30 | ||||
-rw-r--r-- | src/plugins/windowsaudio/windowsaudio.pro | 3 |
4 files changed, 38 insertions, 3 deletions
diff --git a/config.tests/wmp/main.cpp b/config.tests/wmp/main.cpp index 1667ebc8a..50f4bf6c2 100644 --- a/config.tests/wmp/main.cpp +++ b/config.tests/wmp/main.cpp @@ -38,8 +38,11 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ - +#ifndef _WIN32_WCE #include <wmp.h> +#else +#include <wmpcore.h> +#endif int main(int, char**) { diff --git a/config.tests/wmp/wmp.pro b/config.tests/wmp/wmp.pro index b16509cc4..563de1453 100644 --- a/config.tests/wmp/wmp.pro +++ b/config.tests/wmp/wmp.pro @@ -3,4 +3,5 @@ CONFIG += console SOURCES += main.cpp -LIBS += -lstrmiids -lole32 -lOleaut32 -luser32 -lgdi32 +LIBS += -lstrmiids -lole32 -lOleaut32 +!wince*:LIBS += -luser32 -lgdi32 diff --git a/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp b/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp index d37056a5f..98c161ae5 100644 --- a/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp +++ b/src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp @@ -412,6 +412,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; @@ -463,6 +464,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; } diff --git a/src/plugins/windowsaudio/windowsaudio.pro b/src/plugins/windowsaudio/windowsaudio.pro index a1a327953..ead73251b 100644 --- a/src/plugins/windowsaudio/windowsaudio.pro +++ b/src/plugins/windowsaudio/windowsaudio.pro @@ -5,7 +5,8 @@ PLUGIN_TYPE = audio PLUGIN_CLASS_NAME = QWindowsAudioPlugin load(qt_plugin) -LIBS += -lwinmm -lstrmiids -lole32 -loleaut32 +LIBS += -lstrmiids -lole32 -loleaut32 +!wince*:LIBS += -lwinmm HEADERS += \ qwindowsaudioplugin.h \ |