import { VideoControllerApi } from './video-controller-api'; import { BehaviorSubject, Observable } from 'rxjs'; import { AudioLoadedEvent, AudioPeakProcessorMessageEvent, AudioSwitchedEvent, AudioUpdatedEvent, HelpMenuGroup, MainAudioChangeEvent, MainAudioInputSoloMuteEvent, OmpAudioTrack, OmpAudioTrackCreateType, OmpNamedEvent, OmpNamedEventEventName, SidecarAudioChangeEvent, SidecarAudioCreateEvent, SidecarAudioInputSoloMuteEvent, SidecarAudioLoadedEvent, SidecarAudioPeakProcessorMessageEvent, SidecarAudioRemoveEvent, SidecarAudiosChangeEvent, SidecarAudioVolumeChangeEvent, SubtitlesCreateEvent, SubtitlesEvent, SubtitlesLoadedEvent, SubtitlesVttTrack, ThumnbailVttUrlChangedEvent, VideoBufferingEvent, VideoEndedEvent, VideoErrorEvent, VideoFullscreenChangeEvent, VideoHelpMenuChangeEvent, VideoLoadedEvent, VideoLoadingEvent, VideoPlaybackRateEvent, VideoPlayEvent, VideoSafeZoneChangeEvent, VideoSeekedEvent, VideoSeekingEvent, VideoTimeChangeEvent, VideoWindowPlaybackStateChangeEvent, VolumeChangeEvent } from '../types'; import { AudioMeterStandard, BufferedTimespan, VideoKeyframe, VideoKeyframeOptions, MediaElementPlaybackState, OmpAudioRouterState, OmpAudioRoutingConnection, OmpAudioRoutingInputType, OmpMainAudioInputSoloMuteState, OmpMainAudioState, OmpSidecarAudioInputSoloMuteState, OmpSidecarAudioState, Video, VideoLoadOptions, VideoLoadOptionsInternal, VideoSafeZone, VideoWindowPlaybackState } from './model'; import { VideoController, VideoControllerConfig } from './video-controller'; import Hls from 'hls.js'; import { OmpAudioRouter } from './audio-router'; import { SidecarAudioApi } from '../api/sidecar-audio-api'; import { OmpAudioEffectFactory, OmpAudioEffectFilter, OmpAudioEffectParam, OmpAudioEffectsGraphDef } from '../audio'; import { OmpAudioEffectsGraphConnection } from '../audio/model'; export declare class DetachedVideoController implements VideoControllerApi { private readonly _proxyId; private readonly _handshakeChannel; private readonly _videoController; private readonly _onConnectSuccess$; private _messageChannel; private _disconnecting; private _connectionRetryInterval; private _maxConnectionAttempts; private _heartbeatInterval; private _heartbeatTimeout; private _maxHeartbeatTimeouts; private _heartbeatTimeoutNumber; private _outboundLatest; private _inboundLatest; private _handshakeChannelBreaker$; private _messageChannelBreaker$; private _destroyed$; constructor(videoController: VideoController); private startConnectLoop; private startHeartbeatLoop; private sendHeartBeat; private disconnect; protected initHeartbeatWatchdog(): void; private openMessageChannel; private isPermissionsCheck; destroy(): void; get onVideoLoaded$(): Observable; get onVideoLoading$(): Observable; get onPlay$(): Observable; get onPause$(): Observable; get onVideoTimeChange$(): Observable; get onSeeking$(): Observable; get onSeeked$(): Observable; get onBuffering$(): Observable; get onEnded$(): Observable; get onAudioSwitched$(): Observable; get onAudioUpdated$(): Observable; get onPlaybackState$(): Observable; get onPlaybackRateChange$(): Observable; get onHelpMenuChange$(): Observable; get onVideoWindowPlaybackStateChange$(): Observable; get onVideoError$(): Observable; get onVolumeChange$(): Observable; get onFullscreenChange$(): Observable; get onVideoSafeZoneChange$(): Observable; get onAudioLoaded$(): BehaviorSubject; get onSubtitlesLoaded$(): BehaviorSubject; get onSubtitlesCreate$(): Observable; get onSubtitlesHide$(): Observable; get onSubtitlesRemove$(): Observable; get onSubtitlesShow$(): Observable; get onThumbnailVttUrlChanged$(): Observable; get onActiveNamedEventStreamsChange$(): Observable; get onNamedEvent$(): Observable; get onMainAudioChange$(): Observable; get onMainAudioPeakProcessorMessage$(): Observable; get onMainAudioInputSoloMute$(): Observable; get onAudioOutputVolumeChange$(): Observable; get onSidecarAudioCreate$(): Observable; get onSidecarAudioLoaded$(): Observable; get onSidecarAudioRemove$(): Observable; get onSidecarAudioChange$(): Observable; get onSidecarAudioVolumeChange$(): Observable; get onSidecarAudioPeakProcessorMessage$(): Observable; get onSidecarAudioInputSoloMute$(): Observable; get onSidecarAudiosChange$(): Observable; addSafeZone(videoSafeZone: VideoSafeZone): Observable; appendHelpMenuGroup(helpMenuGroup: HelpMenuGroup): Observable; calculateFrameToTime(frameNumber: number): number; calculateTimeToFrame(time: number): number; clearSafeZones(): Observable; getSafeZones(): VideoSafeZone[]; formatToTimecode(time: number): string; getAudioTracks(): any[]; getBufferedTimespans(): BufferedTimespan[]; getActiveAudioTrack(): any; getCurrentFrame(): number; getCurrentTime(): number; getCurrentTimecode(): string; getDuration(): number; getFrameRate(): number; getHTMLVideoElement(): HTMLVideoElement; getAudioContext(): AudioContext; getAudioOutputVolume(): number; isAudioOutputMuted(): boolean; setAudioOutputMuted(muted: boolean): Observable; toggleAudioOutputMuteUnmute(): Observable; setAudioOutputVolume(volume: number): Observable; muteAudioOutput(): Observable; unmuteAudioOutput(): Observable; getAudioOutputNode(): AudioNode; getSidecarAudiosOutputNode(): AudioNode; getMainAudioRouter(): OmpAudioRouter | undefined; getHelpMenuGroups(): HelpMenuGroup[]; getPlaybackRate(): number; getPlaybackState(): MediaElementPlaybackState | undefined; getTotalFrames(): number; getVideo(): Video | undefined; getVideoLoadOptions(): VideoLoadOptions | undefined; getVolume(): number; isFullscreen(): boolean; isMuted(): boolean; isPaused(): boolean; isPlaying(): boolean; isSeeking(): boolean; isVideoLoaded(): boolean; loadVideoInternal(sourceUrl: string, options: VideoLoadOptions | undefined, optionsInternal: VideoLoadOptionsInternal): Observable