aboutsummaryrefslogtreecommitdiff
path: root/webAO/utils/calculateApngLength.js
diff options
context:
space:
mode:
Diffstat (limited to 'webAO/utils/calculateApngLength.js')
-rw-r--r--webAO/utils/calculateApngLength.js44
1 files changed, 22 insertions, 22 deletions
diff --git a/webAO/utils/calculateApngLength.js b/webAO/utils/calculateApngLength.js
index 0a84d46..ab8682a 100644
--- a/webAO/utils/calculateApngLength.js
+++ b/webAO/utils/calculateApngLength.js
@@ -3,28 +3,28 @@
* @param {data} apngFile the APNG data
*/
const calculateApngLength = (apngFile) => {
- const d = new Uint8Array(apngFile);
- // https://wiki.mozilla.org/APNG_Specification#.60fcTL.60:_The_Frame_Control_Chunk
- let duration = 0;
- for (let i = 0; i < d.length; i++) {
- // Find fcTL header (66 63 54 4C)
- if (d[i] === 0x66
- && d[i + 1] === 0x63
- && d[i + 2] === 0x54
- && d[i + 3] === 0x4C) {
- // numerator and denominator
- const delayNum = Number(d[i + 23]);
- const delayDen = Number(d[i + 25]);
- let delay;
- // minimum is 100ms
- if (delayDen === 0) {
- delay = delayNum / 100;
- } else {
- delay = delayNum / delayDen;
- }
- duration += delay;
+ const d = new Uint8Array(apngFile);
+ // https://wiki.mozilla.org/APNG_Specification#.60fcTL.60:_The_Frame_Control_Chunk
+ let duration = 0;
+ for (let i = 0; i < d.length; i++) {
+ // Find fcTL header (66 63 54 4C)
+ if (d[i] === 0x66
+ && d[i + 1] === 0x63
+ && d[i + 2] === 0x54
+ && d[i + 3] === 0x4C) {
+ // numerator and denominator
+ const delayNum = Number(d[i + 23]);
+ const delayDen = Number(d[i + 25]);
+ let delay;
+ // minimum is 100ms
+ if (delayDen === 0) {
+ delay = delayNum / 100;
+ } else {
+ delay = delayNum / delayDen;
+ }
+ duration += delay;
+ }
}
- }
- return duration * 10;
+ return duration * 10;
};
export default calculateApngLength;