[PATCH 3/3] winepulse.drv: Write data to pulse in pulse_release_render_buffer.
Andrew Eikum
aeikum at codeweavers.com
Fri Dec 17 10:02:18 CST 2021
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
On Thu, Dec 16, 2021 at 06:20:26PM +0100, Rémi Bernon wrote:
> Instead of waiting for the timer loop, which sometimes causes pulse
> buffer underflows.
>
> This greatly reduces the amount of underflows in Prince of Persia: The
> Forgotten Sands, as well as in Forza Horizon 4 introduction and menu
> audio, which are suffering from audio clicks since PE xaudio conversion.
>
> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52225
> Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
> ---
> dlls/winepulse.drv/pulse.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/dlls/winepulse.drv/pulse.c b/dlls/winepulse.drv/pulse.c
> index fb8133e9e45..bd886e0d879 100644
> --- a/dlls/winepulse.drv/pulse.c
> +++ b/dlls/winepulse.drv/pulse.c
> @@ -1675,6 +1675,9 @@ static NTSTATUS pulse_release_render_buffer(void *args)
> stream->clock_written += written_bytes;
> stream->locked = 0;
>
> + /* push as much data as we can to pulseaudio too */
> + pulse_write(stream);
> +
> TRACE("Released %u, held %lu\n", params->written_frames, stream->held_bytes / pa_frame_size(&stream->ss));
>
> pulse_unlock();
> --
> 2.34.0
>
>
More information about the wine-devel
mailing list