From: Davide Beatrici git@davidebeatrici.dev
The data type for "done" was accidentally changed in e29dc33aebf4e1d4e30fd158b69338331edd3f65.
BOOL is basically the same as UINT32, but it should only be used for flags. BOOLEAN would be better for that though, as it's single-byte. --- dlls/mmdevapi/unixlib.h | 13 ++++++++++--- dlls/winealsa.drv/alsa.c | 12 ++++++++---- dlls/winealsa.drv/mmdevdrv.c | 3 ++- dlls/wineoss.drv/mmdevdrv.c | 3 ++- dlls/wineoss.drv/oss.c | 12 ++++++++---- dlls/winepulse.drv/mmdevdrv.c | 3 ++- dlls/winepulse.drv/pulse.c | 12 ++++++++---- 7 files changed, 40 insertions(+), 18 deletions(-)
diff --git a/dlls/mmdevapi/unixlib.h b/dlls/mmdevapi/unixlib.h index 97a35ffbc4d..ea0d2f9c4b9 100644 --- a/dlls/mmdevapi/unixlib.h +++ b/dlls/mmdevapi/unixlib.h @@ -1,6 +1,6 @@ /* * Copyright 2021 Jacek Caban for CodeWeavers - * Copyright 2022 Huw Davies + * Copyright 2021-2022 Huw Davies * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -126,7 +126,7 @@ struct get_capture_buffer_params struct release_capture_buffer_params { stream_handle stream; - BOOL done; + UINT32 done; HRESULT result; };
@@ -161,7 +161,7 @@ struct get_buffer_size_params { stream_handle stream; HRESULT result; - UINT32 *size; + UINT32 *frames; };
struct get_latency_params @@ -207,6 +207,7 @@ struct set_volumes_params float master_volume; const float *volumes; const float *session_volumes; + int channel; };
struct set_event_handle_params @@ -240,6 +241,11 @@ struct get_prop_value_params unsigned int *buffer_size; };
+struct midi_init_params +{ + UINT *err; +}; + struct notify_context { BOOL send_notify; @@ -321,6 +327,7 @@ enum unix_funcs test_connect, is_started, get_prop_value, + midi_init, midi_release, midi_out_message, midi_in_message, diff --git a/dlls/winealsa.drv/alsa.c b/dlls/winealsa.drv/alsa.c index c3daf25c85e..ffa39f5e484 100644 --- a/dlls/winealsa.drv/alsa.c +++ b/dlls/winealsa.drv/alsa.c @@ -2098,7 +2098,7 @@ static NTSTATUS alsa_get_buffer_size(void *args)
alsa_lock(stream);
- *params->size = stream->bufsize_frames; + *params->frames = stream->bufsize_frames;
return alsa_unlock_result(stream, ¶ms->result, S_OK); } @@ -2459,6 +2459,7 @@ unixlib_entry_t __wine_unix_call_funcs[] = NULL, alsa_is_started, alsa_get_prop_value, + NULL, alsa_midi_release, alsa_midi_out_message, alsa_midi_in_message, @@ -2647,12 +2648,12 @@ static NTSTATUS alsa_wow64_get_buffer_size(void *args) { stream_handle stream; HRESULT result; - PTR32 size; + PTR32 frames; } *params32 = args; struct get_buffer_size_params params = { .stream = params32->stream, - .size = ULongToPtr(params32->size) + .frames = ULongToPtr(params32->frames) }; alsa_get_buffer_size(¶ms); params32->result = params.result; @@ -2761,13 +2762,15 @@ static NTSTATUS alsa_wow64_set_volumes(void *args) float master_volume; PTR32 volumes; PTR32 session_volumes; + int channel; } *params32 = args; struct set_volumes_params params = { .stream = params32->stream, .master_volume = params32->master_volume, .volumes = ULongToPtr(params32->volumes), - .session_volumes = ULongToPtr(params32->session_volumes) + .session_volumes = ULongToPtr(params32->session_volumes), + .channel = params32->channel }; return alsa_set_volumes(¶ms); } @@ -2877,6 +2880,7 @@ unixlib_entry_t __wine_unix_call_wow64_funcs[] = NULL, alsa_is_started, alsa_wow64_get_prop_value, + NULL, alsa_midi_release, alsa_wow64_midi_out_message, alsa_wow64_midi_in_message, diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index ad322ccfa96..03499a3e40e 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -325,6 +325,7 @@ static void set_stream_volumes(ACImpl *This) params.master_volume = (This->session->mute ? 0.0f : This->session->master_vol); params.volumes = This->vols; params.session_volumes = This->session->channel_vols; + params.channel = 0;
ALSA_CALL(set_volumes, ¶ms); } @@ -801,7 +802,7 @@ static HRESULT WINAPI AudioClient_GetBufferSize(IAudioClient3 *iface, return AUDCLNT_E_NOT_INITIALIZED;
params.stream = This->stream; - params.size = out; + params.frames = out;
ALSA_CALL(get_buffer_size, ¶ms);
diff --git a/dlls/wineoss.drv/mmdevdrv.c b/dlls/wineoss.drv/mmdevdrv.c index 1b081e171b3..3bcb0f5f288 100644 --- a/dlls/wineoss.drv/mmdevdrv.c +++ b/dlls/wineoss.drv/mmdevdrv.c @@ -343,6 +343,7 @@ static void set_stream_volumes(ACImpl *This) params.master_volume = (This->session->mute ? 0.0f : This->session->master_vol); params.volumes = This->vols; params.session_volumes = This->session->channel_vols; + params.channel = 0; OSS_CALL(set_volumes, ¶ms); }
@@ -772,7 +773,7 @@ static HRESULT WINAPI AudioClient_GetBufferSize(IAudioClient3 *iface, return AUDCLNT_E_NOT_INITIALIZED;
params.stream = This->stream; - params.size = frames; + params.frames = frames;
OSS_CALL(get_buffer_size, ¶ms); TRACE("buffer size: %u\n", *frames); diff --git a/dlls/wineoss.drv/oss.c b/dlls/wineoss.drv/oss.c index 221e4e2ff71..4bc8bc20666 100644 --- a/dlls/wineoss.drv/oss.c +++ b/dlls/wineoss.drv/oss.c @@ -1247,7 +1247,7 @@ static NTSTATUS oss_get_buffer_size(void *args)
oss_lock(stream);
- *params->size = stream->bufsize_frames; + *params->frames = stream->bufsize_frames;
return oss_unlock_result(stream, ¶ms->result, S_OK); } @@ -1640,6 +1640,7 @@ unixlib_entry_t __wine_unix_call_funcs[] = oss_test_connect, oss_is_started, NULL, + NULL, oss_midi_release, oss_midi_out_message, oss_midi_in_message, @@ -1844,12 +1845,12 @@ static NTSTATUS oss_wow64_get_buffer_size(void *args) { stream_handle stream; HRESULT result; - PTR32 size; + PTR32 frames; } *params32 = args; struct get_buffer_size_params params = { .stream = params32->stream, - .size = ULongToPtr(params32->size) + .frames = ULongToPtr(params32->frames) }; oss_get_buffer_size(¶ms); params32->result = params.result; @@ -1958,13 +1959,15 @@ static NTSTATUS oss_wow64_set_volumes(void *args) float master_volume; PTR32 volumes; PTR32 session_volumes; + int channel; } *params32 = args; struct set_volumes_params params = { .stream = params32->stream, .master_volume = params32->master_volume, .volumes = ULongToPtr(params32->volumes), - .session_volumes = ULongToPtr(params32->session_volumes) + .session_volumes = ULongToPtr(params32->session_volumes), + .channel = params32->channel }; return oss_set_volumes(¶ms); } @@ -2041,6 +2044,7 @@ unixlib_entry_t __wine_unix_call_wow64_funcs[] = oss_wow64_test_connect, oss_is_started, NULL, + NULL, oss_midi_release, oss_wow64_midi_out_message, oss_wow64_midi_in_message, diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c index d6765d4e26c..d1d9eee068b 100644 --- a/dlls/winepulse.drv/mmdevdrv.c +++ b/dlls/winepulse.drv/mmdevdrv.c @@ -370,6 +370,7 @@ static void set_stream_volumes(ACImpl *This) params.master_volume = This->session->mute ? 0.0f : This->session->master_vol; params.volumes = This->vol; params.session_volumes = This->session->channel_vols; + params.channel = 0; pulse_call(set_volumes, ¶ms); }
@@ -930,7 +931,7 @@ static HRESULT WINAPI AudioClient_GetBufferSize(IAudioClient3 *iface, return AUDCLNT_E_NOT_INITIALIZED;
params.stream = This->pulse_stream; - params.size = out; + params.frames = out; pulse_call(get_buffer_size, ¶ms); return params.result; } diff --git a/dlls/winepulse.drv/pulse.c b/dlls/winepulse.drv/pulse.c index cbd9b3b97ae..41d988e692b 100644 --- a/dlls/winepulse.drv/pulse.c +++ b/dlls/winepulse.drv/pulse.c @@ -2095,7 +2095,7 @@ static NTSTATUS pulse_get_buffer_size(void *args) if (!pulse_stream_valid(stream)) params->result = AUDCLNT_E_DEVICE_INVALIDATED; else - *params->size = stream->bufsize_frames; + *params->frames = stream->bufsize_frames; pulse_unlock();
return STATUS_SUCCESS; @@ -2393,6 +2393,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = NULL, NULL, NULL, + NULL, };
#ifdef _WIN64 @@ -2587,12 +2588,12 @@ static NTSTATUS pulse_wow64_get_buffer_size(void *args) { stream_handle stream; HRESULT result; - PTR32 size; + PTR32 frames; } *params32 = args; struct get_buffer_size_params params = { .stream = params32->stream, - .size = ULongToPtr(params32->size) + .frames = ULongToPtr(params32->frames) }; pulse_get_buffer_size(¶ms); params32->result = params.result; @@ -2701,13 +2702,15 @@ static NTSTATUS pulse_wow64_set_volumes(void *args) float master_volume; PTR32 volumes; PTR32 session_volumes; + int channel; } *params32 = args; struct set_volumes_params params = { .stream = params32->stream, .master_volume = params32->master_volume, .volumes = ULongToPtr(params32->volumes), - .session_volumes = ULongToPtr(params32->session_volumes) + .session_volumes = ULongToPtr(params32->session_volumes), + .channel = params32->channel }; return pulse_set_volumes(¶ms); } @@ -2837,6 +2840,7 @@ const unixlib_entry_t __wine_unix_call_wow64_funcs[] = NULL, NULL, NULL, + NULL, };
#endif /* _WIN64 */