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.
38 lines (37 loc) • 1.61 kB
TypeScript
import type { CameraRecordingConfiguration, CameraRecordingDelegate, RecordingPacket } from "homebridge";
import { type Nullable } from "homebridge-plugin-utils";
import type { ProtectCamera, RtspEntry } from "./devices/index.js";
import { HDSProtocolSpecificErrorReason } from "homebridge";
import { ProtectTimeshiftBuffer } from "./protect-timeshift.js";
export declare class ProtectRecordingDelegate implements CameraRecordingDelegate {
private _isRecording;
private readonly accessory;
private readonly api;
private closedReason?;
private readonly hap;
private ffmpegStream?;
private hksvRequestedClose;
private isInitialized;
private isTransmitting;
private readonly log;
private nvr;
private readonly protectCamera;
private recordingConfig?;
rtspEntry: Nullable<RtspEntry>;
readonly timeshift: ProtectTimeshiftBuffer;
private timeshiftedSegments;
private transmitListener?;
private transmittedSegments;
constructor(protectCamera: ProtectCamera);
updateRecordingActive(active: boolean): Promise<void>;
updateRecordingConfiguration(configuration: CameraRecordingConfiguration | undefined): void;
handleRecordingStreamRequest(): AsyncGenerator<RecordingPacket>;
acknowledgeStream(): void;
closeRecordingStream(streamId: number, reason?: HDSProtocolSpecificErrorReason): void;
private configureTimeshifting;
private startTransmitting;
private stopTransmitting;
get isAudioActive(): boolean;
get isRecording(): boolean;
get recordingConfiguration(): Nullable<CameraRecordingConfiguration>;
}