From 7aee0d8a524a069971e58eaf956260aa4f9427f4 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Wed, 4 May 2022 18:43:00 +0900 Subject: [PATCH] fixed a bug where ipf movie playback would hang after the last frame --- assets/disk0/decodemovipf.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/assets/disk0/decodemovipf.js b/assets/disk0/decodemovipf.js index 7838e26..d15ab8f 100644 --- a/assets/disk0/decodemovipf.js +++ b/assets/disk0/decodemovipf.js @@ -153,7 +153,7 @@ let startTime = sys.nanoTime() let decodefun = (type > 255) ? graphics.decodeIpf2 : graphics.decodeIpf1 while (framesRendered < frameCount) { - //serial.println(`Frame #${f+1}`) +// serial.println(`Frame #${framesRendered+1}`) let t1 = sys.nanoTime() @@ -170,6 +170,7 @@ while (framesRendered < frameCount) { while (frameUnit >= 1) { let payloadLen = readInt() let gzippedPtr = readBytes(payloadLen) + framesRendered += 1 if (frameUnit == 1) { gzip.decompFromTo(gzippedPtr, payloadLen, ipfbuf) // should return FBUF_SIZE @@ -179,8 +180,6 @@ while (framesRendered < frameCount) { sys.free(gzippedPtr) frameUnit -= 1 } - - framesRendered += frameUnit } else { framesRendered += 1 @@ -198,4 +197,4 @@ sys.free(ipfbuf) let timeTook = (endTime - startTime) / 1000000000.0 -//println(`Actual FPS: ${frameCount / timeTook}`) \ No newline at end of file +println(`Actual FPS: ${framesRendered / timeTook}`) \ No newline at end of file