Re: [PATCH v2 0/2] MR5734: mf: Implement audio capture device enumeration in MFEnumDeviceSources().
Nikolay Sivov (@nsivov) commented about dlls/mf/sac.c:
+ if (FAILED(hr = IMMDeviceCollection_GetCount(devices, &count))) + goto done; + sources = CoTaskMemAlloc(count * sizeof(*sources)); + for (i = 0; i < count; ++i) + { + WCHAR symbolic_link[256]; + IPropertyStore *ps; + IMMDevice *device; + PROPVARIANT pv; + WCHAR *str; + + if (FAILED(hr = create_activation_object(NULL, &audio_capture_activate_funcs, &sources[i]))) + goto done; + ++created_count; + + IMFActivate_SetGUID(sources[i], &MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, &MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_GUID); To handle failures in individual Set methods we have things like mediatype_set_guid() in mfplat, that take &hr argument to set error code appropriately without introducing more cleanup conditions.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/5734#note_71436
participants (1)
-
Nikolay Sivov (@nsivov)