mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
bluez5: opus: tweak ABR
Count retry from last non-good interval. Minimum retry interval 5sec.
This commit is contained in:
parent
5724d405d6
commit
3579857a64
1 changed files with 6 additions and 7 deletions
|
|
@ -1292,18 +1292,17 @@ static int codec_abr_process(void *data, size_t unsent)
|
||||||
if (level_bad) {
|
if (level_bad) {
|
||||||
this->e.next_bitrate = this->e.bitrate * 7 / 8;
|
this->e.next_bitrate = this->e.bitrate * 7 / 8;
|
||||||
abr->last_change = abr->now;
|
abr->last_change = abr->now;
|
||||||
abr->retry_interval = SPA_MIN(abr->retry_interval + 10 * interval,
|
abr->retry_interval = SPA_MIN(abr->retry_interval + 10*interval,
|
||||||
30 * interval);
|
30 * interval);
|
||||||
|
} else if (!level_good) {
|
||||||
|
abr->last_change = abr->now;
|
||||||
} else if (abr->now < abr->last_change + abr->retry_interval) {
|
} else if (abr->now < abr->last_change + abr->retry_interval) {
|
||||||
/* noop */
|
/* noop */
|
||||||
} else if (level_good) {
|
} else {
|
||||||
this->e.next_bitrate = this->e.bitrate + this->e.bitrate_max / 20;
|
this->e.next_bitrate = this->e.bitrate + this->e.bitrate_max / 20;
|
||||||
abr->last_change = abr->now;
|
abr->last_change = abr->now;
|
||||||
abr->retry_interval = (abr->retry_interval > 4*interval ?
|
abr->retry_interval = SPA_MAX(abr->retry_interval, (5+4)*interval)
|
||||||
abr->retry_interval - 4*interval :
|
- 4*interval;
|
||||||
0);
|
|
||||||
} else {
|
|
||||||
abr->last_change = abr->now;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
abr->last_update = abr->now;
|
abr->last_update = abr->now;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue