https://bugs.winehq.org/show_bug.cgi?id=44399
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/combase-RoApi CC| |focht@gmx.net Status|NEW |STAGED
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello folks,
the app uses QT5.8 multimedia, specifically WASAPI plugin to query for various audio device info. Relevant part of QT5.8 WASAPI plugin source code:
http://code.qt.io/cgit/qt/qtmultimedia.git/tree/src/plugins/wasapi/qwasapiut...
--- snip --- QList<QByteArray> QWasapiUtils::availableDevices(QAudio::Mode mode) { qCDebug(lcMmUtils) << __FUNCTION__ << mode;
CoInitIfNeeded(); ComPtr<IDeviceInformationStatics> statics; HRESULT hr;
hr = GetActivationFactory(HString::MakeReference(RuntimeClass_Windows_Devices_Enumeration_DeviceInformation).Get(), &statics); Q_ASSERT_SUCCEEDED(hr);
DeviceClass dc = mode == QAudio::AudioInput ? DeviceClass_AudioCapture : DeviceClass_AudioRender;
QList<QByteArray> &deviceNames = mode == QAudio::AudioInput ? gMapping->inputDeviceNames : gMapping->outputDeviceNames; QList<QString> &deviceIds = mode == QAudio::AudioInput ? gMapping->inputDeviceIds : gMapping->outputDeviceIds;
// We need to refresh due to plugable devices (ie USB) deviceNames.clear(); deviceIds.clear();
ComPtr<IAsyncOperationABI::Windows::Devices::Enumeration::DeviceInformationCollection *> op; hr = statics->FindAllAsyncDeviceClass(dc, &op ); RETURN_EMPTY_LIST_IF_FAILED("Could not query audio devices.");
ComPtr<IVectorView<DeviceInformation *>> resultVector; hr = QWinRTFunctions::await(op, resultVector.GetAddressOf()); RETURN_EMPTY_LIST_IF_FAILED("Could not receive audio device list."); ... --- snip ---
MSDN: https://msdn.microsoft.com/en-us/library/hh973459.aspx ("How to: Activate and Use a Windows Runtime Component Using WRL")
Missing Windows Runtime 'windows.devices.enumeration.dll' which provides device enumeration API for Win8+ is a follow-up issue.
I'm changing the status to "staged" to refer to staging patchset: https://github.com/wine-compholio/wine-staging/tree/master/patches/combase-R...
Regards