From: Davide Beatrici git@davidebeatrici.dev
--- dlls/wineoss.drv/mmdevdrv.c | 3 ++- dlls/wineoss.drv/oss.c | 8 +++++--- dlls/wineoss.drv/unixlib.h | 3 ++- 3 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/dlls/wineoss.drv/mmdevdrv.c b/dlls/wineoss.drv/mmdevdrv.c index 103684b0054..ed3e8cbd8bf 100644 --- a/dlls/wineoss.drv/mmdevdrv.c +++ b/dlls/wineoss.drv/mmdevdrv.c @@ -1430,7 +1430,8 @@ static HRESULT WINAPI AudioClock_GetPosition(IAudioClock *iface, UINT64 *pos, return E_POINTER;
params.stream = This->stream; - params.position = pos; + params.device = FALSE; + params.pos = pos; params.qpctime = qpctime; OSS_CALL(get_position, ¶ms);
diff --git a/dlls/wineoss.drv/oss.c b/dlls/wineoss.drv/oss.c index 00e24dd7b3c..cea278fcac0 100644 --- a/dlls/wineoss.drv/oss.c +++ b/dlls/wineoss.drv/oss.c @@ -1300,7 +1300,7 @@ static NTSTATUS oss_get_position(void *args) { struct get_position_params *params = args; struct oss_stream *stream = handle_get_stream(params->stream); - UINT64 *pos = params->position, *qpctime = params->qpctime; + UINT64 *pos = params->pos, *qpctime = params->qpctime;
oss_lock(stream);
@@ -1901,14 +1901,16 @@ static NTSTATUS oss_wow64_get_position(void *args) struct { stream_handle stream; + BOOL device; HRESULT result; - PTR32 position; + PTR32 pos; PTR32 qpctime; } *params32 = args; struct get_position_params params = { .stream = params32->stream, - .position = ULongToPtr(params32->position), + .device = params32->device, + .pos = ULongToPtr(params32->pos), .qpctime = ULongToPtr(params32->qpctime) }; oss_get_position(¶ms); diff --git a/dlls/wineoss.drv/unixlib.h b/dlls/wineoss.drv/unixlib.h index 1ea9f0995ef..38f2a4c6d74 100644 --- a/dlls/wineoss.drv/unixlib.h +++ b/dlls/wineoss.drv/unixlib.h @@ -186,8 +186,9 @@ struct get_frequency_params struct get_position_params { stream_handle stream; + BOOL device; HRESULT result; - UINT64 *position; + UINT64 *pos; UINT64 *qpctime; };