This will be required for MFT decoder transforms to work. They don't usually produce an output sample on every pushed input sample, and the session may need to request more sample from upstream and push them into the transform or it will not get any output and get stuck.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3004
I don't know why the pipeline fails. The author name and email are set on all eight commits:
```
$ git clone https://gitlab.winehq.org/dropbear/wine.git && cd wine
...
$ git checkout afunix
Branch 'afunix' set up to track remote branch 'afunix' from 'origin'.
Switched to a new branch 'afunix'
$ git log --oneline --author="dropbear.sh(a)gmail.com" --pretty=format:"%h %an <%ae> %s"
c0fdbf09008 Ally Sommers <dropbear.sh(a)gmail.com> Merge branch wine:master into afunix
44e2032ce58 Ally Sommers <dropbear.sh(a)gmail.com> ws2_32/tests: Add test for AF_UNIX sockets.
668d655c7a6 Ally Sommers <dropbear.sh(a)gmail.com> server: Fix getsockname() and accept() on AF_UNIX sockets.
418bd0cb66f Ally Sommers <dropbear.sh(a)gmail.com> server: Introduce error when attempting to connect() to abstract AF_UNIX sockets.
50985b2b9bf Ally Sommers <dropbear.sh(a)gmail.com> server: Allow for deletion of socket files.
a12834a6a76 Ally Sommers <dropbear.sh(a)gmail.com> ws2_32: Add support for AF_UNIX sockets.
85b6afe3e2b Ally Sommers <dropbear.sh(a)gmail.com> ntdll/unix: Add support for AF_UNIX sockets to multiple functions.
ab6e1c5d48d Ally Sommers <dropbear.sh(a)gmail.com> ws2_32: Add afunix.h header.
```
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2786#note_34940
This uses a new hardware message with Wine internal WM_WINE_CLIPCURSOR message, to notify the foreground window of ClipCursor calls, or resets. It could possibly have used posted messages, like is done to request the desktop to release the clipping rectangle but I figured that a hardware message could be appropriate and is possibly the preferred mechanism to notify the foreground window.
We use QS_RAWINPUT for convenience here, as to automatically release the hardware message, and because this message is somewhat low-level. It could be anything, and maybe QS_MOUSEMOVE, but we'd have to then manually call accept_hardware_message from win32u.
The desktop posted message is kept, as there's no guarantee that the foreground window will be processing its hardware messages when we need, and/or that the desktop window is foreground.
--
v3: winex11: Remove now unnecessary ClipCursor forwarding to foreground thread.
win32u: Asynchronously apply or reset ClipCursor from the hardware message.
server: Queue a hardware WM_WINE_CLIPCURSOR message to the foreground thread.
server: Use a separate helper to merge WM_MOUSEMOVE messages.
server: Use the helper to reset the clip rect when the desktop size changes.
win32u: Add a reset parameter to WM_WINE_CLIPCURSOR and driver ClipCursor.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2981