This comes from behavioral study of Windows, which doesn't seem to check if the
lock is actually exclusively held, and just simply decrement the value stored
in the lock.
This fixes a dead lock which prevents WeCom from starting up.
--
v11: ntdll: An implementation of SRWLOCK that closer matches Windows'.
include: add atomic read/write of pointers
https://gitlab.winehq.org/wine/wine/-/merge_requests/3504
This comes from behavioral study of Windows, which doesn't seem to check if the
lock is actually exclusively held, and just simply decrement the value stored
in the lock.
This fixes a dead lock which prevents WeCom from starting up.
--
v10: ntdll: An implementation of SRWLOCK that closer matches Windows'.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3504
There is a working in progress winegstreamer muxer backend: !3303
This patch set is the windows api side(frontend) of the muxer stuff.
It will make the patch set too large to submit the backend and frontend together, so I decide to submit the frontend first.
--
v4: winegstreamer: Add async command handling to media sink.
winegstreamer: Add IMFClockStateSink stubs to media sink.
winegstreamer: Implement IMFMediaEventGenerator for media sink.
winegstreamer: Add IMFMediaTypeHandler stubs to stream sink.
winegstreamer: Implement IMFMediaEventGenerator for stream sink.
winegstreamer: Add stubs for stream sink.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3528
There is a working in progress winegstreamer muxer backend: !3303
This patch set is the windows api side(frontend) of the muxer stuff.
It will make the patch set too large to submit the backend and frontend together, so I decide to submit the frontend first.
--
v3: winegstreamer: Add async command handling to media sink.
winegstreamer: Add IMFClockStateSink stubs to media sink.
winegstreamer: Implement IMFMediaEventGenerator for media sink.
winegstreamer: Add IMFMediaTypeHandler stubs to stream sink.
winegstreamer: Implement IMFMediaEventGenerator for stream sink.
winegstreamer: Add stubs for stream sink.
winegstreamer: Add stubs for media sink.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3528
There is a working in progress winegstreamer muxer backend: !3303
This patch set is the windows api side(frontend) of the muxer stuff.
It will make the patch set too large to submit the backend and frontend together, so I decide to submit the frontend first.
--
v2: winegstreamer: Add async command handling to media sink.
winegstreamer: Add IMFClockStateSink stubs to media sink.
winegstreamer: Implement IMFMediaEventGenerator for media sink.
winegstreamer: Add IMFMediaTypeHandler stubs to stream sink.
winegstreamer: Add stubs for stream sink.
winegstreamer: Add stubs for media sink.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3528
I'm not sure how could I test this behavior, right now the test I wrote works but there are times where it doesn't enter into the deadlock.
--
v6: evr: Remove process input handling from streaming thread.
evr: Don't lock presenter allocator when calling NotifyRelease
https://gitlab.winehq.org/wine/wine/-/merge_requests/3319