UNPKG

@ubreu/homebridge-eufy-security

Version:
59 lines 2.31 kB
/// <reference types="node" /> /// <reference types="node" /> /// <reference types="node" /> import { API, CameraController, CameraStreamingDelegate, HAP, PrepareStreamCallback, PrepareStreamRequest, SnapshotRequest, SnapshotRequestCallback, SRTPCryptoSuites, StreamingRequest, StreamRequestCallback } from 'homebridge'; import { Socket } from 'dgram'; import { CameraConfig } from '../utils/configTypes'; import { FFmpeg } from '../utils/ffmpeg'; import { Camera } from 'eufy-security-client'; import { EufySecurityPlatform } from '../platform'; import { TalkbackStream } from '../utils/Talkback'; export type SessionInfo = { address: string; ipv6: boolean; videoPort: number; videoReturnPort: number; videoCryptoSuite: SRTPCryptoSuites; videoSRTP: Buffer; videoSSRC: number; audioPort: number; audioReturnPort: number; audioCryptoSuite: SRTPCryptoSuites; audioSRTP: Buffer; audioSSRC: number; }; type ActiveSession = { videoProcess?: FFmpeg; audioProcess?: FFmpeg; returnProcess?: FFmpeg; timeout?: NodeJS.Timeout; socket?: Socket; cachedStreamId?: number; talkbackStream?: TalkbackStream; }; export declare class StreamingDelegate implements CameraStreamingDelegate { private readonly hap; private readonly api; private readonly log; private readonly cameraName; private cameraConfig; private videoConfig; readonly controller: CameraController; private readonly platform; private readonly device; private localLivestreamManager; private snapshotManager; private resolutions; pendingSessions: Map<string, SessionInfo>; ongoingSessions: Map<string, ActiveSession>; timeouts: Map<string, NodeJS.Timeout>; constructor(platform: EufySecurityPlatform, device: Camera, cameraConfig: CameraConfig, api: API, hap: HAP); handleSnapshotRequest(request: SnapshotRequest, callback: SnapshotRequestCallback): Promise<void>; prepareStream(request: PrepareStreamRequest, callback: PrepareStreamCallback): Promise<void>; prepareCachedStream(): Promise<void>; private startStream; handleStreamRequest(request: StreamingRequest, callback: StreamRequestCallback): void; stopStream(sessionId: string): void; } export {}; //# sourceMappingURL=streamingDelegate.d.ts.map