UNPKG

atem-connection

Version:

Typescript Node.js library for connecting with an ATEM switcher.

36 lines 1.62 kB
/// <reference types="node" /> import { IDeserializedCommand, ISerializableCommand } from '../commands/CommandBase'; import { DataTransfer, ProgressTransferResult, DataTransferState } from './dataTransfer'; import { VideoModeInfo } from '../lib/videoMode'; export interface UploadBufferInfo { /** * Encoded data in ATEM native format (eg YUVA for pixels, 24bit audio) */ encodedData: Buffer; /** * Length of the encoded data, before any RLE encoding */ rawDataLength: number; /** * Whether RLE encoding has been performed on this buffer (when supported) */ isRleEncoded: boolean; /** * Hash for the encoded data, intended as a unique identifier/checksum * When `null`, one will be generated from the `encodedData` * This is returned by the ATEM when describing what is in each slot */ hash: string | null; } export declare function generateHashForBuffer(data: Buffer): string; export declare function generateUploadBufferInfo(data: Buffer | UploadBufferInfo, resolution: VideoModeInfo, shouldEncodeRLE: boolean): UploadBufferInfo; export declare abstract class DataTransferUploadBuffer extends DataTransfer<void> { #private; protected readonly hash: string; protected readonly data: Buffer; constructor(buffer: UploadBufferInfo); protected abstract generateDescriptionCommand(transferId: number): ISerializableCommand; handleCommand(command: IDeserializedCommand, oldState: DataTransferState): Promise<ProgressTransferResult>; private getNextChunks; } //# sourceMappingURL=dataTransferUploadBuffer.d.ts.map