|
|
|
|
@ -95,4 +95,15 @@ class StreamDecodePumpTest {
|
|
|
|
|
codec.pump.step(120000, 200000) |
|
|
|
|
assertEquals(4L, codec.pump.outputCount); assertEquals(120000L, codec.pump.decoderLeadUs) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test fun emptyEosReleasesTheBufferAndClearsInputsWithoutDisplayPictures() { |
|
|
|
|
var finishing = false; var eof = false; var released = 0 |
|
|
|
|
val pump = StreamDecodePump<Frame>(submit = { true }, receive = { |
|
|
|
|
if (finishing && !eof) { eof = true; StreamDecodePump.Output(0, 80000, eos = true, empty = true) } else null |
|
|
|
|
}, release = { _, render -> assertFalse(render); released++ }) |
|
|
|
|
repeat(3) { i -> pump.offer(Frame(i * 40000L), i * 40000L); pump.step(0, i * 40000L) } |
|
|
|
|
assertEquals(3, pump.inflight); finishing = true; pump.step(0, 120000) |
|
|
|
|
assertTrue(pump.ended); assertEquals(0, pump.inflight); assertEquals(-1L, pump.oldestSubmittedPts) |
|
|
|
|
assertEquals(1, released); pump.checkProgress(30_000_000, true) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|