From 7cbc2a769e71b5e2d4301ae55ba15ee3cd709a83 Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Mon, 16 Oct 2023 15:07:19 +0200 Subject: [PATCH] Tweak --- src/util.ts | 4 ++++ src/video-element.ts | 6 ++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/util.ts b/src/util.ts index 3997893..949bf88 100644 --- a/src/util.ts +++ b/src/util.ts @@ -32,6 +32,10 @@ export function arrayRemoveAt(array: T[], index: number): void { } } +export function sumWith(array: T[], cb: (element: T) => number): number { + return array.reduce((total, element) => total + cb(element), 0); +} + export function queueTask(fn: () => void): void { setTimeout(fn, 0); } diff --git a/src/video-element.ts b/src/video-element.ts index 1f17156..445f038 100644 --- a/src/video-element.ts +++ b/src/video-element.ts @@ -14,6 +14,7 @@ import { Deferred, Direction, queueTask, + sumWith, waitForEvent } from "./util"; import { TimeRange, TimeRanges } from "./time-ranges"; @@ -1113,10 +1114,7 @@ export class BabyVideoElement extends HTMLElement { const { numberOfChannels, sampleRate } = frames[0]; const audioBuffer = new AudioBuffer({ numberOfChannels, - length: frames.reduce( - (totalFrames, frame) => totalFrames + frame.numberOfFrames, - 0 - ), + length: sumWith(frames, (frame) => frame.numberOfFrames), sampleRate }); for (let channel = 0; channel < numberOfChannels; channel++) {