From 431176c6189a9d044370f56845a7cbec688e5c3f Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 26 Oct 2022 13:22:38 +0200 Subject: [PATCH] alsa: avoid division by 0 Use the wanted amount of samples to determine the buffered data. Also make sure we don't divide by 0. --- pipewire-alsa/alsa-plugins/pcm_pipewire.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipewire-alsa/alsa-plugins/pcm_pipewire.c b/pipewire-alsa/alsa-plugins/pcm_pipewire.c index 7a20daf01..df82944da 100644 --- a/pipewire-alsa/alsa-plugins/pcm_pipewire.c +++ b/pipewire-alsa/alsa-plugins/pcm_pipewire.c @@ -477,7 +477,7 @@ static void on_stream_process(void *data) pw->transfered += xfer; /* more then requested data transfered, use them in next iteration */ - pw->buffered = pw->transfered < b->requested ? 0 : (pw->transfered % b->requested); + pw->buffered = want == 0 || pw->transfered < want ? 0 : (pw->transfered % want); pw->now = pwt.now; SEQ_WRITE(pw->seq);