@davidcal/fec-raptorq
Version:
Node.js wrapper for RaptorQ forward error correction
54 lines (42 loc) • 1.13 kB
TypeScript
// TypeScript declarations for RaptorQ Raw module
export interface EncodeOptions {
symbol_size?: number;
num_repair_symbols?: number;
num_source_blocks?: number;
num_sub_blocks?: number;
symbol_alignment?: number;
}
export interface EncodeInput {
options?: EncodeOptions;
data: Uint8Array;
}
export interface EncodingSymbol {
sbn: number;
esi: number;
data: Uint8Array;
}
export interface EncodeResult {
oti: Promise<Uint8Array>;
encoding_symbols: AsyncIterable<EncodingSymbol>;
}
export interface DecodeUsage {
output_format?: "combined" | "blocks";
}
export interface DecodeInput {
usage?: DecodeUsage;
oti: Uint8Array;
encoding_symbols: AsyncIterable<EncodingSymbol>;
}
export interface DecodedBlock {
sbn: number;
data: Uint8Array;
}
export interface DecodeBlocksResult {
blocks: AsyncIterable<DecodedBlock>;
}
export type DecodeResult = Promise<Uint8Array> | DecodeBlocksResult;
export interface RaptorqRaw {
encode(input: EncodeInput): EncodeResult;
decode(input: DecodeInput): DecodeResult;
}
export declare const raptorq_raw: RaptorqRaw;