Module: wine Branch: master Commit: de9da9bcdb8873a5582e1ae85d81a4880f0ccc5d URL: https://gitlab.winehq.org/wine/wine/-/commit/de9da9bcdb8873a5582e1ae85d81a48...
Author: Davide Beatrici git@davidebeatrici.dev Date: Fri Sep 9 08:41:43 2022 +0200
winecoreaudio: Adapt "create_stream_params" struct to mmdevapi's.
---
dlls/winecoreaudio.drv/coreaudio.c | 6 ++++++ dlls/winecoreaudio.drv/mmdevdrv.c | 3 +++ dlls/winecoreaudio.drv/unixlib.h | 3 +++ 3 files changed, 12 insertions(+)
diff --git a/dlls/winecoreaudio.drv/coreaudio.c b/dlls/winecoreaudio.drv/coreaudio.c index e3e697dad88..4f469b582ce 100644 --- a/dlls/winecoreaudio.drv/coreaudio.c +++ b/dlls/winecoreaudio.drv/coreaudio.c @@ -1707,23 +1707,29 @@ static NTSTATUS unix_wow64_create_stream(void *args) { struct { + PTR32 name; PTR32 device; EDataFlow flow; AUDCLNT_SHAREMODE share; + DWORD flags; REFERENCE_TIME duration; REFERENCE_TIME period; PTR32 fmt; HRESULT result; + PTR32 channel_count; PTR32 stream; } *params32 = args; struct create_stream_params params = { + .name = ULongToPtr(params32->name), .device = ULongToPtr(params32->device), .flow = params32->flow, .share = params32->share, + .flags = params32->flags, .duration = params32->duration, .period = params32->period, .fmt = ULongToPtr(params32->fmt), + .channel_count = ULongToPtr(params32->channel_count), .stream = ULongToPtr(params32->stream) }; unix_create_stream(¶ms); diff --git a/dlls/winecoreaudio.drv/mmdevdrv.c b/dlls/winecoreaudio.drv/mmdevdrv.c index 2d061db4e1b..79d617650f4 100644 --- a/dlls/winecoreaudio.drv/mmdevdrv.c +++ b/dlls/winecoreaudio.drv/mmdevdrv.c @@ -734,12 +734,15 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient3 *iface, return AUDCLNT_E_ALREADY_INITIALIZED; }
+ params.name = NULL; params.device = This->device_name; params.flow = This->dataflow; params.share = mode; + params.flags = flags; params.duration = duration; params.period = period; params.fmt = fmt; + params.channel_count = NULL; params.stream = &stream;
UNIX_CALL(create_stream, ¶ms); diff --git a/dlls/winecoreaudio.drv/unixlib.h b/dlls/winecoreaudio.drv/unixlib.h index a01999daffd..2c22eef5cc4 100644 --- a/dlls/winecoreaudio.drv/unixlib.h +++ b/dlls/winecoreaudio.drv/unixlib.h @@ -39,13 +39,16 @@ struct get_endpoint_ids_params
struct create_stream_params { + const char *name; const char *device; EDataFlow flow; AUDCLNT_SHAREMODE share; + DWORD flags; REFERENCE_TIME duration; REFERENCE_TIME period; const WAVEFORMATEX *fmt; HRESULT result; + UINT32 *channel_count; stream_handle *stream; };