mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-09-28 03:13:51 +02:00
58 lines
986 B
TypeScript
58 lines
986 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 WorkerCommand = {
|
|
type: 'init';
|
|
data: {
|
|
numberOfChannels: number;
|
|
sampleRate: number;
|
|
bitrate: number;
|
|
};
|
|
} | {
|
|
type: 'encode';
|
|
data: {
|
|
ctx: number;
|
|
audioData: ArrayBuffer;
|
|
timestamp: number;
|
|
};
|
|
} | {
|
|
type: 'flush';
|
|
data: {
|
|
ctx: number;
|
|
};
|
|
};
|
|
|
|
export type PacketInfo = {
|
|
encodedData: ArrayBuffer;
|
|
pts: number;
|
|
duration: number;
|
|
};
|
|
|
|
export type WorkerResponseData = {
|
|
type: 'init';
|
|
ctx: number;
|
|
frameSize: number;
|
|
extradata: ArrayBuffer;
|
|
} | {
|
|
type: 'encode';
|
|
packets: PacketInfo[];
|
|
} | {
|
|
type: 'flush';
|
|
packets: PacketInfo[];
|
|
};
|
|
|
|
export type WorkerResponse = {
|
|
id: number;
|
|
} & ({
|
|
success: true;
|
|
data: WorkerResponseData;
|
|
} | {
|
|
success: false;
|
|
error: unknown;
|
|
});
|