vban
Version:
Node VBAN implementation
44 lines (43 loc) • 1.33 kB
TypeScript
import { Buffer } from 'buffer';
import { ESubProtocol } from './ESubProtocol.js';
import { IVBANHeaderCommon } from './IVBANHeaderCommon.js';
import { IVBANHeader } from './IVBANHeader.js';
export declare class VBANPacket {
/**
* the subProtocol of this packet
* {@link ESubProtocol}
*/
subProtocol: ESubProtocol;
/**
* the name of the current stream .
* Voicemeeter rely on it to allow a packet or not
*/
streamName: string;
/**
* Sample Rate for this stream
*/
sr: number;
/**
* frameCounter allow checking if you receive frame in order, and without losing them
*/
frameCounter: number;
static readonly frameCounters: Map<string, number>;
/**
* Extract headers and data from UDPPacket, each Packet will continue the process
*/
static prepareFromUDPPacket(headersBuffer: Buffer, checkSR?: boolean): IVBANHeaderCommon;
/**
* common constructor
*/
constructor(headers: IVBANHeader);
/**
* Convert a VBANPacket to a UDP packet
*/
protected static convertToUDPPacket(headers: Omit<IVBANHeaderCommon, 'srIndex'>, data: Buffer, sampleRate?: number): Buffer;
/**
* EXPERIMENTAL - DO NOT USE
*
* @experimental
*/
static checkFrameCounter(headers: VBANPacket): void;
}