Verify outstanding read replies and explicit video demand

This commit is contained in:
evgeny committed 2026-10-14 13:49:14 +02:00
1 parent 74c96ba5e9
commit 360a6efafc
2 files changed
+16 -5

No files matched your search

@@ -57,6 +57,17 @@ class StreamDecodePumpTest {
catch (expected: IllegalStateException) { assertTrue(expected.message!!.contains("no output progress")) }
}
@Test fun outstandingReadCanArriveAfterFutureOutputWithoutAnotherRead() {
val codec = Codec(1)
codec.pump.offer(Frame(100000), 0); codec.pump.step(0, 0)
codec.pump.offer(Frame(140000), 1)
assertFalse(codec.pump.wantsInput); codec.pump.step(0, 1)
assertEquals(1L, codec.pump.inputCount); assertNotNull(codec.pump.input)
codec.pump.step(100000, 100000)
assertEquals(2L, codec.pump.inputCount); assertEquals(140000L, codec.pump.output!!.pts)
codec.pump.step(140000, 140000); assertEquals(2, codec.released)
}
@Test fun networkPauseKeepsReferencesAndAllowsIncompletePipelineToResume() {
val codec = Codec(4)
repeat(2) { i -> codec.pump.offer(Frame(i * 40000L), i * 40000L); codec.pump.step(0, i * 40000L) }