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.
This commit is contained in:
Wim Taymans 2022-10-26 13:22:38 +02:00
parent 0396ca4931
commit 431176c618

View file

@ -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);