mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-06-10 15:04:03 +09:00
fixed a bug where ipf movie playback would hang after the last frame
This commit is contained in:
@@ -153,7 +153,7 @@ let startTime = sys.nanoTime()
|
|||||||
let decodefun = (type > 255) ? graphics.decodeIpf2 : graphics.decodeIpf1
|
let decodefun = (type > 255) ? graphics.decodeIpf2 : graphics.decodeIpf1
|
||||||
|
|
||||||
while (framesRendered < frameCount) {
|
while (framesRendered < frameCount) {
|
||||||
//serial.println(`Frame #${f+1}`)
|
// serial.println(`Frame #${framesRendered+1}`)
|
||||||
|
|
||||||
let t1 = sys.nanoTime()
|
let t1 = sys.nanoTime()
|
||||||
|
|
||||||
@@ -170,6 +170,7 @@ while (framesRendered < frameCount) {
|
|||||||
while (frameUnit >= 1) {
|
while (frameUnit >= 1) {
|
||||||
let payloadLen = readInt()
|
let payloadLen = readInt()
|
||||||
let gzippedPtr = readBytes(payloadLen)
|
let gzippedPtr = readBytes(payloadLen)
|
||||||
|
framesRendered += 1
|
||||||
|
|
||||||
if (frameUnit == 1) {
|
if (frameUnit == 1) {
|
||||||
gzip.decompFromTo(gzippedPtr, payloadLen, ipfbuf) // should return FBUF_SIZE
|
gzip.decompFromTo(gzippedPtr, payloadLen, ipfbuf) // should return FBUF_SIZE
|
||||||
@@ -179,8 +180,6 @@ while (framesRendered < frameCount) {
|
|||||||
sys.free(gzippedPtr)
|
sys.free(gzippedPtr)
|
||||||
frameUnit -= 1
|
frameUnit -= 1
|
||||||
}
|
}
|
||||||
|
|
||||||
framesRendered += frameUnit
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
framesRendered += 1
|
framesRendered += 1
|
||||||
@@ -198,4 +197,4 @@ sys.free(ipfbuf)
|
|||||||
|
|
||||||
let timeTook = (endTime - startTime) / 1000000000.0
|
let timeTook = (endTime - startTime) / 1000000000.0
|
||||||
|
|
||||||
//println(`Actual FPS: ${frameCount / timeTook}`)
|
println(`Actual FPS: ${framesRendered / timeTook}`)
|
||||||
Reference in New Issue
Block a user