Bug introduced in !600.
``` 00dc:trace:alsa:AudioClient_GetService (00A53680)->({cd63314f-3fba-4a1b-812c-ef96358728e7}, 0022FCB0) 00dc:trace:alsa:AudioClient_AddRef (00A53680) Refcount now 2 00dc:trace:alsa:AudioClock_GetFrequency (00A53680)->(0022FCC8) render.c:1056: Clock Frequency 384000 00dc:trace:alsa:AudioClock_GetPosition (00A53680)->(00000000, 00000000) 00dc:trace:alsa:AudioClock_GetPosition (00A53680)->(0022FCD0, 0022FCD8) 00dc:trace:alsa:alsa_get_position frames written: 0, held: 0, state: 0x2, position: 0 render.c:1071: Test failed: GetPosition failed: 00423930 render.c:1072: Test failed: GetPosition returned non-zero pos before being started render.c:1073: Test failed: GetPosition returned zero pcpos 00dc:trace:alsa:AudioClient_GetService (00A53680)->({f294acfc-3146-4483-a7bf-addca7c260e2}, 0022FCB4) 00dc:trace:alsa:AudioClient_AddRef (00A53680) Refcount now 3 00dc:trace:alsa:AudioRenderClient_GetBuffer (00A53680)->(24001, 0022FCC0) ```
And the test hangs.
From: Davide Beatrici git@davidebeatrici.dev
Bug introduced in e29dc33aebf4e1d4e30fd158b69338331edd3f65. --- dlls/winealsa.drv/alsa.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/dlls/winealsa.drv/alsa.c b/dlls/winealsa.drv/alsa.c index fb688fe61c6..882562bcf91 100644 --- a/dlls/winealsa.drv/alsa.c +++ b/dlls/winealsa.drv/alsa.c @@ -2735,6 +2735,7 @@ static NTSTATUS alsa_wow64_get_position(void *args) struct { stream_handle stream; + BOOL device; HRESULT result; PTR32 pos; PTR32 qpctime; @@ -2742,6 +2743,7 @@ static NTSTATUS alsa_wow64_get_position(void *args) struct get_position_params params = { .stream = params32->stream, + .device = params32->device, .pos = ULongToPtr(params32->pos), .qpctime = ULongToPtr(params32->qpctime) };