Files
mediabunny/packages/flac-encoder/src/shared.ts
T

56 lines
956 B
TypeScript

/*!
* Copyright (c) 2026-present, Vanilagy and contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
export type PacketInfo = {
encodedData: ArrayBuffer;
samples: number;
};
export type WorkerCommand = {
type: 'init';
data: {
numberOfChannels: number;
sampleRate: number;
bitsPerSample: 16 | 24;
};
} | {
type: 'encode';
data: {
ctx: number;
audioData: ArrayBuffer;
numSamples: number;
};
} | {
type: 'flush';
data: {
ctx: number;
};
};
export type WorkerResponseData = {
type: 'init';
ctx: number;
header: ArrayBuffer;
} | {
type: 'encode';
packets: PacketInfo[];
} | {
type: 'flush';
packets: PacketInfo[];
};
export type WorkerResponse = {
id: number;
} & ({
success: true;
data: WorkerResponseData;
} | {
success: false;
error: unknown;
});