mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-04-09 08:21:08 -04:00
bluez5: iso-io: don't use streams without tx_latency enabled for fill level calculation
When there is a stream without tx_latency enabled, the fill_count ends with MIN_FILL value. This causes one buffer of silence to be written to every stream before the actual data in each iteration. Consequently, more data is written than consumed in each iteration. After several iterations, spa_bt_send fails, triggering a group_latency_check failure in few next iterations and leading to dropped data. Skip streams without tx_latency enabled in fill level calculations to prevent these audio glitches.
This commit is contained in:
parent
eeaddbb385
commit
42415eadd9
1 changed files with 1 additions and 1 deletions
|
|
@ -411,7 +411,7 @@ static void group_on_timeout(struct spa_source *source)
|
|||
/* Ensure controller fill level */
|
||||
fill_count = UINT_MAX;
|
||||
spa_list_for_each(stream, &group->streams, link) {
|
||||
if (!stream->sink || !group->started)
|
||||
if (!stream->sink || !group->started || !stream->tx_latency.enabled)
|
||||
continue;
|
||||
if (stream->tx_latency.queue < MIN_FILL)
|
||||
fill_count = SPA_MIN(fill_count, MIN_FILL - stream->tx_latency.queue);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue