summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLing Hu <ling.hu@nokia.com>2011-01-13 16:07:47 +1000
committerLing Hu <ling.hu@nokia.com>2011-01-14 12:09:42 +1000
commit647fda40f72d0b54f9e06f718693969143f11cb5 (patch)
tree3c5cea92a80d703fc292648e66928395658c52c6
parent1c55d2b31f1e7921d7b48ce1d853a7cef99bc4b7 (diff)
Fix compiling of qaudiodeviceinfo_win32_p.cpp for mingw on windows
Task-number:QTMOBILITY-956 Reviewed-by: Andrew den Exter
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp33
1 files changed, 30 insertions, 3 deletions
diff --git a/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp
index 35165dcd08..939774030a 100644
--- a/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp
+++ b/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp
@@ -56,6 +56,35 @@
#include "qaudiodeviceinfo_win32_p.h"
#include <dshow.h>
+#if defined(Q_CC_MINGW)
+
+extern GUID CLSID_AudioInputDeviceCategory;
+
+#ifndef __IErrorLog_INTERFACE_DEFINED__
+#define __IErrorLog_INTERFACE_DEFINED__
+
+DECLARE_INTERFACE_(IErrorLog, IUnknown)
+{
+ STDMETHOD(AddError)(THIS_ LPCOLESTR, EXCEPINFO *) PURE;
+};
+
+#endif /* __IErrorLog_INTERFACE_DEFINED__ */
+
+#ifndef __IPropertyBag_INTERFACE_DEFINED__
+#define __IPropertyBag_INTERFACE_DEFINED__
+
+const GUID IID_IPropertyBag = {0x55272A00, 0x42CB, 0x11CE, {0x81, 0x35, 0x00, 0xAA, 0x00, 0x4B, 0xB8, 0x51}};
+
+DECLARE_INTERFACE_(IPropertyBag, IUnknown)
+{
+ STDMETHOD(Read)(THIS_ LPCOLESTR, VARIANT *, IErrorLog *) PURE;
+ STDMETHOD(Write)(THIS_ LPCOLESTR, VARIANT *) PURE;
+};
+
+#endif /* __IPropertyBag_INTERFACE_DEFINED__ */
+
+#endif//Q_CC_MINGW
+
QT_BEGIN_NAMESPACE
// For mingw toolchain mmsystem.h only defines half the defines, so add if needed.
@@ -403,11 +432,9 @@ QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode)
// Find the description
hr = pPropBag->Read(L"FriendlyName", &var, 0);
if (SUCCEEDED(hr)) {
- WCHAR str[120];
- StringCchCopyW(str, sizeof(str) / sizeof(str[0]), var.bstrVal);
QByteArray device;
QDataStream ds(&device, QIODevice::WriteOnly);
- ds << quint32(waveID) << QString::fromUtf16(reinterpret_cast<unsigned short *>(str));
+ ds << quint32(waveID) << QString::fromWCharArray(var.bstrVal);
devices.append(device);
}
}