diff options
author | Ling Hu <ling.hu@nokia.com> | 2011-01-13 16:07:47 +1000 |
---|---|---|
committer | Ling Hu <ling.hu@nokia.com> | 2011-01-14 12:09:42 +1000 |
commit | 647fda40f72d0b54f9e06f718693969143f11cb5 (patch) | |
tree | 3c5cea92a80d703fc292648e66928395658c52c6 | |
parent | 1c55d2b31f1e7921d7b48ce1d853a7cef99bc4b7 (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.cpp | 33 |
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); } } |