UNPKG

@davidcal/fec-raptorq

Version:

Node.js wrapper for RaptorQ forward error correction

59 lines (46 loc) 1.28 kB
// TypeScript declarations for RaptorQ Suppa module export interface EncodeOptions { symbol_size?: number; num_repair_symbols?: number; num_source_blocks?: number; num_sub_blocks?: number; symbol_alignment?: number; } export interface StrategySbn { mode?: "enable" | "override" | "disable"; value?: number; // 0-255, only used when mode is "override" } export interface Strategy { sbn?: StrategySbn; } export interface EncodeInput { options?: EncodeOptions; data: Uint8Array; strategy?: Strategy; } export interface EncodeResult { oti: Promise<Uint8Array>; encoding_packets: AsyncIterable<Uint8Array>; } export interface DecodeUsage { output_format?: "combined" | "blocks"; } export interface DecodeInput { usage?: DecodeUsage; oti: Uint8Array; encoding_packets: AsyncIterable<Uint8Array>; strategy?: Strategy; } export interface DecodedBlock { sbn: number; data: Uint8Array; } export interface DecodeBlocksResult { blocks: AsyncIterable<DecodedBlock>; } export type DecodeResult = Promise<Uint8Array> | DecodeBlocksResult; export interface RaptorqSuppa { encode(input: EncodeInput): EncodeResult; decode(input: DecodeInput): DecodeResult; } export declare const raptorq_suppa: RaptorqSuppa;