UNPKG

homebridge-loxone-proxy

Version:

Homebridge Dynamic Platform Plugin which exposes a Loxone System to Homekit.

55 lines 2.65 kB
/// <reference types="node" /> /// <reference types="node" /> import { LoxonePlatform } from '../../LoxonePlatform'; import { CameraController, CameraStreamingDelegate, PrepareStreamCallback, PrepareStreamRequest, SnapshotRequest, SnapshotRequestCallback, StreamingRequest, StreamRequestCallback, CameraRecordingDelegate } from 'homebridge'; import type { TwoWayAudioContext } from '../services/Camera'; import { StreamingDelegate as FfmpegStreamingDelegate } from './FfmpegStreamingProcess'; export declare class streamingDelegate implements CameraStreamingDelegate, FfmpegStreamingDelegate { private readonly platform; readonly controller: CameraController; readonly recordingDelegate: CameraRecordingDelegate | undefined; private readonly streamUrl; private readonly base64auth; private readonly cameraName; private readonly twoWayAudioEnabled; private readonly twoWayAudioMode; private readonly twoWayAudioOutputArgs?; private readonly twoWayAudioTemplateVars?; private readonly twoWayAudioContext?; private pendingSessions; private ongoingSessions; private cachedSnapshot; private cachedAt; private readonly cacheTtlMs; private isShuttingDown; private readonly hap; private snapshotUrl?; constructor(platform: LoxonePlatform, streamUrl: string, base64auth: string, cameraName: string, snapshotUrl?: string, twoWayAudioTemplateVars?: Record<string, string>, twoWayAudioContext?: TwoWayAudioContext); stopStream(sessionId: string): void; forceStopStream(sessionId: string): void; getSnapshot(useCache?: boolean): Promise<Buffer | null>; private getSnapshotViaHTTP; handleSnapshotRequest(request: SnapshotRequest, callback: SnapshotRequestCallback): Promise<void>; private fetchSnapshot; prepareStream(request: PrepareStreamRequest, callback: PrepareStreamCallback): Promise<void>; handleStreamRequest(request: StreamingRequest, callback: StreamRequestCallback): Promise<void>; private startStream; private startTwoWayAudio; private startCustomTwoWayAudio; private startLoxoneTwoWayAudio; private createLoxoneIncomingAudioBridge; private getAudioCodecArgs; private resolveAudioSampleRateKhz; private feedHomeKitIncomingAudio; private createReturnAudioTranscoder; private getReturnAudioStdout; private detachReturnAudioStdout; private resolveLoxoneSignalingBaseUrl; private buildAuthArgs; private buildSnapshotFilter; private clamp; private buildTwoWayAudioOutputArgs; private extractHost; private tokenizeFfmpegArgs; } //# sourceMappingURL=StreamingDelegate.d.ts.map