On Mon May 27 20:51:49 2024 +0000, Nikolay Sivov wrote:
> It's unlikely those device strings need to be constructed in client
> library here, I'd expect those id to come from setupapi
> (DEVPKEY_Device_InstanceId?), if they are not present in mmdevice
> property store already. If application really depends on those
> attributes we could add them here as a temporary solution, but if it
> doesn't, I'd rather prefer a fixme. Device symlink is required for video
> sources I think, but for mmdevapi you'd use an endpoint id.
I didn't find a straightforward way to get it from mmdevapi. No, I don't know that anything (that is, the only app I came through) is using that link (although I think it is possible to create mmdevapi device using that path with, e. g., ActivateAudioInterfaceAsync). I will look a bit more and if no obvious way I will remove this field for now.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5734#note_71444
Nikolay Sivov (@nsivov) commented about dlls/mf/sac.c:
> +static void audio_capture_free_private(void *user_context)
> +{
> + TRACE("%p.\n", user_context);
> +}
> +
> +static const struct activate_funcs audio_capture_activate_funcs =
> +{
> + audio_capture_create_object,
> + audio_capture_shutdown_object,
> + audio_capture_free_private,
> +};
> +
> +HRESULT enum_audio_capture_sources(IMFAttributes *attributes, IMFActivate ***ret_sources, UINT32 *ret_count)
> +{
> + static const WCHAR devinterface_audio_capture_wstr[] = L"{2eef81be-33fa-4800-9670-1cd474972c3f}";
> + static const WCHAR mmdev_path_prefix[] = L"\\\\?\\SWD#MMDEVAPI";
It's unlikely those device strings need to be constructed in client library here, I'd expect those id to come from setupapi (DEVPKEY_Device_InstanceId?), if they are not present in mmdevice property store already. If application really depends on those attributes we could add them here as a temporary solution, but if it doesn't, I'd rather prefer a fixme. Device symlink is required for video sources I think, but for mmdevapi you'd use an endpoint id.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5734#note_71435
On Mon May 27 09:51:12 2024 +0000, Rémi Bernon wrote:
> What about decoupling this from the definition status? Something like `is_imported`?
I'm not sure I see how? If a type is just declared in an import, and defined in the main IDL, then we still want to define it. I don't see how to distinguish those two cases.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5724#note_71433