Cover immediate buffer probe failures and document tuning
This commit is contained in:
1 parent
50bcf5539a
commit
91030de5ea
2 files changed
+47
-10
No files matched your search
+25
-1
@@ -63,7 +63,7 @@ class CallPlaybackBufferTest {
|
||||
assertEquals("stable-probe", d.tick()?.reason)
|
||||
}
|
||||
|
||||
@Test fun AcceptedHardwareMinimumIsNotProbedForever() {
|
||||
@Test fun acceptedHardwareMinimumIsNotProbedForever() {
|
||||
val d = Device(minimum = 1440)
|
||||
d.run(32_000)
|
||||
assertEquals(1440, d.frames)
|
||||
@@ -113,4 +113,28 @@ class CallPlaybackBufferTest {
|
||||
d.run(32_000)
|
||||
assertEquals(960, d.frames)
|
||||
}
|
||||
|
||||
@Test fun firstUnderrunImmediatelyAfterShrinkRejectsProbe() {
|
||||
val d = Device()
|
||||
d.run(32_000)
|
||||
assertEquals(960, d.frames)
|
||||
d.underruns++
|
||||
assertEquals("underrun", d.tick()?.reason)
|
||||
assertEquals(1920, d.frames)
|
||||
}
|
||||
|
||||
@Test fun repeatedFailuresBackOffToFiveMinutesButStillAllowRecovery() {
|
||||
val d = Device()
|
||||
d.run(32_000)
|
||||
val delays = listOf(60_000L, 120_000L, 240_000L, 300_000L, 300_000L)
|
||||
for (delay in delays) {
|
||||
d.underruns++
|
||||
assertEquals("underrun", d.tick()?.reason)
|
||||
assertEquals(1920, d.frames)
|
||||
d.run(delay + 1_800)
|
||||
assertEquals(1920, d.frames)
|
||||
assertEquals("stable-probe", d.tick()?.reason)
|
||||
assertEquals(960, d.frames)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user