mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
pulse-server: recalculate tlength on quantum change
Always reevaluate the tlength or total buffered samples when the quantum changes, even for the first sample because it is possible that we completely miscalculated the length when we started, like when the quantum is force high and the requested latency is low. Also only increase the calculated tlength, for smaller sizes we don't need to do anything, we can keep the latency as is it. See #1930
This commit is contained in:
parent
512a52d9c6
commit
3c66d46007
2 changed files with 3 additions and 7 deletions
|
|
@ -265,14 +265,10 @@ int stream_update_minreq(struct stream *stream, uint32_t minreq)
|
|||
uint32_t new_tlength = minreq + 2 * stream->attr.minreq;
|
||||
uint64_t lat_usec;
|
||||
|
||||
if (new_tlength == old_tlength)
|
||||
if (new_tlength <= old_tlength)
|
||||
return 0;
|
||||
|
||||
if (old_tlength > new_tlength)
|
||||
stream->missing -= old_tlength - new_tlength;
|
||||
else
|
||||
stream->missing += new_tlength - old_tlength;
|
||||
|
||||
stream->missing += new_tlength - old_tlength;
|
||||
stream->attr.tlength = new_tlength;
|
||||
|
||||
if (client->version >= 15) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue