Release Android inflight state at decoder EOS before audio tail
This commit is contained in:
1 parent
7b4dfc062a
commit
9ef18b6324
3 files changed
+15
-2
No files matched your search
@@ -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)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user