UNPKG

react-native-theoplayer

Version:

A THEOplayer video component for react-native.

277 lines (247 loc) 8.07 kB
import { BaseEvent } from './BaseEvent'; import { Ad, AdBreak, AdEvent, AdEventType, AirplayStateChangeEvent, CastEventType, CastState, ChromecastChangeEvent, ChromecastError, ChromecastErrorEvent, DurationChangeEvent, ErrorEvent, Interstitial, LoadedMetadataEvent, MediaTrack, MediaTrackEvent, MediaTrackEventType, MediaTrackListEvent, MediaTrackType, PlayerError, PlayerEventType, PresentationMode, PresentationModeChangeContext, PresentationModeChangeEvent, ProgressEvent, Quality, RateChangeEvent, ReadyStateChangeEvent, ResizeEvent, SeekedEvent, SeekingEvent, SegmentNotFoundEvent, TextTrack, TextTrackCue, TextTrackEvent, TextTrackEventType, TextTrackListEvent, TheoAdsEvent, TheoAdsEventType, TheoLiveEvent, TheoLiveDistributionEvent, TheoLiveEventType, TimeRange, TimeUpdateEvent, TrackListEventType, VolumeChangeEvent, TheoLiveEndpoint, TheoLiveEndpointLoadedEvent, TheoLiveIntentToFallbackEvent, } from 'react-native-theoplayer'; export class DefaultLoadedMetadataEvent extends BaseEvent<PlayerEventType.LOADED_METADATA> implements LoadedMetadataEvent { constructor( public textTracks: TextTrack[], public audioTracks: MediaTrack[], public videoTracks: MediaTrack[], public duration: number, public selectedTextTrack: number | undefined, public selectedVideoTrack: number | undefined, public selectedAudioTrack: number | undefined, ) { super(PlayerEventType.LOADED_METADATA); } } export class DefaultReadyStateChangeEvent extends BaseEvent<PlayerEventType.READYSTATE_CHANGE> implements ReadyStateChangeEvent { constructor(public readyState: number) { super(PlayerEventType.READYSTATE_CHANGE); } } export class DefaultPresentationModeChangeEvent extends BaseEvent<PlayerEventType.PRESENTATIONMODE_CHANGE> implements PresentationModeChangeEvent { constructor( public presentationMode: PresentationMode, public previousPresentationMode: PresentationMode, public context?: PresentationModeChangeContext, ) { super(PlayerEventType.PRESENTATIONMODE_CHANGE); } } export class DefaultVolumeChangeEvent extends BaseEvent<PlayerEventType.VOLUME_CHANGE> implements VolumeChangeEvent { constructor( public volume: number, public muted: boolean, ) { super(PlayerEventType.VOLUME_CHANGE); } } export class DefaultResizeEvent extends BaseEvent<PlayerEventType.RESIZE> implements ResizeEvent { constructor( public width: number, public height: number, ) { super(PlayerEventType.RESIZE); } } export class DefaultErrorEvent extends BaseEvent<PlayerEventType.ERROR> implements ErrorEvent { constructor(public error: PlayerError) { super(PlayerEventType.ERROR); } } export class DefaultProgressEvent extends BaseEvent<PlayerEventType.PROGRESS> implements ProgressEvent { constructor( public seekable: TimeRange[], public buffered: TimeRange[], ) { super(PlayerEventType.PROGRESS); } } export class DefaultTimeupdateEvent extends BaseEvent<PlayerEventType.TIME_UPDATE> implements TimeUpdateEvent { constructor( public currentTime: number, public currentProgramDateTime?: number, ) { super(PlayerEventType.TIME_UPDATE); } } export class DefaultDurationChangeEvent extends BaseEvent<PlayerEventType.DURATION_CHANGE> implements DurationChangeEvent { constructor(public duration: number) { super(PlayerEventType.DURATION_CHANGE); } } export class DefaultRateChangeEvent extends BaseEvent<PlayerEventType.RATE_CHANGE> implements RateChangeEvent { constructor(public playbackRate: number) { super(PlayerEventType.RATE_CHANGE); } } export class DefaultSegmentNotFoundEvent extends BaseEvent<PlayerEventType.SEGMENT_NOT_FOUND> implements SegmentNotFoundEvent { constructor( public readonly segmentStartTime: number, public error: string, public retryCount: number, ) { super(PlayerEventType.SEGMENT_NOT_FOUND); } } export class DefaultSeekingEvent extends BaseEvent<PlayerEventType.SEEKING> implements SeekingEvent { constructor(public readonly currentTime: number) { super(PlayerEventType.SEEKING); } } export class DefaultSeekedEvent extends BaseEvent<PlayerEventType.SEEKED> implements SeekedEvent { constructor(public readonly currentTime: number) { super(PlayerEventType.SEEKED); } } export class DefaultTextTrackListEvent extends BaseEvent<PlayerEventType.TEXT_TRACK_LIST> implements TextTrackListEvent { constructor( public subType: TrackListEventType, public track: TextTrack, ) { super(PlayerEventType.TEXT_TRACK_LIST); } } export class DefaultTextTrackEvent extends BaseEvent<PlayerEventType.TEXT_TRACK> implements TextTrackEvent { constructor( public subType: TextTrackEventType, public trackUid: number, public cue: TextTrackCue, ) { super(PlayerEventType.TEXT_TRACK); } } export class DefaultMediaTrackListEvent extends BaseEvent<PlayerEventType.MEDIA_TRACK_LIST> implements MediaTrackListEvent { constructor( public subType: TrackListEventType, public trackType: MediaTrackType, public track: MediaTrack, ) { super(PlayerEventType.MEDIA_TRACK_LIST); } } export class DefaultMediaTrackEvent extends BaseEvent<PlayerEventType.MEDIA_TRACK> implements MediaTrackEvent { constructor( public subType: MediaTrackEventType, public trackType: MediaTrackType, public trackUid: number, public qualities?: Quality | Quality[], ) { super(PlayerEventType.MEDIA_TRACK); } } export class DefaultAdEvent extends BaseEvent<PlayerEventType.AD_EVENT> implements AdEvent { constructor( public subType: AdEventType, public ad: Ad | AdBreak, ) { super(PlayerEventType.AD_EVENT); } } export class DefaultTheoAdsEvent extends BaseEvent<PlayerEventType.THEOADS_EVENT> implements TheoAdsEvent { constructor( public subType: TheoAdsEventType, public interstitial: Interstitial, ) { super(PlayerEventType.THEOADS_EVENT); } } export class DefaultTheoLiveEvent extends BaseEvent<PlayerEventType.THEOLIVE_EVENT> implements TheoLiveEvent { constructor(public subType: TheoLiveEventType) { super(PlayerEventType.THEOLIVE_EVENT); } } export class DefaultTheoLiveDistributionEvent extends BaseEvent<PlayerEventType.THEOLIVE_EVENT> implements TheoLiveDistributionEvent { constructor( public subType: TheoLiveEventType, public distributionId: string, ) { super(PlayerEventType.THEOLIVE_EVENT); } } export class DefaultTheoLiveEndpointLoadedEvent extends BaseEvent<PlayerEventType.THEOLIVE_EVENT> implements TheoLiveEndpointLoadedEvent { constructor( public subType: TheoLiveEventType, public endpoint?: TheoLiveEndpoint, ) { super(PlayerEventType.THEOLIVE_EVENT); } } export class DefaultTheoLiveIntentToFallbackEvent extends BaseEvent<PlayerEventType.THEOLIVE_EVENT> implements TheoLiveIntentToFallbackEvent { constructor( public subType: TheoLiveEventType, public reason?: PlayerError, ) { super(PlayerEventType.THEOLIVE_EVENT); } } export class DefaultChromecastChangeEvent extends BaseEvent<PlayerEventType.CAST_EVENT> implements ChromecastChangeEvent { readonly subType: CastEventType.CHROMECAST_STATE_CHANGE; constructor(public state: CastState) { super(PlayerEventType.CAST_EVENT); this.subType = CastEventType.CHROMECAST_STATE_CHANGE; } } export class DefaultAirplayStateChangeEvent extends BaseEvent<PlayerEventType.CAST_EVENT> implements AirplayStateChangeEvent { readonly subType: CastEventType.AIRPLAY_STATE_CHANGE; constructor(public state: CastState) { super(PlayerEventType.CAST_EVENT); this.subType = CastEventType.AIRPLAY_STATE_CHANGE; } } export class DefaultChromecastErrorEvent extends BaseEvent<PlayerEventType.CAST_EVENT> implements ChromecastErrorEvent { readonly subType: CastEventType.CHROMECAST_ERROR; constructor(public error: ChromecastError) { super(PlayerEventType.CAST_EVENT); this.subType = CastEventType.CHROMECAST_ERROR; } }