import { BehaviorSubject, Observable } from 'rxjs'; import { VideoApi } from '../api'; import { AudioLoadedEvent, AudioPeakProcessorMessageEvent, AudioSwitchedEvent, AudioUpdatedEvent, Destroyable, MainAudioChangeEvent, MainAudioInputSoloMuteEvent, OmpAudioTrack, OmpAudioTrackCreateType, OmpNamedEventEventName, SidecarAudioChangeEvent, SidecarAudioCreateEvent, SidecarAudioInputSoloMuteEvent, SidecarAudioLoadedEvent, SidecarAudioPeakProcessorMessageEvent, SidecarAudioRemoveEvent, SidecarAudiosChangeEvent, SidecarAudioVolumeChangeEvent, SubtitlesCreateEvent, SubtitlesEvent, SubtitlesLoadedEvent, SubtitlesVttTrack, ThumnbailVttUrlChangedEvent, VideoHelpMenuChangeEvent, VolumeChangeEvent } from '../types'; import { VideoControllerConfig } from './video-controller'; import { AudioMeterStandard, BufferedTimespan, MediaElementPlaybackState, OmpAudioRouterState, OmpAudioRoutingConnection, OmpAudioRoutingInputType, OmpMainAudioInputSoloMuteState, OmpMainAudioState, OmpSidecarAudioInputSoloMuteState, OmpSidecarAudioState, Video, VideoLoadOptions, VideoLoadOptionsInternal } from './model'; import { OmpAudioRouter } from './audio-router'; import { SidecarAudioApi } from '../api/sidecar-audio-api'; import { OmpAudioEffectFactory, OmpAudioEffectFilter, OmpAudioEffectParam, OmpAudioEffectsGraphDef } from '../audio'; import { OmpAudioEffectsGraphConnection } from '../audio/model'; /** * @internal */ export interface VideoControllerApi extends VideoApi, Destroyable { onAudioLoaded$: BehaviorSubject; onAudioSwitched$: Observable; onAudioUpdated$: Observable; onAudioOutputVolumeChange$: Observable; onSubtitlesLoaded$: BehaviorSubject; onPlaybackState$: Observable; onSubtitlesCreate$: Observable; onSubtitlesRemove$: Observable; onSubtitlesShow$: Observable; onSubtitlesHide$: Observable; onHelpMenuChange$: Observable; onThumbnailVttUrlChanged$: Observable; onActiveNamedEventStreamsChange$: Observable; loadVideoInternal(sourceUrl: string, options: VideoLoadOptions | undefined, optionsInternal: VideoLoadOptionsInternal): Observable