UNPKG

@volley/recognition-client-sdk

Version:

Recognition Service TypeScript/Node.js Client SDK

69 lines 1.8 kB
/** * Audio Ring Buffer * Manages circular buffer for audio data with overflow detection */ export interface BufferedAudio { data: ArrayBuffer | ArrayBufferView; timestamp: number; } export interface AudioRingBufferConfig { maxBufferDurationSec: number; chunksPerSecond: number; logger?: (level: 'debug' | 'info' | 'warn' | 'error', message: string, data?: any) => void; } export declare class AudioRingBuffer { private buffer; private bufferSize; private writeIndex; private readIndex; private hasWrapped; private totalBufferedBytes; private overflowCount; private chunksBuffered; private logger?; constructor(config: AudioRingBufferConfig); /** * Write audio chunk to ring buffer with overflow detection */ write(audioData: ArrayBuffer | ArrayBufferView): void; /** * Read next chunk from buffer */ read(): BufferedAudio | null; /** * Read all buffered chunks without removing them */ readAll(): BufferedAudio[]; /** * Flush all buffered data and advance read pointer */ flush(): BufferedAudio[]; /** * Get count of buffered chunks */ getBufferedCount(): number; /** * Check if buffer is empty */ isEmpty(): boolean; /** * Check if buffer has overflowed */ isOverflowing(): boolean; /** * Clear the buffer and reset all counters * Frees memory by releasing all stored audio chunks */ clear(): void; /** * Get buffer statistics */ getStats(): { chunksBuffered: number; currentBufferedChunks: number; overflowCount: number; hasWrapped: boolean; totalBufferedBytes: number; }; } //# sourceMappingURL=audio-ring-buffer.d.ts.map