import { VideoControllerApi } from './video-controller-api'; import { BehaviorSubject, Observable, Subject } 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, OmpAudioRouterState, OmpAudioRoutingConnection, OmpAudioRoutingPath, OmpMainAudioState, OmpSidecarAudioState, MediaElementPlaybackState, Video, VideoLoadOptions, VideoSafeZone, VideoWindowPlaybackState } from './index'; import { 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 { VideoKeyframe, VideoKeyframeOptions, OmpAudioRoutingInputType, OmpMainAudioInputSoloMuteState, OmpSidecarAudioInputSoloMuteState, VideoLoadOptionsInternal } from './model'; import { OmpAudioEffectsGraphConnection } from '../audio/model'; /** * Used for switching between {@link VideoControllerApi} instances */ export declare class SwitchableVideoController implements VideoControllerApi { readonly onVideoLoaded$: BehaviorSubject; readonly onVideoLoading$: Subject; readonly onAudioLoaded$: BehaviorSubject; readonly onAudioSwitched$: Subject; readonly onAudioUpdated$: Subject; readonly onAudioOutputVolumeChange$: Subject; readonly onSubtitlesLoaded$: BehaviorSubject; readonly onSubtitlesCreate$: Subject; readonly onSubtitlesHide$: Subject; readonly onSubtitlesRemove$: Subject; readonly onSubtitlesShow$: Subject; readonly onPlay$: Subject; readonly onPause$: Subject; readonly onVideoTimeChange$: Subject; readonly onSeeking$: Subject; readonly onSeeked$: Subject; readonly onBuffering$: Subject; readonly onEnded$: Subject; readonly onVideoError$: Subject; readonly onVolumeChange$: Subject; readonly onFullscreenChange$: Subject; readonly onVideoSafeZoneChange$: Subject; readonly onPlaybackRateChange$: Subject; readonly onVideoWindowPlaybackStateChange$: Subject; readonly onHelpMenuChange$: Subject; readonly onPlaybackState$: Subject; readonly onThumbnailVttUrlChanged$: Subject; readonly onMainAudioChange$: BehaviorSubject; readonly onMainAudioPeakProcessorMessage$: Subject; readonly onMainAudioInputSoloMute$: BehaviorSubject; readonly onSidecarAudioCreate$: Subject; readonly onSidecarAudioLoaded$: Subject; readonly onSidecarAudioRemove$: Subject; readonly onSidecarAudioChange$: Subject; readonly onSidecarAudioVolumeChange$: Subject; readonly onSidecarAudioPeakProcessorMessage$: Subject; readonly onSidecarAudioInputSoloMute$: Subject; readonly onSidecarAudiosChange$: Subject; readonly onActiveNamedEventStreamsChange$: Subject; readonly onNamedEvent$: Subject; protected _videoController: VideoControllerApi; protected _eventBreaker$: Subject; protected _destroyed$: Subject; constructor(videoController: VideoControllerApi); destroy(): void; protected switchToController(videoController: VideoControllerApi): void; protected attachEventListeners(videoController: VideoControllerApi): void; 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(): OmpAudioTrack | undefined; getCurrentFrame(): number; getCurrentTime(): number; getCurrentTimecode(): string; getDuration(): number; getFrameRate(): number; getHTMLVideoElement(): HTMLVideoElement; getAudioContext(): AudioContext; getAudioOutputNode(): AudioNode; getSidecarAudiosOutputNode(): AudioNode; getAudioOutputVolume(): number; isAudioOutputMuted(): boolean; setAudioOutputMuted(muted: boolean): Observable; toggleAudioOutputMuteUnmute(): Observable; muteAudioOutput(): Observable; unmuteAudioOutput(): Observable; setAudioOutputVolume(volume: number): Observable; 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