From 14bb3e80b111b4a73fa0b6a4579e6264123c2afe Mon Sep 17 00:00:00 2001 From: Wanjohi <71614375+wanjohiryan@users.noreply.github.com> Date: Mon, 15 May 2023 23:50:17 +0300 Subject: [PATCH] Fix for endIndex == 0 breaking audio The audio seems to break whenever endIndex goes to O, making "second" variable a ``bash Float32Array [buffer: SharedArrayBuffer(17640), byteLength: 0, byteOffset: 0, length: 0, Symbol(Symbol.toStringTag): 'Float32Array'] buffer:SharedArrayBuffer(17640) byteLength:0 byteOffset:0 length: 0 Symbol(Symbol.toStringTag): "Float32Array" [[Prototype]]:TypedArray `` --- player/src/audio/ring.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/player/src/audio/ring.ts b/player/src/audio/ring.ts index 3eaef49..7c95144 100644 --- a/player/src/audio/ring.ts +++ b/player/src/audio/ring.ts @@ -50,7 +50,9 @@ export class Ring { planeIndex: i, frameCount: count, }) - } else { + //audio seems to be breaking whenever endIndex is 0 + //this works, without "chopiness" + } else if (startIndex >= endIndex && endIndex != 0) { const first = channel.subarray(startIndex) const second = channel.subarray(0, endIndex) @@ -59,15 +61,12 @@ export class Ring { frameCount: first.length, }) - //For some reason this breaks audio... and this is my temporary fix //console.log("frame offset", first.length , "frame count", second.length) to test - if (first.length < second.length) { frame.copyTo(second, { planeIndex: i, frameOffset: first.length, frameCount: second.length, }) - } } }