[PATCH 1/2] winepulse.drv: Make timer thread time-critical.
Andrew Eikum
aeikum at codeweavers.com
Fri Mar 12 14:40:52 CST 2021
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
On Sat, Mar 06, 2021 at 02:27:13AM +0100, Torge Matthies wrote:
> Signed-off-by: Torge Matthies <openglfreak at googlemail.com>
> ---
> These two patches help applications that need very low audio latency.
> They make sense individually, but are related so I'm sending them as one set.
>
> This first patch does nothing on vanilla Wine, but helps on Wine Staging and
> other patched Wine versions.
>
> dlls/winepulse.drv/mmdevdrv.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c
> index 417067f0bf8..4609b2851ed 100644
> --- a/dlls/winepulse.drv/mmdevdrv.c
> +++ b/dlls/winepulse.drv/mmdevdrv.c
> @@ -2045,8 +2045,10 @@ static HRESULT WINAPI AudioClient_Start(IAudioClient3 *iface)
> This->started = TRUE;
> This->just_started = TRUE;
>
> - if(!This->timer)
> + if(!This->timer) {
> This->timer = CreateThread(NULL, 0, pulse_timer_cb, This, 0, NULL);
> + SetThreadPriority(This->timer, THREAD_PRIORITY_TIME_CRITICAL);
> + }
> }
> pthread_mutex_unlock(&pulse_lock);
> return hr;
> --
> 2.30.1
>
>
More information about the wine-devel
mailing list