UNPKG

homebridge-unifi-protect

Version:

Homebridge UniFi Protect plugin providing complete HomeKit integration for the entire UniFi Protect ecosystem with full support for most features including HomeKit Secure Video, multiple controllers, blazing fast performance, and much more.

35 lines (34 loc) 1.75 kB
import type { CameraController, PrepareStreamCallback, PrepareStreamRequest, SnapshotRequest, SnapshotRequestCallback, StreamRequestCallback, StreamingRequest } from "homebridge"; import { FfmpegOptions, type HomebridgePluginLogging, type HomebridgeStreamingDelegate, type Nullable } from "homebridge-plugin-utils"; import type { ProtectCamera } from "./devices/index.js"; import type { ProtectPlatform } from "./protect-platform.js"; import { ProtectRecordingDelegate } from "./protect-record.js"; export declare class ProtectStreamingDelegate implements HomebridgeStreamingDelegate { private readonly api; controller: CameraController; readonly ffmpegOptions: FfmpegOptions; private readonly hap; hksv: Nullable<ProtectRecordingDelegate>; readonly log: HomebridgePluginLogging; private readonly nvr; private ongoingSessions; private pendingSessions; readonly platform: ProtectPlatform; readonly protectCamera: ProtectCamera; private probesizeOverride; private probesizeOverrideCount; private probesizeOverrideTimeout?; private snapshot; verboseFfmpeg: boolean; private abTest; constructor(protectCamera: ProtectCamera, resolutions: [number, number, number][]); handleSnapshotRequest(request?: SnapshotRequest, callback?: SnapshotRequestCallback): Promise<void>; prepareStream(request: PrepareStreamRequest, callback: PrepareStreamCallback): Promise<void>; private startStream; handleStreamRequest(request: StreamingRequest, callback: StreamRequestCallback): Promise<void>; stopStream(sessionId: string): void; shutdown(): void; ffmpegErrorCheck(stderrLog: string[]): string | undefined; adjustProbeSize(): void; get probesize(): number; }