react-native-theoplayer 3.0.2 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/android/src/main/AndroidManifest.xml +1 -1
  3. package/android/src/main/java/com/theoplayer/PlayerConfigAdapter.kt +4 -0
  4. package/android/src/main/java/com/theoplayer/PlayerEventEmitter.kt +5 -0
  5. package/android/src/main/java/com/theoplayer/ReactTHEOplayerContext.kt +4 -29
  6. package/android/src/main/java/com/theoplayer/player/PlayerModule.kt +8 -0
  7. package/android/src/main/java/com/theoplayer/track/TrackListAdapter.kt +47 -2
  8. package/ios/THEOplayerRCTNetworkUtils.swift +3 -1
  9. package/ios/THEOplayerRCTTextTrackEventHandler.swift +21 -17
  10. package/ios/THEOplayerRCTTrackMetadataAggregator.swift +64 -8
  11. package/ios/THEOplayerRCTView.swift +4 -0
  12. package/ios/contentprotection/THEOplayerRCTContentProtectionAPI.swift +4 -0
  13. package/lib/commonjs/api/config/PlayerConfiguration.js.map +1 -1
  14. package/lib/commonjs/api/track/DateRangeCue.js +19 -0
  15. package/lib/commonjs/api/track/DateRangeCue.js.map +1 -0
  16. package/lib/commonjs/api/track/TextTrack.js +2 -0
  17. package/lib/commonjs/api/track/TextTrack.js.map +1 -1
  18. package/lib/commonjs/api/track/barrel.js +11 -0
  19. package/lib/commonjs/api/track/barrel.js.map +1 -1
  20. package/lib/commonjs/internal/THEOplayerView.js +17 -2
  21. package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
  22. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js +9 -3
  23. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js.map +1 -1
  24. package/lib/commonjs/internal/adapter/WebEventForwarder.js +3 -0
  25. package/lib/commonjs/internal/adapter/WebEventForwarder.js.map +1 -1
  26. package/lib/commonjs/internal/adapter/web/TrackUtils.js +17 -1
  27. package/lib/commonjs/internal/adapter/web/TrackUtils.js.map +1 -1
  28. package/lib/module/api/config/PlayerConfiguration.js.map +1 -1
  29. package/lib/module/api/track/DateRangeCue.js +13 -0
  30. package/lib/module/api/track/DateRangeCue.js.map +1 -0
  31. package/lib/module/api/track/TextTrack.js +2 -0
  32. package/lib/module/api/track/TextTrack.js.map +1 -1
  33. package/lib/module/api/track/barrel.js +1 -0
  34. package/lib/module/api/track/barrel.js.map +1 -1
  35. package/lib/module/internal/THEOplayerView.js +18 -2
  36. package/lib/module/internal/THEOplayerView.js.map +1 -1
  37. package/lib/module/internal/adapter/THEOplayerAdapter.js +9 -3
  38. package/lib/module/internal/adapter/THEOplayerAdapter.js.map +1 -1
  39. package/lib/module/internal/adapter/WebEventForwarder.js +4 -1
  40. package/lib/module/internal/adapter/WebEventForwarder.js.map +1 -1
  41. package/lib/module/internal/adapter/web/TrackUtils.js +16 -1
  42. package/lib/module/internal/adapter/web/TrackUtils.js.map +1 -1
  43. package/lib/typescript/api/config/PlayerConfiguration.d.ts +4 -0
  44. package/lib/typescript/api/track/DateRangeCue.d.ts +61 -0
  45. package/lib/typescript/api/track/TextTrack.d.ts +4 -1
  46. package/lib/typescript/api/track/barrel.d.ts +1 -0
  47. package/lib/typescript/internal/THEOplayerView.d.ts +2 -1
  48. package/lib/typescript/internal/adapter/web/TrackUtils.d.ts +2 -1
  49. package/package.json +1 -1
  50. package/src/api/config/PlayerConfiguration.ts +5 -0
  51. package/src/api/track/DateRangeCue.ts +74 -0
  52. package/src/api/track/TextTrack.ts +3 -0
  53. package/src/api/track/barrel.ts +1 -0
  54. package/src/internal/THEOplayerView.tsx +19 -3
  55. package/src/internal/adapter/THEOplayerAdapter.ts +6 -3
  56. package/src/internal/adapter/WebEventForwarder.ts +5 -0
  57. package/src/internal/adapter/web/TrackUtils.ts +18 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeTheoplayer","require","_BaseEvent","_PlayerEvents","_TrackUtils","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","WebEventForwarder","constructor","player","facade","_facade","dispatchEvent","BaseEvent","PlayerEventType","SOURCE_CHANGE","LOAD_START","LOADED_DATA","_this$_player$textTra","_this$_player$videoTr","_this$_player$audioTr","DefaultLoadedMetadataEvent","_player","textTracks","map","textTrack","fromNativeTextTrack","audioTracks","audioTrack","fromNativeMediaTrack","videoTracks","videoTrack","duration","find","track","mode","uid","enabled","event","DefaultErrorEvent","errorCode","errorObject","code","toString","errorMessage","message","DefaultProgressEvent","fromTimeRanges","seekable","buffered","CANPLAY","PLAY","PLAYING","PAUSE","SEEKING","SEEKED","ENDED","WAITING","DefaultReadyStateChangeEvent","readyState","_event$currentProgram","DefaultTimeupdateEvent","currentTime","currentProgramDateTime","getTime","DefaultDurationChangeEvent","DefaultRateChangeEvent","playbackRate","DefaultSegmentNotFoundEvent","DefaultVolumeChangeEvent","volume","muted","DefaultPresentationModeChangeEvent","presentationMode","PresentationMode","inline","addEventListener","onAddTextTrackCue","onRemoveTextTrackCue","onEnterTextTrackCue","onExitTextTrackCue","DefaultTextTrackListEvent","TrackListEventType","ADD_TRACK","removeEventListener","REMOVE_TRACK","CHANGE_TRACK","onAddMediaTrack","MediaTrackType","AUDIO","VIDEO","trackType","onActiveQualityChanged","DefaultMediaTrackListEvent","onRemoveMediaTrack","onChangeMediaTrack","DefaultChromecastChangeEvent","state","DefaultChromecastErrorEvent","error","DefaultAirplayStateChangeEvent","castedEvent","DefaultAdEvent","type","ad","cue","DefaultTextTrackEvent","TextTrackEventType","ADD_CUE","fromNativeCue","REMOVE_CUE","ENTER_CUE","EXIT_CUE","quality","activeQuality","DefaultMediaTrackEvent","MediaTrackEventType","ACTIVE_QUALITY_CHANGED","addEventListeners","_this$_player$cast","_this$_player$cast2","_this$_player$cast3","_this$_player$ads","onSourceChange","onLoadStart","onLoadedData","onLoadedMetadata","onError","onProgress","onPlay","onCanPlay","onPlaying","onPause","onSeeking","onSeeked","onEnded","onWaiting","onReadyStateChanged","onTimeUpdate","onDurationChange","onPlaybackRateChange","onSegmentNotFound","onVolumeChangeEvent","presentation","onPresentationModeChange","onAddTextTrack","onRemoveTextTrack","onChangeTextTrack","onAddAudioTrack","onRemoveAudioTrack","onChangeAudioTrack","onAddVideoTrack","onRemoveVideoTrack","onChangeVideoTrack","cast","chromecast","onChromecastStateChange","onChromecastError","airplay","onAirplayStateChange","ads","FORWARDED_AD_EVENTS","onAdEvent","unload","removeEventListeners","_this$_player$cast4","_this$_player$cast5","_this$_player$cast6","_this$_player$ads2","exports","AdEventType","ADD_AD_BREAK","REMOVE_AD_BREAK","AD_LOADED","AD_BREAK_BEGIN","AD_BREAK_END","AD_BREAK_CHANGE","UPDATE_AD_BREAK","ADD_AD","AD_BEGIN","AD_END","UPDATE_AD","AD_FIRST_QUARTILE","AD_MIDPOINT","AD_THIRD_QUARTILE","AD_SKIP","AD_IMPRESSION","AD_ERROR","AD_METADATA","AD_BUFFERING","timeRanges","result","i","length","push","start","end"],"sources":["WebEventForwarder.ts"],"sourcesContent":["import type { ChromelessPlayer } from 'theoplayer';\nimport type {\n AddTrackEvent,\n CastStateChangeEvent,\n ChromecastErrorEvent,\n DurationChangeEvent as NativeDurationChangeEvent,\n ErrorEvent as NativeErrorEvent,\n Event as NativeEvent,\n MediaTrack as NativeMediaTrack,\n PresentationModeChangeEvent,\n RateChangeEvent as NativeRateChangeEvent,\n ReadyStateChangeEvent as NativeReadyStateChangeEvent,\n RemoveTrackEvent,\n TextTrack as NativeTextTrack,\n TextTrackCue as NativeTextTrackCue,\n TimeUpdateEvent as NativeTimeUpdateEvent,\n TrackChangeEvent,\n VolumeChangeEvent as NativeVolumeChangeEvent,\n} from 'theoplayer';\nimport type { AdEvent, MediaTrack, TextTrack, TimeRange } from 'react-native-theoplayer';\nimport {\n AdEventType,\n CastState,\n MediaTrackEventType,\n MediaTrackType,\n PlayerEventType,\n PresentationMode,\n TextTrackEventType,\n TrackListEventType,\n} from 'react-native-theoplayer';\nimport type { THEOplayerWebAdapter } from './THEOplayerWebAdapter';\nimport { BaseEvent } from './event/BaseEvent';\nimport {\n DefaultAdEvent,\n DefaultAirplayStateChangeEvent,\n DefaultChromecastChangeEvent,\n DefaultChromecastErrorEvent,\n DefaultDurationChangeEvent,\n DefaultErrorEvent,\n DefaultLoadedMetadataEvent,\n DefaultMediaTrackEvent,\n DefaultMediaTrackListEvent,\n DefaultPresentationModeChangeEvent,\n DefaultProgressEvent,\n DefaultRateChangeEvent,\n DefaultReadyStateChangeEvent,\n DefaultSegmentNotFoundEvent,\n DefaultTextTrackEvent,\n DefaultTextTrackListEvent,\n DefaultTimeupdateEvent,\n DefaultVolumeChangeEvent,\n} from './event/PlayerEvents';\nimport { fromNativeCue, fromNativeMediaTrack, fromNativeTextTrack } from './web/TrackUtils';\n\nexport class WebEventForwarder {\n private readonly _player: ChromelessPlayer;\n private readonly _facade: THEOplayerWebAdapter;\n\n constructor(player: ChromelessPlayer, facade: THEOplayerWebAdapter) {\n this._player = player;\n this._facade = facade;\n this.addEventListeners();\n }\n\n private addEventListeners() {\n this._player.addEventListener('sourcechange', this.onSourceChange);\n this._player.addEventListener('loadstart', this.onLoadStart);\n this._player.addEventListener('loadeddata', this.onLoadedData);\n this._player.addEventListener('loadedmetadata', this.onLoadedMetadata);\n this._player.addEventListener('error', this.onError);\n this._player.addEventListener('progress', this.onProgress);\n this._player.addEventListener('play', this.onPlay);\n this._player.addEventListener('canplay', this.onCanPlay);\n this._player.addEventListener('playing', this.onPlaying);\n this._player.addEventListener('pause', this.onPause);\n this._player.addEventListener('seeking', this.onSeeking);\n this._player.addEventListener('seeked', this.onSeeked);\n this._player.addEventListener('ended', this.onEnded);\n this._player.addEventListener('waiting', this.onWaiting);\n this._player.addEventListener('readystatechange', this.onReadyStateChanged);\n this._player.addEventListener('timeupdate', this.onTimeUpdate);\n this._player.addEventListener('durationchange', this.onDurationChange);\n this._player.addEventListener('ratechange', this.onPlaybackRateChange);\n this._player.addEventListener('segmentnotfound', this.onSegmentNotFound);\n this._player.addEventListener('volumechange', this.onVolumeChangeEvent);\n this._player.presentation.addEventListener('presentationmodechange', this.onPresentationModeChange);\n\n this._player.textTracks.addEventListener('addtrack', this.onAddTextTrack);\n this._player.textTracks.addEventListener('removetrack', this.onRemoveTextTrack);\n this._player.textTracks.addEventListener('change', this.onChangeTextTrack);\n\n this._player.audioTracks.addEventListener('addtrack', this.onAddAudioTrack);\n this._player.audioTracks.addEventListener('removetrack', this.onRemoveAudioTrack);\n this._player.audioTracks.addEventListener('change', this.onChangeAudioTrack);\n\n this._player.videoTracks.addEventListener('addtrack', this.onAddVideoTrack);\n this._player.videoTracks.addEventListener('removetrack', this.onRemoveVideoTrack);\n this._player.videoTracks.addEventListener('change', this.onChangeVideoTrack);\n\n this._player.cast?.chromecast?.addEventListener('statechange', this.onChromecastStateChange);\n this._player.cast?.chromecast?.addEventListener('error', this.onChromecastError);\n this._player.cast?.airplay?.addEventListener('statechange', this.onAirplayStateChange);\n\n this._player.ads?.addEventListener(FORWARDED_AD_EVENTS, this.onAdEvent);\n }\n\n unload(): void {\n this.removeEventListeners();\n }\n\n private removeEventListeners() {\n this._player.removeEventListener('sourcechange', this.onSourceChange);\n this._player.removeEventListener('loadstart', this.onLoadStart);\n this._player.removeEventListener('loadeddata', this.onLoadedData);\n this._player.removeEventListener('loadedmetadata', this.onLoadedMetadata);\n this._player.removeEventListener('error', this.onError);\n this._player.removeEventListener('progress', this.onProgress);\n this._player.removeEventListener('canplay', this.onCanPlay);\n this._player.removeEventListener('play', this.onPlay);\n this._player.removeEventListener('playing', this.onPlaying);\n this._player.removeEventListener('pause', this.onPause);\n this._player.removeEventListener('seeking', this.onSeeking);\n this._player.removeEventListener('seeked', this.onSeeked);\n this._player.removeEventListener('ended', this.onEnded);\n this._player.removeEventListener('waiting', this.onWaiting);\n this._player.removeEventListener('readystatechange', this.onReadyStateChanged);\n this._player.removeEventListener('timeupdate', this.onTimeUpdate);\n this._player.removeEventListener('durationchange', this.onDurationChange);\n this._player.removeEventListener('ratechange', this.onPlaybackRateChange);\n this._player.removeEventListener('segmentnotfound', this.onSegmentNotFound);\n this._player.removeEventListener('volumechange', this.onVolumeChangeEvent);\n this._player.presentation.removeEventListener('presentationmodechange', this.onPresentationModeChange);\n\n this._player.textTracks.removeEventListener('addtrack', this.onAddTextTrack);\n this._player.textTracks.removeEventListener('removetrack', this.onRemoveTextTrack);\n this._player.textTracks.removeEventListener('change', this.onChangeTextTrack);\n\n this._player.audioTracks.removeEventListener('addtrack', this.onAddAudioTrack);\n this._player.audioTracks.removeEventListener('removetrack', this.onRemoveAudioTrack);\n this._player.audioTracks.removeEventListener('change', this.onChangeAudioTrack);\n\n this._player.videoTracks.removeEventListener('addtrack', this.onAddVideoTrack);\n this._player.videoTracks.removeEventListener('removetrack', this.onRemoveVideoTrack);\n this._player.videoTracks.removeEventListener('change', this.onChangeVideoTrack);\n\n this._player.cast?.chromecast?.removeEventListener('statechange', this.onChromecastStateChange);\n this._player.cast?.chromecast?.removeEventListener('error', this.onChromecastError);\n this._player.cast?.airplay?.removeEventListener('statechange', this.onAirplayStateChange);\n\n this._player.ads?.removeEventListener(FORWARDED_AD_EVENTS, this.onAdEvent);\n }\n\n private readonly onSourceChange = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SOURCE_CHANGE));\n };\n\n private readonly onLoadStart = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.LOAD_START));\n };\n\n private readonly onLoadedData = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.LOADED_DATA));\n };\n\n private readonly onLoadedMetadata = () => {\n this._facade.dispatchEvent(\n new DefaultLoadedMetadataEvent(\n this._player.textTracks.map((textTrack: NativeTextTrack) => fromNativeTextTrack(textTrack)),\n this._player.audioTracks.map((audioTrack: NativeMediaTrack) => fromNativeMediaTrack(audioTrack)),\n this._player.videoTracks.map((videoTrack: NativeMediaTrack) => fromNativeMediaTrack(videoTrack)),\n 1e3 * this._player.duration,\n this._player.textTracks.find((track: NativeTextTrack) => track.mode === 'showing')?.uid,\n this._player.videoTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,\n this._player.audioTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,\n ),\n );\n };\n\n private readonly onError = (event: NativeErrorEvent) => {\n this._facade.dispatchEvent(\n new DefaultErrorEvent({\n errorCode: event.errorObject.code.toString(),\n errorMessage: event.errorObject.message,\n }),\n );\n };\n\n private readonly onProgress = () => {\n this._facade.dispatchEvent(new DefaultProgressEvent(fromTimeRanges(this._player.seekable), fromTimeRanges(this._player.buffered)));\n };\n\n private readonly onCanPlay = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.CANPLAY));\n };\n\n private readonly onPlay = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PLAY));\n };\n\n private readonly onPlaying = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PLAYING));\n };\n\n private readonly onPause = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PAUSE));\n };\n\n private readonly onSeeking = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SEEKING));\n };\n\n private readonly onSeeked = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SEEKED));\n };\n\n private readonly onEnded = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.ENDED));\n };\n\n private readonly onWaiting = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.WAITING));\n };\n\n private readonly onReadyStateChanged = (event: NativeReadyStateChangeEvent) => {\n this._facade.dispatchEvent(new DefaultReadyStateChangeEvent(event.readyState));\n };\n\n private readonly onTimeUpdate = (event: NativeTimeUpdateEvent) => {\n this._facade.dispatchEvent(new DefaultTimeupdateEvent(event.currentTime * 1e3, event.currentProgramDateTime?.getTime()));\n };\n\n private readonly onDurationChange = (event: NativeDurationChangeEvent) => {\n this._facade.dispatchEvent(new DefaultDurationChangeEvent(event.duration * 1e3));\n };\n\n private readonly onPlaybackRateChange = (event: NativeRateChangeEvent) => {\n this._facade.dispatchEvent(new DefaultRateChangeEvent(event.playbackRate));\n };\n\n private readonly onSegmentNotFound = () => {\n this._facade.dispatchEvent(new DefaultSegmentNotFoundEvent(0, 'Segment not found', -1));\n };\n\n private readonly onVolumeChangeEvent = (event: NativeVolumeChangeEvent) => {\n this._facade.dispatchEvent(new DefaultVolumeChangeEvent(event.volume, this._player.muted));\n };\n\n private readonly onPresentationModeChange = (event: PresentationModeChangeEvent) => {\n this._facade.dispatchEvent(new DefaultPresentationModeChangeEvent(event.presentationMode as PresentationMode, PresentationMode.inline)); // TODO: move to extended event\n };\n\n private readonly onAddTextTrack = (event: AddTrackEvent) => {\n const track = event.track as NativeTextTrack;\n track.addEventListener('addcue', this.onAddTextTrackCue(track));\n track.addEventListener('removecue', this.onRemoveTextTrackCue(track));\n track.addEventListener('entercue', this.onEnterTextTrackCue(track));\n track.addEventListener('exitcue', this.onExitTextTrackCue(track));\n this._facade.dispatchEvent(new DefaultTextTrackListEvent(TrackListEventType.ADD_TRACK, track as TextTrack));\n };\n\n private readonly onRemoveTextTrack = (event: RemoveTrackEvent) => {\n const track = event.track as NativeTextTrack;\n track.removeEventListener('addcue', this.onAddTextTrackCue(track));\n track.removeEventListener('removecue', this.onRemoveTextTrackCue(track));\n track.removeEventListener('entercue', this.onEnterTextTrackCue(track));\n track.removeEventListener('exitcue', this.onExitTextTrackCue(track));\n this._facade.dispatchEvent(new DefaultTextTrackListEvent(TrackListEventType.REMOVE_TRACK, track as NativeTextTrack as TextTrack));\n };\n\n private readonly onChangeTextTrack = (event: TrackChangeEvent) => {\n this._facade.dispatchEvent(new DefaultTextTrackListEvent(TrackListEventType.CHANGE_TRACK, event.track as NativeTextTrack as TextTrack));\n };\n\n private readonly onAddAudioTrack = (event: AddTrackEvent) => {\n this.onAddMediaTrack(event, MediaTrackType.AUDIO);\n };\n\n private readonly onAddVideoTrack = (event: AddTrackEvent) => {\n this.onAddMediaTrack(event, MediaTrackType.VIDEO);\n };\n\n private readonly onAddMediaTrack = (event: AddTrackEvent, trackType: MediaTrackType) => {\n const track = event.track as NativeMediaTrack;\n track.addEventListener('activequalitychanged', this.onActiveQualityChanged(trackType, track));\n this._facade.dispatchEvent(new DefaultMediaTrackListEvent(TrackListEventType.ADD_TRACK, trackType, track as MediaTrack));\n };\n\n private readonly onRemoveAudioTrack = (event: RemoveTrackEvent) => {\n this.onRemoveMediaTrack(event, MediaTrackType.AUDIO);\n };\n\n private readonly onRemoveVideoTrack = (event: RemoveTrackEvent) => {\n this.onRemoveMediaTrack(event, MediaTrackType.VIDEO);\n };\n\n private readonly onRemoveMediaTrack = (event: RemoveTrackEvent, trackType: MediaTrackType) => {\n const track = event.track as NativeMediaTrack;\n track.removeEventListener('activequalitychanged', this.onActiveQualityChanged(trackType, track));\n this._facade.dispatchEvent(new DefaultMediaTrackListEvent(TrackListEventType.REMOVE_TRACK, trackType, track as MediaTrack));\n };\n\n private readonly onChangeAudioTrack = (event: TrackChangeEvent) => {\n this.onChangeMediaTrack(event, MediaTrackType.AUDIO);\n };\n\n private readonly onChangeVideoTrack = (event: TrackChangeEvent) => {\n this.onChangeMediaTrack(event, MediaTrackType.VIDEO);\n };\n\n private onChangeMediaTrack = (event: TrackChangeEvent, trackType: MediaTrackType) => {\n const track = event.track as NativeMediaTrack;\n this._facade.dispatchEvent(new DefaultMediaTrackListEvent(TrackListEventType.CHANGE_TRACK, trackType, track as MediaTrack));\n };\n\n private readonly onChromecastStateChange = (event: CastStateChangeEvent) => {\n this._facade.dispatchEvent(new DefaultChromecastChangeEvent(event.state as CastState));\n };\n\n private readonly onChromecastError = (event: ChromecastErrorEvent) => {\n this._facade.dispatchEvent(new DefaultChromecastErrorEvent(event.error));\n };\n\n private readonly onAirplayStateChange = (event: CastStateChangeEvent) => {\n this._facade.dispatchEvent(new DefaultAirplayStateChangeEvent(event.state as CastState));\n };\n\n private readonly onAdEvent = (event: NativeEvent) => {\n const castedEvent = event as AdEvent;\n this._facade.dispatchEvent(new DefaultAdEvent(event.type as AdEventType, castedEvent.ad));\n };\n\n private readonly onAddTextTrackCue = (track: NativeTextTrack) => (event: NativeEvent<'addcue'>) => {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n this._facade.dispatchEvent(new DefaultTextTrackEvent(TextTrackEventType.ADD_CUE, track.uid, fromNativeCue(cue)));\n }\n };\n\n private readonly onRemoveTextTrackCue = (track: NativeTextTrack) => (event: NativeEvent<'removecue'>) => {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n this._facade.dispatchEvent(new DefaultTextTrackEvent(TextTrackEventType.REMOVE_CUE, track.uid, fromNativeCue(cue)));\n }\n };\n\n private readonly onEnterTextTrackCue = (track: NativeTextTrack) => (event: NativeEvent<'entercue'>) => {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n this._facade.dispatchEvent(new DefaultTextTrackEvent(TextTrackEventType.ENTER_CUE, track.uid, fromNativeCue(cue)));\n }\n };\n\n private readonly onExitTextTrackCue = (track: NativeTextTrack) => (event: NativeEvent<'exitcue'>) => {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n this._facade.dispatchEvent(new DefaultTextTrackEvent(TextTrackEventType.EXIT_CUE, track.uid, fromNativeCue(cue)));\n }\n };\n\n private readonly onActiveQualityChanged = (trackType: MediaTrackType, track: NativeMediaTrack) => () => {\n const quality = track.activeQuality;\n this._facade.dispatchEvent(\n new DefaultMediaTrackEvent(MediaTrackEventType.ACTIVE_QUALITY_CHANGED, trackType, track.uid, quality ? [quality] : undefined),\n );\n };\n}\n\nconst FORWARDED_AD_EVENTS: Array<AdEventType> = [\n AdEventType.ADD_AD_BREAK,\n AdEventType.REMOVE_AD_BREAK,\n AdEventType.AD_LOADED,\n AdEventType.AD_BREAK_BEGIN,\n AdEventType.AD_BREAK_END,\n AdEventType.AD_BREAK_CHANGE,\n AdEventType.UPDATE_AD_BREAK,\n AdEventType.ADD_AD,\n AdEventType.AD_BEGIN,\n AdEventType.AD_END,\n AdEventType.UPDATE_AD,\n AdEventType.AD_FIRST_QUARTILE,\n AdEventType.AD_MIDPOINT,\n AdEventType.AD_THIRD_QUARTILE,\n AdEventType.AD_SKIP,\n AdEventType.AD_IMPRESSION,\n AdEventType.AD_ERROR,\n AdEventType.AD_METADATA,\n AdEventType.AD_BUFFERING,\n];\n\nfunction fromTimeRanges(timeRanges: TimeRanges): TimeRange[] {\n const result: TimeRange[] = [];\n for (let i = 0; i < timeRanges.length; i++) {\n result.push({\n start: timeRanges.start(i) * 1e3,\n end: timeRanges.end(i) * 1e3,\n });\n }\n return result;\n}\n"],"mappings":";;;;;;AAoBA,IAAAA,sBAAA,GAAAC,OAAA;AAWA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AAoBA,IAAAG,WAAA,GAAAH,OAAA;AAA4F,SAAAI,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAErF,MAAMU,iBAAiB,CAAC;EAI7BC,WAAWA,CAACC,MAAwB,EAAEC,MAA4B,EAAE;IAAA1B,eAAA;IAAAA,eAAA;IAAAA,eAAA,yBA8FlC,MAAM;MACtC,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIC,oBAAS,CAACC,sCAAe,CAACC,aAAa,CAAC,CAAC;IAC1E,CAAC;IAAA/B,eAAA,sBAE8B,MAAM;MACnC,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIC,oBAAS,CAACC,sCAAe,CAACE,UAAU,CAAC,CAAC;IACvE,CAAC;IAAAhC,eAAA,uBAE+B,MAAM;MACpC,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIC,oBAAS,CAACC,sCAAe,CAACG,WAAW,CAAC,CAAC;IACxE,CAAC;IAAAjC,eAAA,2BAEmC,MAAM;MAAA,IAAAkC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;MACxC,IAAI,CAACT,OAAO,CAACC,aAAa,CACxB,IAAIS,wCAA0B,CAC5B,IAAI,CAACC,OAAO,CAACC,UAAU,CAACC,GAAG,CAAEC,SAA0B,IAAK,IAAAC,+BAAmB,EAACD,SAAS,CAAC,CAAC,EAC3F,IAAI,CAACH,OAAO,CAACK,WAAW,CAACH,GAAG,CAAEI,UAA4B,IAAK,IAAAC,gCAAoB,EAACD,UAAU,CAAC,CAAC,EAChG,IAAI,CAACN,OAAO,CAACQ,WAAW,CAACN,GAAG,CAAEO,UAA4B,IAAK,IAAAF,gCAAoB,EAACE,UAAU,CAAC,CAAC,EAChG,GAAG,GAAG,IAAI,CAACT,OAAO,CAACU,QAAQ,GAAAd,qBAAA,GAC3B,IAAI,CAACI,OAAO,CAACC,UAAU,CAACU,IAAI,CAAEC,KAAsB,IAAKA,KAAK,CAACC,IAAI,KAAK,SAAS,CAAC,cAAAjB,qBAAA,uBAAlFA,qBAAA,CAAoFkB,GAAG,GAAAjB,qBAAA,GACvF,IAAI,CAACG,OAAO,CAACQ,WAAW,CAACG,IAAI,CAAEC,KAAuB,IAAKA,KAAK,CAACG,OAAO,CAAC,cAAAlB,qBAAA,uBAAzEA,qBAAA,CAA2EiB,GAAG,GAAAhB,qBAAA,GAC9E,IAAI,CAACE,OAAO,CAACK,WAAW,CAACM,IAAI,CAAEC,KAAuB,IAAKA,KAAK,CAACG,OAAO,CAAC,cAAAjB,qBAAA,uBAAzEA,qBAAA,CAA2EgB,GAC7E,CACF,CAAC;IACH,CAAC;IAAApD,eAAA,kBAE2BsD,KAAuB,IAAK;MACtD,IAAI,CAAC3B,OAAO,CAACC,aAAa,CACxB,IAAI2B,+BAAiB,CAAC;QACpBC,SAAS,EAAEF,KAAK,CAACG,WAAW,CAACC,IAAI,CAACC,QAAQ,CAAC,CAAC;QAC5CC,YAAY,EAAEN,KAAK,CAACG,WAAW,CAACI;MAClC,CAAC,CACH,CAAC;IACH,CAAC;IAAA7D,eAAA,qBAE6B,MAAM;MAClC,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIkC,kCAAoB,CAACC,cAAc,CAAC,IAAI,CAACzB,OAAO,CAAC0B,QAAQ,CAAC,EAAED,cAAc,CAAC,IAAI,CAACzB,OAAO,CAAC2B,QAAQ,CAAC,CAAC,CAAC;IACpI,CAAC;IAAAjE,eAAA,oBAE4B,MAAM;MACjC,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIC,oBAAS,CAACC,sCAAe,CAACoC,OAAO,CAAC,CAAC;IACpE,CAAC;IAAAlE,eAAA,iBAEyB,MAAM;MAC9B,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIC,oBAAS,CAACC,sCAAe,CAACqC,IAAI,CAAC,CAAC;IACjE,CAAC;IAAAnE,eAAA,oBAE4B,MAAM;MACjC,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIC,oBAAS,CAACC,sCAAe,CAACsC,OAAO,CAAC,CAAC;IACpE,CAAC;IAAApE,eAAA,kBAE0B,MAAM;MAC/B,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIC,oBAAS,CAACC,sCAAe,CAACuC,KAAK,CAAC,CAAC;IAClE,CAAC;IAAArE,eAAA,oBAE4B,MAAM;MACjC,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIC,oBAAS,CAACC,sCAAe,CAACwC,OAAO,CAAC,CAAC;IACpE,CAAC;IAAAtE,eAAA,mBAE2B,MAAM;MAChC,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIC,oBAAS,CAACC,sCAAe,CAACyC,MAAM,CAAC,CAAC;IACnE,CAAC;IAAAvE,eAAA,kBAE0B,MAAM;MAC/B,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIC,oBAAS,CAACC,sCAAe,CAAC0C,KAAK,CAAC,CAAC;IAClE,CAAC;IAAAxE,eAAA,oBAE4B,MAAM;MACjC,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIC,oBAAS,CAACC,sCAAe,CAAC2C,OAAO,CAAC,CAAC;IACpE,CAAC;IAAAzE,eAAA,8BAEuCsD,KAAkC,IAAK;MAC7E,IAAI,CAAC3B,OAAO,CAACC,aAAa,CAAC,IAAI8C,0CAA4B,CAACpB,KAAK,CAACqB,UAAU,CAAC,CAAC;IAChF,CAAC;IAAA3E,eAAA,uBAEgCsD,KAA4B,IAAK;MAAA,IAAAsB,qBAAA;MAChE,IAAI,CAACjD,OAAO,CAACC,aAAa,CAAC,IAAIiD,oCAAsB,CAACvB,KAAK,CAACwB,WAAW,GAAG,GAAG,GAAAF,qBAAA,GAAEtB,KAAK,CAACyB,sBAAsB,cAAAH,qBAAA,uBAA5BA,qBAAA,CAA8BI,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1H,CAAC;IAAAhF,eAAA,2BAEoCsD,KAAgC,IAAK;MACxE,IAAI,CAAC3B,OAAO,CAACC,aAAa,CAAC,IAAIqD,wCAA0B,CAAC3B,KAAK,CAACN,QAAQ,GAAG,GAAG,CAAC,CAAC;IAClF,CAAC;IAAAhD,eAAA,+BAEwCsD,KAA4B,IAAK;MACxE,IAAI,CAAC3B,OAAO,CAACC,aAAa,CAAC,IAAIsD,oCAAsB,CAAC5B,KAAK,CAAC6B,YAAY,CAAC,CAAC;IAC5E,CAAC;IAAAnF,eAAA,4BAEoC,MAAM;MACzC,IAAI,CAAC2B,OAAO,CAACC,aAAa,CAAC,IAAIwD,yCAA2B,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IAAApF,eAAA,8BAEuCsD,KAA8B,IAAK;MACzE,IAAI,CAAC3B,OAAO,CAACC,aAAa,CAAC,IAAIyD,sCAAwB,CAAC/B,KAAK,CAACgC,MAAM,EAAE,IAAI,CAAChD,OAAO,CAACiD,KAAK,CAAC,CAAC;IAC5F,CAAC;IAAAvF,eAAA,mCAE4CsD,KAAkC,IAAK;MAClF,IAAI,CAAC3B,OAAO,CAACC,aAAa,CAAC,IAAI4D,gDAAkC,CAAClC,KAAK,CAACmC,gBAAgB,EAAsBC,uCAAgB,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3I,CAAC;IAAA3F,eAAA,yBAEkCsD,KAAoB,IAAK;MAC1D,MAAMJ,KAAK,GAAGI,KAAK,CAACJ,KAAwB;MAC5CA,KAAK,CAAC0C,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAACC,iBAAiB,CAAC3C,KAAK,CAAC,CAAC;MAC/DA,KAAK,CAAC0C,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAACE,oBAAoB,CAAC5C,KAAK,CAAC,CAAC;MACrEA,KAAK,CAAC0C,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAACG,mBAAmB,CAAC7C,KAAK,CAAC,CAAC;MACnEA,KAAK,CAAC0C,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACI,kBAAkB,CAAC9C,KAAK,CAAC,CAAC;MACjE,IAAI,CAACvB,OAAO,CAACC,aAAa,CAAC,IAAIqE,uCAAyB,CAACC,yCAAkB,CAACC,SAAS,EAAEjD,KAAkB,CAAC,CAAC;IAC7G,CAAC;IAAAlD,eAAA,4BAEqCsD,KAAuB,IAAK;MAChE,MAAMJ,KAAK,GAAGI,KAAK,CAACJ,KAAwB;MAC5CA,KAAK,CAACkD,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACP,iBAAiB,CAAC3C,KAAK,CAAC,CAAC;MAClEA,KAAK,CAACkD,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAACN,oBAAoB,CAAC5C,KAAK,CAAC,CAAC;MACxEA,KAAK,CAACkD,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAACL,mBAAmB,CAAC7C,KAAK,CAAC,CAAC;MACtEA,KAAK,CAACkD,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACJ,kBAAkB,CAAC9C,KAAK,CAAC,CAAC;MACpE,IAAI,CAACvB,OAAO,CAACC,aAAa,CAAC,IAAIqE,uCAAyB,CAACC,yCAAkB,CAACG,YAAY,EAAEnD,KAAqC,CAAC,CAAC;IACnI,CAAC;IAAAlD,eAAA,4BAEqCsD,KAAuB,IAAK;MAChE,IAAI,CAAC3B,OAAO,CAACC,aAAa,CAAC,IAAIqE,uCAAyB,CAACC,yCAAkB,CAACI,YAAY,EAAEhD,KAAK,CAACJ,KAAqC,CAAC,CAAC;IACzI,CAAC;IAAAlD,eAAA,0BAEmCsD,KAAoB,IAAK;MAC3D,IAAI,CAACiD,eAAe,CAACjD,KAAK,EAAEkD,qCAAc,CAACC,KAAK,CAAC;IACnD,CAAC;IAAAzG,eAAA,0BAEmCsD,KAAoB,IAAK;MAC3D,IAAI,CAACiD,eAAe,CAACjD,KAAK,EAAEkD,qCAAc,CAACE,KAAK,CAAC;IACnD,CAAC;IAAA1G,eAAA,0BAEkC,CAACsD,KAAoB,EAAEqD,SAAyB,KAAK;MACtF,MAAMzD,KAAK,GAAGI,KAAK,CAACJ,KAAyB;MAC7CA,KAAK,CAAC0C,gBAAgB,CAAC,sBAAsB,EAAE,IAAI,CAACgB,sBAAsB,CAACD,SAAS,EAAEzD,KAAK,CAAC,CAAC;MAC7F,IAAI,CAACvB,OAAO,CAACC,aAAa,CAAC,IAAIiF,wCAA0B,CAACX,yCAAkB,CAACC,SAAS,EAAEQ,SAAS,EAAEzD,KAAmB,CAAC,CAAC;IAC1H,CAAC;IAAAlD,eAAA,6BAEsCsD,KAAuB,IAAK;MACjE,IAAI,CAACwD,kBAAkB,CAACxD,KAAK,EAAEkD,qCAAc,CAACC,KAAK,CAAC;IACtD,CAAC;IAAAzG,eAAA,6BAEsCsD,KAAuB,IAAK;MACjE,IAAI,CAACwD,kBAAkB,CAACxD,KAAK,EAAEkD,qCAAc,CAACE,KAAK,CAAC;IACtD,CAAC;IAAA1G,eAAA,6BAEqC,CAACsD,KAAuB,EAAEqD,SAAyB,KAAK;MAC5F,MAAMzD,KAAK,GAAGI,KAAK,CAACJ,KAAyB;MAC7CA,KAAK,CAACkD,mBAAmB,CAAC,sBAAsB,EAAE,IAAI,CAACQ,sBAAsB,CAACD,SAAS,EAAEzD,KAAK,CAAC,CAAC;MAChG,IAAI,CAACvB,OAAO,CAACC,aAAa,CAAC,IAAIiF,wCAA0B,CAACX,yCAAkB,CAACG,YAAY,EAAEM,SAAS,EAAEzD,KAAmB,CAAC,CAAC;IAC7H,CAAC;IAAAlD,eAAA,6BAEsCsD,KAAuB,IAAK;MACjE,IAAI,CAACyD,kBAAkB,CAACzD,KAAK,EAAEkD,qCAAc,CAACC,KAAK,CAAC;IACtD,CAAC;IAAAzG,eAAA,6BAEsCsD,KAAuB,IAAK;MACjE,IAAI,CAACyD,kBAAkB,CAACzD,KAAK,EAAEkD,qCAAc,CAACE,KAAK,CAAC;IACtD,CAAC;IAAA1G,eAAA,6BAE4B,CAACsD,KAAuB,EAAEqD,SAAyB,KAAK;MACnF,MAAMzD,KAAK,GAAGI,KAAK,CAACJ,KAAyB;MAC7C,IAAI,CAACvB,OAAO,CAACC,aAAa,CAAC,IAAIiF,wCAA0B,CAACX,yCAAkB,CAACI,YAAY,EAAEK,SAAS,EAAEzD,KAAmB,CAAC,CAAC;IAC7H,CAAC;IAAAlD,eAAA,kCAE2CsD,KAA2B,IAAK;MAC1E,IAAI,CAAC3B,OAAO,CAACC,aAAa,CAAC,IAAIoF,0CAA4B,CAAC1D,KAAK,CAAC2D,KAAkB,CAAC,CAAC;IACxF,CAAC;IAAAjH,eAAA,4BAEqCsD,KAA2B,IAAK;MACpE,IAAI,CAAC3B,OAAO,CAACC,aAAa,CAAC,IAAIsF,yCAA2B,CAAC5D,KAAK,CAAC6D,KAAK,CAAC,CAAC;IAC1E,CAAC;IAAAnH,eAAA,+BAEwCsD,KAA2B,IAAK;MACvE,IAAI,CAAC3B,OAAO,CAACC,aAAa,CAAC,IAAIwF,4CAA8B,CAAC9D,KAAK,CAAC2D,KAAkB,CAAC,CAAC;IAC1F,CAAC;IAAAjH,eAAA,oBAE6BsD,KAAkB,IAAK;MACnD,MAAM+D,WAAW,GAAG/D,KAAgB;MACpC,IAAI,CAAC3B,OAAO,CAACC,aAAa,CAAC,IAAI0F,4BAAc,CAAChE,KAAK,CAACiE,IAAI,EAAiBF,WAAW,CAACG,EAAE,CAAC,CAAC;IAC3F,CAAC;IAAAxH,eAAA,4BAEqCkD,KAAsB,IAAMI,KAA4B,IAAK;MACjG,MAAM;QAAEmE;MAAI,CAAC,GAAGnE,KAA+C;MAC/D,IAAImE,GAAG,EAAE;QACP,IAAI,CAAC9F,OAAO,CAACC,aAAa,CAAC,IAAI8F,mCAAqB,CAACC,yCAAkB,CAACC,OAAO,EAAE1E,KAAK,CAACE,GAAG,EAAE,IAAAyE,yBAAa,EAACJ,GAAG,CAAC,CAAC,CAAC;MAClH;IACF,CAAC;IAAAzH,eAAA,+BAEwCkD,KAAsB,IAAMI,KAA+B,IAAK;MACvG,MAAM;QAAEmE;MAAI,CAAC,GAAGnE,KAA+C;MAC/D,IAAImE,GAAG,EAAE;QACP,IAAI,CAAC9F,OAAO,CAACC,aAAa,CAAC,IAAI8F,mCAAqB,CAACC,yCAAkB,CAACG,UAAU,EAAE5E,KAAK,CAACE,GAAG,EAAE,IAAAyE,yBAAa,EAACJ,GAAG,CAAC,CAAC,CAAC;MACrH;IACF,CAAC;IAAAzH,eAAA,8BAEuCkD,KAAsB,IAAMI,KAA8B,IAAK;MACrG,MAAM;QAAEmE;MAAI,CAAC,GAAGnE,KAA+C;MAC/D,IAAImE,GAAG,EAAE;QACP,IAAI,CAAC9F,OAAO,CAACC,aAAa,CAAC,IAAI8F,mCAAqB,CAACC,yCAAkB,CAACI,SAAS,EAAE7E,KAAK,CAACE,GAAG,EAAE,IAAAyE,yBAAa,EAACJ,GAAG,CAAC,CAAC,CAAC;MACpH;IACF,CAAC;IAAAzH,eAAA,6BAEsCkD,KAAsB,IAAMI,KAA6B,IAAK;MACnG,MAAM;QAAEmE;MAAI,CAAC,GAAGnE,KAA+C;MAC/D,IAAImE,GAAG,EAAE;QACP,IAAI,CAAC9F,OAAO,CAACC,aAAa,CAAC,IAAI8F,mCAAqB,CAACC,yCAAkB,CAACK,QAAQ,EAAE9E,KAAK,CAACE,GAAG,EAAE,IAAAyE,yBAAa,EAACJ,GAAG,CAAC,CAAC,CAAC;MACnH;IACF,CAAC;IAAAzH,eAAA,iCAEyC,CAAC2G,SAAyB,EAAEzD,KAAuB,KAAK,MAAM;MACtG,MAAM+E,OAAO,GAAG/E,KAAK,CAACgF,aAAa;MACnC,IAAI,CAACvG,OAAO,CAACC,aAAa,CACxB,IAAIuG,oCAAsB,CAACC,0CAAmB,CAACC,sBAAsB,EAAE1B,SAAS,EAAEzD,KAAK,CAACE,GAAG,EAAE6E,OAAO,GAAG,CAACA,OAAO,CAAC,GAAG/G,SAAS,CAC9H,CAAC;IACH,CAAC;IAjTC,IAAI,CAACoB,OAAO,GAAGb,MAAM;IACrB,IAAI,CAACE,OAAO,GAAGD,MAAM;IACrB,IAAI,CAAC4G,iBAAiB,CAAC,CAAC;EAC1B;EAEQA,iBAAiBA,CAAA,EAAG;IAAA,IAAAC,kBAAA,EAAAC,mBAAA,EAAAC,mBAAA,EAAAC,iBAAA;IAC1B,IAAI,CAACpG,OAAO,CAACsD,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC+C,cAAc,CAAC;IAClE,IAAI,CAACrG,OAAO,CAACsD,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAACgD,WAAW,CAAC;IAC5D,IAAI,CAACtG,OAAO,CAACsD,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAACiD,YAAY,CAAC;IAC9D,IAAI,CAACvG,OAAO,CAACsD,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAACkD,gBAAgB,CAAC;IACtE,IAAI,CAACxG,OAAO,CAACsD,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAACmD,OAAO,CAAC;IACpD,IAAI,CAACzG,OAAO,CAACsD,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAACoD,UAAU,CAAC;IAC1D,IAAI,CAAC1G,OAAO,CAACsD,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAACqD,MAAM,CAAC;IAClD,IAAI,CAAC3G,OAAO,CAACsD,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACsD,SAAS,CAAC;IACxD,IAAI,CAAC5G,OAAO,CAACsD,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACuD,SAAS,CAAC;IACxD,IAAI,CAAC7G,OAAO,CAACsD,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAACwD,OAAO,CAAC;IACpD,IAAI,CAAC9G,OAAO,CAACsD,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACyD,SAAS,CAAC;IACxD,IAAI,CAAC/G,OAAO,CAACsD,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC0D,QAAQ,CAAC;IACtD,IAAI,CAAChH,OAAO,CAACsD,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC2D,OAAO,CAAC;IACpD,IAAI,CAACjH,OAAO,CAACsD,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC4D,SAAS,CAAC;IACxD,IAAI,CAAClH,OAAO,CAACsD,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC6D,mBAAmB,CAAC;IAC3E,IAAI,CAACnH,OAAO,CAACsD,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC8D,YAAY,CAAC;IAC9D,IAAI,CAACpH,OAAO,CAACsD,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC+D,gBAAgB,CAAC;IACtE,IAAI,CAACrH,OAAO,CAACsD,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAACgE,oBAAoB,CAAC;IACtE,IAAI,CAACtH,OAAO,CAACsD,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAACiE,iBAAiB,CAAC;IACxE,IAAI,CAACvH,OAAO,CAACsD,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAACkE,mBAAmB,CAAC;IACvE,IAAI,CAACxH,OAAO,CAACyH,YAAY,CAACnE,gBAAgB,CAAC,wBAAwB,EAAE,IAAI,CAACoE,wBAAwB,CAAC;IAEnG,IAAI,CAAC1H,OAAO,CAACC,UAAU,CAACqD,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAACqE,cAAc,CAAC;IACzE,IAAI,CAAC3H,OAAO,CAACC,UAAU,CAACqD,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAACsE,iBAAiB,CAAC;IAC/E,IAAI,CAAC5H,OAAO,CAACC,UAAU,CAACqD,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAACuE,iBAAiB,CAAC;IAE1E,IAAI,CAAC7H,OAAO,CAACK,WAAW,CAACiD,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAACwE,eAAe,CAAC;IAC3E,IAAI,CAAC9H,OAAO,CAACK,WAAW,CAACiD,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAACyE,kBAAkB,CAAC;IACjF,IAAI,CAAC/H,OAAO,CAACK,WAAW,CAACiD,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC0E,kBAAkB,CAAC;IAE5E,IAAI,CAAChI,OAAO,CAACQ,WAAW,CAAC8C,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC2E,eAAe,CAAC;IAC3E,IAAI,CAACjI,OAAO,CAACQ,WAAW,CAAC8C,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC4E,kBAAkB,CAAC;IACjF,IAAI,CAAClI,OAAO,CAACQ,WAAW,CAAC8C,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC6E,kBAAkB,CAAC;IAE5E,CAAAlC,kBAAA,OAAI,CAACjG,OAAO,CAACoI,IAAI,cAAAnC,kBAAA,gBAAAA,kBAAA,GAAjBA,kBAAA,CAAmBoC,UAAU,cAAApC,kBAAA,eAA7BA,kBAAA,CAA+B3C,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAACgF,uBAAuB,CAAC;IAC5F,CAAApC,mBAAA,OAAI,CAAClG,OAAO,CAACoI,IAAI,cAAAlC,mBAAA,gBAAAA,mBAAA,GAAjBA,mBAAA,CAAmBmC,UAAU,cAAAnC,mBAAA,eAA7BA,mBAAA,CAA+B5C,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAACiF,iBAAiB,CAAC;IAChF,CAAApC,mBAAA,OAAI,CAACnG,OAAO,CAACoI,IAAI,cAAAjC,mBAAA,gBAAAA,mBAAA,GAAjBA,mBAAA,CAAmBqC,OAAO,cAAArC,mBAAA,eAA1BA,mBAAA,CAA4B7C,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAACmF,oBAAoB,CAAC;IAEtF,CAAArC,iBAAA,OAAI,CAACpG,OAAO,CAAC0I,GAAG,cAAAtC,iBAAA,eAAhBA,iBAAA,CAAkB9C,gBAAgB,CAACqF,mBAAmB,EAAE,IAAI,CAACC,SAAS,CAAC;EACzE;EAEAC,MAAMA,CAAA,EAAS;IACb,IAAI,CAACC,oBAAoB,CAAC,CAAC;EAC7B;EAEQA,oBAAoBA,CAAA,EAAG;IAAA,IAAAC,mBAAA,EAAAC,mBAAA,EAAAC,mBAAA,EAAAC,kBAAA;IAC7B,IAAI,CAAClJ,OAAO,CAAC8D,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAACuC,cAAc,CAAC;IACrE,IAAI,CAACrG,OAAO,CAAC8D,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAACwC,WAAW,CAAC;IAC/D,IAAI,CAACtG,OAAO,CAAC8D,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAACyC,YAAY,CAAC;IACjE,IAAI,CAACvG,OAAO,CAAC8D,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC0C,gBAAgB,CAAC;IACzE,IAAI,CAACxG,OAAO,CAAC8D,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC2C,OAAO,CAAC;IACvD,IAAI,CAACzG,OAAO,CAAC8D,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC4C,UAAU,CAAC;IAC7D,IAAI,CAAC1G,OAAO,CAAC8D,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC8C,SAAS,CAAC;IAC3D,IAAI,CAAC5G,OAAO,CAAC8D,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC6C,MAAM,CAAC;IACrD,IAAI,CAAC3G,OAAO,CAAC8D,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC+C,SAAS,CAAC;IAC3D,IAAI,CAAC7G,OAAO,CAAC8D,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAACgD,OAAO,CAAC;IACvD,IAAI,CAAC9G,OAAO,CAAC8D,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACiD,SAAS,CAAC;IAC3D,IAAI,CAAC/G,OAAO,CAAC8D,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACkD,QAAQ,CAAC;IACzD,IAAI,CAAChH,OAAO,CAAC8D,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAACmD,OAAO,CAAC;IACvD,IAAI,CAACjH,OAAO,CAAC8D,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACoD,SAAS,CAAC;IAC3D,IAAI,CAAClH,OAAO,CAAC8D,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAACqD,mBAAmB,CAAC;IAC9E,IAAI,CAACnH,OAAO,CAAC8D,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAACsD,YAAY,CAAC;IACjE,IAAI,CAACpH,OAAO,CAAC8D,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAACuD,gBAAgB,CAAC;IACzE,IAAI,CAACrH,OAAO,CAAC8D,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAACwD,oBAAoB,CAAC;IACzE,IAAI,CAACtH,OAAO,CAAC8D,mBAAmB,CAAC,iBAAiB,EAAE,IAAI,CAACyD,iBAAiB,CAAC;IAC3E,IAAI,CAACvH,OAAO,CAAC8D,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC0D,mBAAmB,CAAC;IAC1E,IAAI,CAACxH,OAAO,CAACyH,YAAY,CAAC3D,mBAAmB,CAAC,wBAAwB,EAAE,IAAI,CAAC4D,wBAAwB,CAAC;IAEtG,IAAI,CAAC1H,OAAO,CAACC,UAAU,CAAC6D,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC6D,cAAc,CAAC;IAC5E,IAAI,CAAC3H,OAAO,CAACC,UAAU,CAAC6D,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC8D,iBAAiB,CAAC;IAClF,IAAI,CAAC5H,OAAO,CAACC,UAAU,CAAC6D,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC+D,iBAAiB,CAAC;IAE7E,IAAI,CAAC7H,OAAO,CAACK,WAAW,CAACyD,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAACgE,eAAe,CAAC;IAC9E,IAAI,CAAC9H,OAAO,CAACK,WAAW,CAACyD,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAACiE,kBAAkB,CAAC;IACpF,IAAI,CAAC/H,OAAO,CAACK,WAAW,CAACyD,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACkE,kBAAkB,CAAC;IAE/E,IAAI,CAAChI,OAAO,CAACQ,WAAW,CAACsD,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAACmE,eAAe,CAAC;IAC9E,IAAI,CAACjI,OAAO,CAACQ,WAAW,CAACsD,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAACoE,kBAAkB,CAAC;IACpF,IAAI,CAAClI,OAAO,CAACQ,WAAW,CAACsD,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACqE,kBAAkB,CAAC;IAE/E,CAAAY,mBAAA,OAAI,CAAC/I,OAAO,CAACoI,IAAI,cAAAW,mBAAA,gBAAAA,mBAAA,GAAjBA,mBAAA,CAAmBV,UAAU,cAAAU,mBAAA,eAA7BA,mBAAA,CAA+BjF,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAACwE,uBAAuB,CAAC;IAC/F,CAAAU,mBAAA,OAAI,CAAChJ,OAAO,CAACoI,IAAI,cAAAY,mBAAA,gBAAAA,mBAAA,GAAjBA,mBAAA,CAAmBX,UAAU,cAAAW,mBAAA,eAA7BA,mBAAA,CAA+BlF,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAACyE,iBAAiB,CAAC;IACnF,CAAAU,mBAAA,OAAI,CAACjJ,OAAO,CAACoI,IAAI,cAAAa,mBAAA,gBAAAA,mBAAA,GAAjBA,mBAAA,CAAmBT,OAAO,cAAAS,mBAAA,eAA1BA,mBAAA,CAA4BnF,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC2E,oBAAoB,CAAC;IAEzF,CAAAS,kBAAA,OAAI,CAAClJ,OAAO,CAAC0I,GAAG,cAAAQ,kBAAA,eAAhBA,kBAAA,CAAkBpF,mBAAmB,CAAC6E,mBAAmB,EAAE,IAAI,CAACC,SAAS,CAAC;EAC5E;AAuNF;AAACO,OAAA,CAAAlK,iBAAA,GAAAA,iBAAA;AAED,MAAM0J,mBAAuC,GAAG,CAC9CS,kCAAW,CAACC,YAAY,EACxBD,kCAAW,CAACE,eAAe,EAC3BF,kCAAW,CAACG,SAAS,EACrBH,kCAAW,CAACI,cAAc,EAC1BJ,kCAAW,CAACK,YAAY,EACxBL,kCAAW,CAACM,eAAe,EAC3BN,kCAAW,CAACO,eAAe,EAC3BP,kCAAW,CAACQ,MAAM,EAClBR,kCAAW,CAACS,QAAQ,EACpBT,kCAAW,CAACU,MAAM,EAClBV,kCAAW,CAACW,SAAS,EACrBX,kCAAW,CAACY,iBAAiB,EAC7BZ,kCAAW,CAACa,WAAW,EACvBb,kCAAW,CAACc,iBAAiB,EAC7Bd,kCAAW,CAACe,OAAO,EACnBf,kCAAW,CAACgB,aAAa,EACzBhB,kCAAW,CAACiB,QAAQ,EACpBjB,kCAAW,CAACkB,WAAW,EACvBlB,kCAAW,CAACmB,YAAY,CACzB;AAED,SAAS9I,cAAcA,CAAC+I,UAAsB,EAAe;EAC3D,MAAMC,MAAmB,GAAG,EAAE;EAC9B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,UAAU,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;IAC1CD,MAAM,CAACG,IAAI,CAAC;MACVC,KAAK,EAAEL,UAAU,CAACK,KAAK,CAACH,CAAC,CAAC,GAAG,GAAG;MAChCI,GAAG,EAAEN,UAAU,CAACM,GAAG,CAACJ,CAAC,CAAC,GAAG;IAC3B,CAAC,CAAC;EACJ;EACA,OAAOD,MAAM;AACf"}
1
+ {"version":3,"names":["_reactNativeTheoplayer","require","_BaseEvent","_PlayerEvents","_TrackUtils","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","WebEventForwarder","constructor","player","facade","_facade","dispatchEvent","BaseEvent","PlayerEventType","SOURCE_CHANGE","LOAD_START","LOADED_DATA","_this$_player$textTra","_this$_player$videoTr","_this$_player$audioTr","DefaultLoadedMetadataEvent","_player","textTracks","map","textTrack","fromNativeTextTrack","audioTracks","audioTrack","fromNativeMediaTrack","videoTracks","videoTrack","duration","find","track","mode","uid","enabled","event","DefaultErrorEvent","errorCode","errorObject","code","toString","errorMessage","message","DefaultProgressEvent","fromTimeRanges","seekable","buffered","CANPLAY","PLAY","PLAYING","PAUSE","SEEKING","SEEKED","ENDED","WAITING","DefaultReadyStateChangeEvent","readyState","_event$currentProgram","DefaultTimeupdateEvent","currentTime","currentProgramDateTime","getTime","DefaultDurationChangeEvent","DefaultRateChangeEvent","playbackRate","DefaultSegmentNotFoundEvent","DefaultVolumeChangeEvent","volume","muted","DefaultPresentationModeChangeEvent","presentationMode","PresentationMode","inline","kind","TextTrackKind","metadata","TextTrackMode","hidden","addEventListener","onAddTextTrackCue","onRemoveTextTrackCue","onEnterTextTrackCue","onExitTextTrackCue","DefaultTextTrackListEvent","TrackListEventType","ADD_TRACK","removeEventListener","REMOVE_TRACK","CHANGE_TRACK","onAddMediaTrack","MediaTrackType","AUDIO","VIDEO","trackType","onActiveQualityChanged","DefaultMediaTrackListEvent","onRemoveMediaTrack","onChangeMediaTrack","DefaultChromecastChangeEvent","state","DefaultChromecastErrorEvent","error","DefaultAirplayStateChangeEvent","castedEvent","DefaultAdEvent","type","ad","cue","DefaultTextTrackEvent","TextTrackEventType","ADD_CUE","fromNativeCue","REMOVE_CUE","ENTER_CUE","EXIT_CUE","quality","activeQuality","DefaultMediaTrackEvent","MediaTrackEventType","ACTIVE_QUALITY_CHANGED","addEventListeners","_this$_player$cast","_this$_player$cast2","_this$_player$cast3","_this$_player$ads","onSourceChange","onLoadStart","onLoadedData","onLoadedMetadata","onError","onProgress","onPlay","onCanPlay","onPlaying","onPause","onSeeking","onSeeked","onEnded","onWaiting","onReadyStateChanged","onTimeUpdate","onDurationChange","onPlaybackRateChange","onSegmentNotFound","onVolumeChangeEvent","presentation","onPresentationModeChange","onAddTextTrack","onRemoveTextTrack","onChangeTextTrack","onAddAudioTrack","onRemoveAudioTrack","onChangeAudioTrack","onAddVideoTrack","onRemoveVideoTrack","onChangeVideoTrack","cast","chromecast","onChromecastStateChange","onChromecastError","airplay","onAirplayStateChange","ads","FORWARDED_AD_EVENTS","onAdEvent","unload","removeEventListeners","_this$_player$cast4","_this$_player$cast5","_this$_player$cast6","_this$_player$ads2","exports","AdEventType","ADD_AD_BREAK","REMOVE_AD_BREAK","AD_LOADED","AD_BREAK_BEGIN","AD_BREAK_END","AD_BREAK_CHANGE","UPDATE_AD_BREAK","ADD_AD","AD_BEGIN","AD_END","UPDATE_AD","AD_FIRST_QUARTILE","AD_MIDPOINT","AD_THIRD_QUARTILE","AD_SKIP","AD_IMPRESSION","AD_ERROR","AD_METADATA","AD_BUFFERING","timeRanges","result","i","length","push","start","end"],"sources":["WebEventForwarder.ts"],"sourcesContent":["import type { ChromelessPlayer } from 'theoplayer';\nimport type {\n AddTrackEvent,\n CastStateChangeEvent,\n ChromecastErrorEvent,\n DurationChangeEvent as NativeDurationChangeEvent,\n ErrorEvent as NativeErrorEvent,\n Event as NativeEvent,\n MediaTrack as NativeMediaTrack,\n PresentationModeChangeEvent,\n RateChangeEvent as NativeRateChangeEvent,\n ReadyStateChangeEvent as NativeReadyStateChangeEvent,\n RemoveTrackEvent,\n TextTrack as NativeTextTrack,\n TextTrackCue as NativeTextTrackCue,\n TimeUpdateEvent as NativeTimeUpdateEvent,\n TrackChangeEvent,\n VolumeChangeEvent as NativeVolumeChangeEvent,\n} from 'theoplayer';\nimport type { AdEvent, MediaTrack, TextTrack, TimeRange } from 'react-native-theoplayer';\nimport {\n AdEventType,\n CastState,\n MediaTrackEventType,\n MediaTrackType,\n PlayerEventType,\n PresentationMode,\n TextTrackEventType,\n TextTrackKind,\n TextTrackMode,\n TrackListEventType,\n} from 'react-native-theoplayer';\nimport type { THEOplayerWebAdapter } from './THEOplayerWebAdapter';\nimport { BaseEvent } from './event/BaseEvent';\nimport {\n DefaultAdEvent,\n DefaultAirplayStateChangeEvent,\n DefaultChromecastChangeEvent,\n DefaultChromecastErrorEvent,\n DefaultDurationChangeEvent,\n DefaultErrorEvent,\n DefaultLoadedMetadataEvent,\n DefaultMediaTrackEvent,\n DefaultMediaTrackListEvent,\n DefaultPresentationModeChangeEvent,\n DefaultProgressEvent,\n DefaultRateChangeEvent,\n DefaultReadyStateChangeEvent,\n DefaultSegmentNotFoundEvent,\n DefaultTextTrackEvent,\n DefaultTextTrackListEvent,\n DefaultTimeupdateEvent,\n DefaultVolumeChangeEvent,\n} from './event/PlayerEvents';\nimport { fromNativeCue, fromNativeMediaTrack, fromNativeTextTrack } from './web/TrackUtils';\n\nexport class WebEventForwarder {\n private readonly _player: ChromelessPlayer;\n private readonly _facade: THEOplayerWebAdapter;\n\n constructor(player: ChromelessPlayer, facade: THEOplayerWebAdapter) {\n this._player = player;\n this._facade = facade;\n this.addEventListeners();\n }\n\n private addEventListeners() {\n this._player.addEventListener('sourcechange', this.onSourceChange);\n this._player.addEventListener('loadstart', this.onLoadStart);\n this._player.addEventListener('loadeddata', this.onLoadedData);\n this._player.addEventListener('loadedmetadata', this.onLoadedMetadata);\n this._player.addEventListener('error', this.onError);\n this._player.addEventListener('progress', this.onProgress);\n this._player.addEventListener('play', this.onPlay);\n this._player.addEventListener('canplay', this.onCanPlay);\n this._player.addEventListener('playing', this.onPlaying);\n this._player.addEventListener('pause', this.onPause);\n this._player.addEventListener('seeking', this.onSeeking);\n this._player.addEventListener('seeked', this.onSeeked);\n this._player.addEventListener('ended', this.onEnded);\n this._player.addEventListener('waiting', this.onWaiting);\n this._player.addEventListener('readystatechange', this.onReadyStateChanged);\n this._player.addEventListener('timeupdate', this.onTimeUpdate);\n this._player.addEventListener('durationchange', this.onDurationChange);\n this._player.addEventListener('ratechange', this.onPlaybackRateChange);\n this._player.addEventListener('segmentnotfound', this.onSegmentNotFound);\n this._player.addEventListener('volumechange', this.onVolumeChangeEvent);\n this._player.presentation.addEventListener('presentationmodechange', this.onPresentationModeChange);\n\n this._player.textTracks.addEventListener('addtrack', this.onAddTextTrack);\n this._player.textTracks.addEventListener('removetrack', this.onRemoveTextTrack);\n this._player.textTracks.addEventListener('change', this.onChangeTextTrack);\n\n this._player.audioTracks.addEventListener('addtrack', this.onAddAudioTrack);\n this._player.audioTracks.addEventListener('removetrack', this.onRemoveAudioTrack);\n this._player.audioTracks.addEventListener('change', this.onChangeAudioTrack);\n\n this._player.videoTracks.addEventListener('addtrack', this.onAddVideoTrack);\n this._player.videoTracks.addEventListener('removetrack', this.onRemoveVideoTrack);\n this._player.videoTracks.addEventListener('change', this.onChangeVideoTrack);\n\n this._player.cast?.chromecast?.addEventListener('statechange', this.onChromecastStateChange);\n this._player.cast?.chromecast?.addEventListener('error', this.onChromecastError);\n this._player.cast?.airplay?.addEventListener('statechange', this.onAirplayStateChange);\n\n this._player.ads?.addEventListener(FORWARDED_AD_EVENTS, this.onAdEvent);\n }\n\n unload(): void {\n this.removeEventListeners();\n }\n\n private removeEventListeners() {\n this._player.removeEventListener('sourcechange', this.onSourceChange);\n this._player.removeEventListener('loadstart', this.onLoadStart);\n this._player.removeEventListener('loadeddata', this.onLoadedData);\n this._player.removeEventListener('loadedmetadata', this.onLoadedMetadata);\n this._player.removeEventListener('error', this.onError);\n this._player.removeEventListener('progress', this.onProgress);\n this._player.removeEventListener('canplay', this.onCanPlay);\n this._player.removeEventListener('play', this.onPlay);\n this._player.removeEventListener('playing', this.onPlaying);\n this._player.removeEventListener('pause', this.onPause);\n this._player.removeEventListener('seeking', this.onSeeking);\n this._player.removeEventListener('seeked', this.onSeeked);\n this._player.removeEventListener('ended', this.onEnded);\n this._player.removeEventListener('waiting', this.onWaiting);\n this._player.removeEventListener('readystatechange', this.onReadyStateChanged);\n this._player.removeEventListener('timeupdate', this.onTimeUpdate);\n this._player.removeEventListener('durationchange', this.onDurationChange);\n this._player.removeEventListener('ratechange', this.onPlaybackRateChange);\n this._player.removeEventListener('segmentnotfound', this.onSegmentNotFound);\n this._player.removeEventListener('volumechange', this.onVolumeChangeEvent);\n this._player.presentation.removeEventListener('presentationmodechange', this.onPresentationModeChange);\n\n this._player.textTracks.removeEventListener('addtrack', this.onAddTextTrack);\n this._player.textTracks.removeEventListener('removetrack', this.onRemoveTextTrack);\n this._player.textTracks.removeEventListener('change', this.onChangeTextTrack);\n\n this._player.audioTracks.removeEventListener('addtrack', this.onAddAudioTrack);\n this._player.audioTracks.removeEventListener('removetrack', this.onRemoveAudioTrack);\n this._player.audioTracks.removeEventListener('change', this.onChangeAudioTrack);\n\n this._player.videoTracks.removeEventListener('addtrack', this.onAddVideoTrack);\n this._player.videoTracks.removeEventListener('removetrack', this.onRemoveVideoTrack);\n this._player.videoTracks.removeEventListener('change', this.onChangeVideoTrack);\n\n this._player.cast?.chromecast?.removeEventListener('statechange', this.onChromecastStateChange);\n this._player.cast?.chromecast?.removeEventListener('error', this.onChromecastError);\n this._player.cast?.airplay?.removeEventListener('statechange', this.onAirplayStateChange);\n\n this._player.ads?.removeEventListener(FORWARDED_AD_EVENTS, this.onAdEvent);\n }\n\n private readonly onSourceChange = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SOURCE_CHANGE));\n };\n\n private readonly onLoadStart = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.LOAD_START));\n };\n\n private readonly onLoadedData = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.LOADED_DATA));\n };\n\n private readonly onLoadedMetadata = () => {\n this._facade.dispatchEvent(\n new DefaultLoadedMetadataEvent(\n this._player.textTracks.map((textTrack: NativeTextTrack) => fromNativeTextTrack(textTrack)),\n this._player.audioTracks.map((audioTrack: NativeMediaTrack) => fromNativeMediaTrack(audioTrack)),\n this._player.videoTracks.map((videoTrack: NativeMediaTrack) => fromNativeMediaTrack(videoTrack)),\n 1e3 * this._player.duration,\n this._player.textTracks.find((track: NativeTextTrack) => track.mode === 'showing')?.uid,\n this._player.videoTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,\n this._player.audioTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,\n ),\n );\n };\n\n private readonly onError = (event: NativeErrorEvent) => {\n this._facade.dispatchEvent(\n new DefaultErrorEvent({\n errorCode: event.errorObject.code.toString(),\n errorMessage: event.errorObject.message,\n }),\n );\n };\n\n private readonly onProgress = () => {\n this._facade.dispatchEvent(new DefaultProgressEvent(fromTimeRanges(this._player.seekable), fromTimeRanges(this._player.buffered)));\n };\n\n private readonly onCanPlay = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.CANPLAY));\n };\n\n private readonly onPlay = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PLAY));\n };\n\n private readonly onPlaying = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PLAYING));\n };\n\n private readonly onPause = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PAUSE));\n };\n\n private readonly onSeeking = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SEEKING));\n };\n\n private readonly onSeeked = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SEEKED));\n };\n\n private readonly onEnded = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.ENDED));\n };\n\n private readonly onWaiting = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.WAITING));\n };\n\n private readonly onReadyStateChanged = (event: NativeReadyStateChangeEvent) => {\n this._facade.dispatchEvent(new DefaultReadyStateChangeEvent(event.readyState));\n };\n\n private readonly onTimeUpdate = (event: NativeTimeUpdateEvent) => {\n this._facade.dispatchEvent(new DefaultTimeupdateEvent(event.currentTime * 1e3, event.currentProgramDateTime?.getTime()));\n };\n\n private readonly onDurationChange = (event: NativeDurationChangeEvent) => {\n this._facade.dispatchEvent(new DefaultDurationChangeEvent(event.duration * 1e3));\n };\n\n private readonly onPlaybackRateChange = (event: NativeRateChangeEvent) => {\n this._facade.dispatchEvent(new DefaultRateChangeEvent(event.playbackRate));\n };\n\n private readonly onSegmentNotFound = () => {\n this._facade.dispatchEvent(new DefaultSegmentNotFoundEvent(0, 'Segment not found', -1));\n };\n\n private readonly onVolumeChangeEvent = (event: NativeVolumeChangeEvent) => {\n this._facade.dispatchEvent(new DefaultVolumeChangeEvent(event.volume, this._player.muted));\n };\n\n private readonly onPresentationModeChange = (event: PresentationModeChangeEvent) => {\n this._facade.dispatchEvent(new DefaultPresentationModeChangeEvent(event.presentationMode as PresentationMode, PresentationMode.inline)); // TODO: move to extended event\n };\n\n private readonly onAddTextTrack = (event: AddTrackEvent) => {\n const track = event.track as NativeTextTrack;\n if (track.kind === TextTrackKind.metadata) {\n track.mode = TextTrackMode.hidden;\n }\n track.addEventListener('addcue', this.onAddTextTrackCue(track));\n track.addEventListener('removecue', this.onRemoveTextTrackCue(track));\n track.addEventListener('entercue', this.onEnterTextTrackCue(track));\n track.addEventListener('exitcue', this.onExitTextTrackCue(track));\n this._facade.dispatchEvent(new DefaultTextTrackListEvent(TrackListEventType.ADD_TRACK, track as TextTrack));\n };\n\n private readonly onRemoveTextTrack = (event: RemoveTrackEvent) => {\n const track = event.track as NativeTextTrack;\n track.removeEventListener('addcue', this.onAddTextTrackCue(track));\n track.removeEventListener('removecue', this.onRemoveTextTrackCue(track));\n track.removeEventListener('entercue', this.onEnterTextTrackCue(track));\n track.removeEventListener('exitcue', this.onExitTextTrackCue(track));\n this._facade.dispatchEvent(new DefaultTextTrackListEvent(TrackListEventType.REMOVE_TRACK, track as NativeTextTrack as TextTrack));\n };\n\n private readonly onChangeTextTrack = (event: TrackChangeEvent) => {\n this._facade.dispatchEvent(new DefaultTextTrackListEvent(TrackListEventType.CHANGE_TRACK, event.track as NativeTextTrack as TextTrack));\n };\n\n private readonly onAddAudioTrack = (event: AddTrackEvent) => {\n this.onAddMediaTrack(event, MediaTrackType.AUDIO);\n };\n\n private readonly onAddVideoTrack = (event: AddTrackEvent) => {\n this.onAddMediaTrack(event, MediaTrackType.VIDEO);\n };\n\n private readonly onAddMediaTrack = (event: AddTrackEvent, trackType: MediaTrackType) => {\n const track = event.track as NativeMediaTrack;\n track.addEventListener('activequalitychanged', this.onActiveQualityChanged(trackType, track));\n this._facade.dispatchEvent(new DefaultMediaTrackListEvent(TrackListEventType.ADD_TRACK, trackType, track as MediaTrack));\n };\n\n private readonly onRemoveAudioTrack = (event: RemoveTrackEvent) => {\n this.onRemoveMediaTrack(event, MediaTrackType.AUDIO);\n };\n\n private readonly onRemoveVideoTrack = (event: RemoveTrackEvent) => {\n this.onRemoveMediaTrack(event, MediaTrackType.VIDEO);\n };\n\n private readonly onRemoveMediaTrack = (event: RemoveTrackEvent, trackType: MediaTrackType) => {\n const track = event.track as NativeMediaTrack;\n track.removeEventListener('activequalitychanged', this.onActiveQualityChanged(trackType, track));\n this._facade.dispatchEvent(new DefaultMediaTrackListEvent(TrackListEventType.REMOVE_TRACK, trackType, track as MediaTrack));\n };\n\n private readonly onChangeAudioTrack = (event: TrackChangeEvent) => {\n this.onChangeMediaTrack(event, MediaTrackType.AUDIO);\n };\n\n private readonly onChangeVideoTrack = (event: TrackChangeEvent) => {\n this.onChangeMediaTrack(event, MediaTrackType.VIDEO);\n };\n\n private onChangeMediaTrack = (event: TrackChangeEvent, trackType: MediaTrackType) => {\n const track = event.track as NativeMediaTrack;\n this._facade.dispatchEvent(new DefaultMediaTrackListEvent(TrackListEventType.CHANGE_TRACK, trackType, track as MediaTrack));\n };\n\n private readonly onChromecastStateChange = (event: CastStateChangeEvent) => {\n this._facade.dispatchEvent(new DefaultChromecastChangeEvent(event.state as CastState));\n };\n\n private readonly onChromecastError = (event: ChromecastErrorEvent) => {\n this._facade.dispatchEvent(new DefaultChromecastErrorEvent(event.error));\n };\n\n private readonly onAirplayStateChange = (event: CastStateChangeEvent) => {\n this._facade.dispatchEvent(new DefaultAirplayStateChangeEvent(event.state as CastState));\n };\n\n private readonly onAdEvent = (event: NativeEvent) => {\n const castedEvent = event as AdEvent;\n this._facade.dispatchEvent(new DefaultAdEvent(event.type as AdEventType, castedEvent.ad));\n };\n\n private readonly onAddTextTrackCue = (track: NativeTextTrack) => (event: NativeEvent<'addcue'>) => {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n this._facade.dispatchEvent(new DefaultTextTrackEvent(TextTrackEventType.ADD_CUE, track.uid, fromNativeCue(cue)));\n }\n };\n\n private readonly onRemoveTextTrackCue = (track: NativeTextTrack) => (event: NativeEvent<'removecue'>) => {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n this._facade.dispatchEvent(new DefaultTextTrackEvent(TextTrackEventType.REMOVE_CUE, track.uid, fromNativeCue(cue)));\n }\n };\n\n private readonly onEnterTextTrackCue = (track: NativeTextTrack) => (event: NativeEvent<'entercue'>) => {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n this._facade.dispatchEvent(new DefaultTextTrackEvent(TextTrackEventType.ENTER_CUE, track.uid, fromNativeCue(cue)));\n }\n };\n\n private readonly onExitTextTrackCue = (track: NativeTextTrack) => (event: NativeEvent<'exitcue'>) => {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n this._facade.dispatchEvent(new DefaultTextTrackEvent(TextTrackEventType.EXIT_CUE, track.uid, fromNativeCue(cue)));\n }\n };\n\n private readonly onActiveQualityChanged = (trackType: MediaTrackType, track: NativeMediaTrack) => () => {\n const quality = track.activeQuality;\n this._facade.dispatchEvent(\n new DefaultMediaTrackEvent(MediaTrackEventType.ACTIVE_QUALITY_CHANGED, trackType, track.uid, quality ? [quality] : undefined),\n );\n };\n}\n\nconst FORWARDED_AD_EVENTS: Array<AdEventType> = [\n AdEventType.ADD_AD_BREAK,\n AdEventType.REMOVE_AD_BREAK,\n AdEventType.AD_LOADED,\n AdEventType.AD_BREAK_BEGIN,\n AdEventType.AD_BREAK_END,\n AdEventType.AD_BREAK_CHANGE,\n AdEventType.UPDATE_AD_BREAK,\n AdEventType.ADD_AD,\n AdEventType.AD_BEGIN,\n AdEventType.AD_END,\n AdEventType.UPDATE_AD,\n AdEventType.AD_FIRST_QUARTILE,\n AdEventType.AD_MIDPOINT,\n AdEventType.AD_THIRD_QUARTILE,\n AdEventType.AD_SKIP,\n AdEventType.AD_IMPRESSION,\n AdEventType.AD_ERROR,\n AdEventType.AD_METADATA,\n AdEventType.AD_BUFFERING,\n];\n\nfunction fromTimeRanges(timeRanges: TimeRanges): TimeRange[] {\n const result: TimeRange[] = [];\n for (let i = 0; i < timeRanges.length; i++) {\n result.push({\n start: timeRanges.start(i) * 1e3,\n end: timeRanges.end(i) * 1e3,\n });\n }\n return result;\n}\n"],"mappings":"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"}
@@ -10,14 +10,30 @@ exports.fromNativeMediaTrack = fromNativeMediaTrack;
10
10
  exports.fromNativeMediaTrackList = fromNativeMediaTrackList;
11
11
  exports.fromNativeTextTrack = fromNativeTextTrack;
12
12
  exports.fromNativeTextTrackList = fromNativeTextTrackList;
13
+ exports.isDateRangeCue = isDateRangeCue;
13
14
  var _TypeUtils = require("../../utils/TypeUtils");
15
+ function isDateRangeCue(cue) {
16
+ return cue.customAttributes != undefined;
17
+ }
14
18
  function fromNativeCue(cue) {
15
19
  return {
16
20
  id: cue.id,
17
21
  uid: cue.uid,
18
22
  startTime: (0, _TypeUtils.decodeNanInf)(1e3 * cue.startTime),
19
23
  endTime: (0, _TypeUtils.decodeNanInf)(1e3 * cue.endTime),
20
- content: cue.content
24
+ content: cue.content,
25
+ ...(isDateRangeCue(cue) && {
26
+ class: cue.class,
27
+ startDate: cue.startDate,
28
+ endDate: cue.endDate,
29
+ duration: cue.duration ? (0, _TypeUtils.decodeNanInf)(1e3 * cue.duration) : cue.duration,
30
+ plannedDuration: cue.plannedDuration ? (0, _TypeUtils.decodeNanInf)(1e3 * cue.plannedDuration) : cue.plannedDuration,
31
+ endOnNext: cue.endOnNext,
32
+ scte35Cmd: cue.scte35Cmd,
33
+ scte35Out: cue.scte35Out,
34
+ scte35In: cue.scte35In,
35
+ customAttributes: cue.customAttributes
36
+ })
21
37
  };
22
38
  }
23
39
  function fromNativeTextTrackList(tracks) {
@@ -1 +1 @@
1
- {"version":3,"names":["_TypeUtils","require","fromNativeCue","cue","id","uid","startTime","decodeNanInf","endTime","content","fromNativeTextTrackList","tracks","map","track","fromNativeTextTrack","kind","label","language","mode","type","src","forced","cues","fromNativeMediaTrackList","fromNativeMediaTrack","activeQuality","qualities","findNativeQualityByUid","mediaTrack","find","quality","findNativeQualitiesByUid","undefined","Array","isArray","filter","includes"],"sources":["TrackUtils.ts"],"sourcesContent":["import type {\n MediaTrack as NativeMediaTrack,\n MediaTrackList as NativeMediaTrackList,\n Quality as NativeQuality,\n TextTrack as NativeTextTrack,\n TextTrackCue as NativeTextTrackCue,\n TextTracksList as NativeTextTrackList,\n} from 'theoplayer';\nimport type { MediaTrack, TextTrack, TextTrackCue } from 'react-native-theoplayer';\nimport { decodeNanInf } from '../../utils/TypeUtils';\n\nexport function fromNativeCue(cue: NativeTextTrackCue): TextTrackCue {\n return {\n id: cue.id,\n uid: cue.uid,\n startTime: decodeNanInf(1e3 * cue.startTime),\n endTime: decodeNanInf(1e3 * cue.endTime),\n content: cue.content,\n } as TextTrackCue;\n}\n\nexport function fromNativeTextTrackList(tracks: NativeTextTrackList): TextTrack[] {\n return tracks.map((track) => fromNativeTextTrack(track));\n}\n\nexport function fromNativeTextTrack(track: NativeTextTrack): TextTrack {\n const { id, uid, kind, label, language, mode, type, src, forced } = track;\n\n return {\n id,\n uid,\n kind,\n label,\n language,\n mode,\n type,\n src,\n forced,\n cues: track.cues ? track.cues.map((cue) => fromNativeCue(cue)) : [],\n } as TextTrack;\n}\n\nexport function fromNativeMediaTrackList(tracks: NativeMediaTrackList): MediaTrack[] {\n return tracks.map((track) => fromNativeMediaTrack(track));\n}\n\nexport function fromNativeMediaTrack(track: NativeMediaTrack): MediaTrack {\n const { id, uid, kind, label, language, activeQuality, qualities } = track;\n return {\n kind,\n label,\n language,\n id,\n uid,\n activeQuality,\n qualities,\n } as MediaTrack;\n}\n\nexport function findNativeQualityByUid(mediaTrack: NativeMediaTrack, uid: number | undefined): NativeQuality | undefined {\n return mediaTrack.qualities.find((quality) => quality.uid === uid);\n}\n\nexport function findNativeQualitiesByUid(mediaTrack: NativeMediaTrack | undefined, uid: number | number[] | undefined): NativeQuality[] | undefined {\n if (uid !== undefined && mediaTrack) {\n if (Array.isArray(uid)) {\n return mediaTrack.qualities.filter((quality) => uid.includes(quality.uid));\n } else {\n const quality = findNativeQualityByUid(mediaTrack, uid);\n return quality ? [quality] : undefined;\n }\n }\n return undefined;\n}\n"],"mappings":";;;;;;;;;;;;AASA,IAAAA,UAAA,GAAAC,OAAA;AAEO,SAASC,aAAaA,CAACC,GAAuB,EAAgB;EACnE,OAAO;IACLC,EAAE,EAAED,GAAG,CAACC,EAAE;IACVC,GAAG,EAAEF,GAAG,CAACE,GAAG;IACZC,SAAS,EAAE,IAAAC,uBAAY,EAAC,GAAG,GAAGJ,GAAG,CAACG,SAAS,CAAC;IAC5CE,OAAO,EAAE,IAAAD,uBAAY,EAAC,GAAG,GAAGJ,GAAG,CAACK,OAAO,CAAC;IACxCC,OAAO,EAAEN,GAAG,CAACM;EACf,CAAC;AACH;AAEO,SAASC,uBAAuBA,CAACC,MAA2B,EAAe;EAChF,OAAOA,MAAM,CAACC,GAAG,CAAEC,KAAK,IAAKC,mBAAmB,CAACD,KAAK,CAAC,CAAC;AAC1D;AAEO,SAASC,mBAAmBA,CAACD,KAAsB,EAAa;EACrE,MAAM;IAAET,EAAE;IAAEC,GAAG;IAAEU,IAAI;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,IAAI;IAAEC,GAAG;IAAEC;EAAO,CAAC,GAAGR,KAAK;EAEzE,OAAO;IACLT,EAAE;IACFC,GAAG;IACHU,IAAI;IACJC,KAAK;IACLC,QAAQ;IACRC,IAAI;IACJC,IAAI;IACJC,GAAG;IACHC,MAAM;IACNC,IAAI,EAAET,KAAK,CAACS,IAAI,GAAGT,KAAK,CAACS,IAAI,CAACV,GAAG,CAAET,GAAG,IAAKD,aAAa,CAACC,GAAG,CAAC,CAAC,GAAG;EACnE,CAAC;AACH;AAEO,SAASoB,wBAAwBA,CAACZ,MAA4B,EAAgB;EACnF,OAAOA,MAAM,CAACC,GAAG,CAAEC,KAAK,IAAKW,oBAAoB,CAACX,KAAK,CAAC,CAAC;AAC3D;AAEO,SAASW,oBAAoBA,CAACX,KAAuB,EAAc;EACxE,MAAM;IAAET,EAAE;IAAEC,GAAG;IAAEU,IAAI;IAAEC,KAAK;IAAEC,QAAQ;IAAEQ,aAAa;IAAEC;EAAU,CAAC,GAAGb,KAAK;EAC1E,OAAO;IACLE,IAAI;IACJC,KAAK;IACLC,QAAQ;IACRb,EAAE;IACFC,GAAG;IACHoB,aAAa;IACbC;EACF,CAAC;AACH;AAEO,SAASC,sBAAsBA,CAACC,UAA4B,EAAEvB,GAAuB,EAA6B;EACvH,OAAOuB,UAAU,CAACF,SAAS,CAACG,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAACzB,GAAG,KAAKA,GAAG,CAAC;AACpE;AAEO,SAAS0B,wBAAwBA,CAACH,UAAwC,EAAEvB,GAAkC,EAA+B;EAClJ,IAAIA,GAAG,KAAK2B,SAAS,IAAIJ,UAAU,EAAE;IACnC,IAAIK,KAAK,CAACC,OAAO,CAAC7B,GAAG,CAAC,EAAE;MACtB,OAAOuB,UAAU,CAACF,SAAS,CAACS,MAAM,CAAEL,OAAO,IAAKzB,GAAG,CAAC+B,QAAQ,CAACN,OAAO,CAACzB,GAAG,CAAC,CAAC;IAC5E,CAAC,MAAM;MACL,MAAMyB,OAAO,GAAGH,sBAAsB,CAACC,UAAU,EAAEvB,GAAG,CAAC;MACvD,OAAOyB,OAAO,GAAG,CAACA,OAAO,CAAC,GAAGE,SAAS;IACxC;EACF;EACA,OAAOA,SAAS;AAClB"}
1
+ {"version":3,"names":["_TypeUtils","require","isDateRangeCue","cue","customAttributes","undefined","fromNativeCue","id","uid","startTime","decodeNanInf","endTime","content","class","startDate","endDate","duration","plannedDuration","endOnNext","scte35Cmd","scte35Out","scte35In","fromNativeTextTrackList","tracks","map","track","fromNativeTextTrack","kind","label","language","mode","type","src","forced","cues","fromNativeMediaTrackList","fromNativeMediaTrack","activeQuality","qualities","findNativeQualityByUid","mediaTrack","find","quality","findNativeQualitiesByUid","Array","isArray","filter","includes"],"sources":["TrackUtils.ts"],"sourcesContent":["import type {\n DateRangeCue as NativeDateRangeCue,\n MediaTrack as NativeMediaTrack,\n MediaTrackList as NativeMediaTrackList,\n Quality as NativeQuality,\n TextTrack as NativeTextTrack,\n TextTrackCue as NativeTextTrackCue,\n TextTracksList as NativeTextTrackList,\n} from 'theoplayer';\nimport type { MediaTrack, TextTrack, TextTrackCue, DateRangeCue } from 'react-native-theoplayer';\nimport { decodeNanInf } from '../../utils/TypeUtils';\n\nexport function isDateRangeCue(cue: TextTrackCue): cue is DateRangeCue {\n return (cue as NativeDateRangeCue).customAttributes != undefined;\n}\n\nexport function fromNativeCue(cue: NativeTextTrackCue): TextTrackCue {\n return {\n id: cue.id,\n uid: cue.uid,\n startTime: decodeNanInf(1e3 * cue.startTime),\n endTime: decodeNanInf(1e3 * cue.endTime),\n content: cue.content,\n ...(isDateRangeCue(cue) && {\n class: cue.class,\n startDate: cue.startDate,\n endDate: cue.endDate,\n duration: cue.duration ? decodeNanInf(1e3 * cue.duration) : cue.duration,\n plannedDuration: cue.plannedDuration ? decodeNanInf(1e3 * cue.plannedDuration) : cue.plannedDuration,\n endOnNext: cue.endOnNext,\n scte35Cmd: cue.scte35Cmd,\n scte35Out: cue.scte35Out,\n scte35In: cue.scte35In,\n customAttributes: cue.customAttributes,\n }),\n } as TextTrackCue;\n}\n\nexport function fromNativeTextTrackList(tracks: NativeTextTrackList): TextTrack[] {\n return tracks.map((track) => fromNativeTextTrack(track));\n}\n\nexport function fromNativeTextTrack(track: NativeTextTrack): TextTrack {\n const { id, uid, kind, label, language, mode, type, src, forced } = track;\n\n return {\n id,\n uid,\n kind,\n label,\n language,\n mode,\n type,\n src,\n forced,\n cues: track.cues ? track.cues.map((cue) => fromNativeCue(cue)) : [],\n } as TextTrack;\n}\n\nexport function fromNativeMediaTrackList(tracks: NativeMediaTrackList): MediaTrack[] {\n return tracks.map((track) => fromNativeMediaTrack(track));\n}\n\nexport function fromNativeMediaTrack(track: NativeMediaTrack): MediaTrack {\n const { id, uid, kind, label, language, activeQuality, qualities } = track;\n return {\n kind,\n label,\n language,\n id,\n uid,\n activeQuality,\n qualities,\n } as MediaTrack;\n}\n\nexport function findNativeQualityByUid(mediaTrack: NativeMediaTrack, uid: number | undefined): NativeQuality | undefined {\n return mediaTrack.qualities.find((quality) => quality.uid === uid);\n}\n\nexport function findNativeQualitiesByUid(mediaTrack: NativeMediaTrack | undefined, uid: number | number[] | undefined): NativeQuality[] | undefined {\n if (uid !== undefined && mediaTrack) {\n if (Array.isArray(uid)) {\n return mediaTrack.qualities.filter((quality) => uid.includes(quality.uid));\n } else {\n const quality = findNativeQualityByUid(mediaTrack, uid);\n return quality ? [quality] : undefined;\n }\n }\n return undefined;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["PlayerConfiguration.ts"],"sourcesContent":["import type { AdsConfiguration } from '../ads/AdsConfiguration';\nimport type { CastConfiguration } from '../cast/CastConfiguration';\nimport type { MediaControlConfiguration } from '../media/MediaControlConfiguration';\nimport type { RetryConfiguration } from '../utils/RetryConfiguration';\n\nexport interface PlayerConfiguration {\n /**\n * The directory in which the THEOplayer library worker files are located.\n * These worker files are THEOplayer.transmux.*\n *\n * @remarks\n * <br/> - This parameter is required when using a HLS source and has no default.\n *\n * @example\n * `'/lib/theoplayer/'`\n */\n libraryLocation?: string;\n\n /**\n * The muted autoplay policy for web.\n *\n * @remarks\n * <br/> - The muted autoplay policy is impacted by this property and {@link SourceConfiguration.mutedAutoplay}.\n *\n * @defaultValue `'none'`.\n */\n mutedAutoplay?: MutedAutoplayConfiguration;\n\n /**\n * The ads configuration for the player.\n */\n ads?: AdsConfiguration;\n\n /**\n * The cast configuration for the player.\n */\n cast?: CastConfiguration;\n\n /**\n * The configuration of media controls and media sessions across platforms.\n */\n mediaControl?: MediaControlConfiguration;\n\n /**\n * The license for the player\n */\n readonly license?: string;\n\n /**\n * The url to fetch the license for the player\n */\n readonly licenseUrl?: string;\n\n /**\n * Sets whether the native player is chromeless (without UI).\n *\n * @remarks\n * <br/> - This parameter only applies to Web platforms.\n */\n readonly chromeless?: boolean;\n\n /**\n * The retry configuration for the player.\n *\n * @remarks\n * <br/> - This parameter only applies to Web and Android platforms.\n */\n readonly retryConfiguration?: RetryConfiguration;\n}\n\n/**\n * The muted autoplay policy of a player for web.\n * <br/> - `'none'`: Disallow muted autoplay. If the player is requested to autoplay while unmuted, and the platform does not support unmuted autoplay, the player will not start playback.\n * <br/> - `'all'`: Allow muted autoplay. If the player is requested to autoplay while unmuted, and the platform supports muted autoplay, the player will start muted playback.\n * <br/> - `'content'`: Allow muted autoplay only for the main content. Disallow muted autoplay for e.g. advertisements. (Not yet supported.)\n *\n * @public\n */\nexport type MutedAutoplayConfiguration = 'none' | 'all' | 'content';\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["PlayerConfiguration.ts"],"sourcesContent":["import type { AdsConfiguration } from '../ads/AdsConfiguration';\nimport type { CastConfiguration } from '../cast/CastConfiguration';\nimport type { MediaControlConfiguration } from '../media/MediaControlConfiguration';\nimport type { RetryConfiguration } from '../utils/RetryConfiguration';\n\nexport interface PlayerConfiguration {\n /**\n * The directory in which the THEOplayer library worker files are located.\n * These worker files are THEOplayer.transmux.*\n *\n * @remarks\n * <br/> - This parameter is required when using a HLS source and has no default.\n *\n * @example\n * `'/lib/theoplayer/'`\n */\n libraryLocation?: string;\n\n /**\n * The muted autoplay policy for web.\n *\n * @remarks\n * <br/> - The muted autoplay policy is impacted by this property and {@link SourceConfiguration.mutedAutoplay}.\n *\n * @defaultValue `'none'`.\n */\n mutedAutoplay?: MutedAutoplayConfiguration;\n\n /**\n * The ads configuration for the player.\n */\n ads?: AdsConfiguration;\n\n /**\n * The cast configuration for the player.\n */\n cast?: CastConfiguration;\n\n /**\n * The configuration of media controls and media sessions across platforms.\n */\n mediaControl?: MediaControlConfiguration;\n\n /**\n * The license for the player\n */\n readonly license?: string;\n\n /**\n * The url to fetch the license for the player\n */\n readonly licenseUrl?: string;\n\n /**\n * Sets whether the native player is chromeless (without UI).\n *\n * @remarks\n * <br/> - This parameter only applies to Web platforms.\n */\n readonly chromeless?: boolean;\n\n /**\n * Sets whether DateRange tags from the playlists should be imported as a textTrack.\n */\n readonly hlsDateRange?: boolean;\n\n /**\n * The retry configuration for the player.\n *\n * @remarks\n * <br/> - This parameter only applies to Web and Android platforms.\n */\n readonly retryConfiguration?: RetryConfiguration;\n}\n\n/**\n * The muted autoplay policy of a player for web.\n * <br/> - `'none'`: Disallow muted autoplay. If the player is requested to autoplay while unmuted, and the platform does not support unmuted autoplay, the player will not start playback.\n * <br/> - `'all'`: Allow muted autoplay. If the player is requested to autoplay while unmuted, and the platform supports muted autoplay, the player will start muted playback.\n * <br/> - `'content'`: Allow muted autoplay only for the main content. Disallow muted autoplay for e.g. advertisements. (Not yet supported.)\n *\n * @public\n */\nexport type MutedAutoplayConfiguration = 'none' | 'all' | 'content';\n"],"mappings":""}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Represents a cue of a HLS date range metadata text track.
3
+ *
4
+ * @public
5
+ */
6
+
7
+ /**
8
+ * Check whether a text track cue is of type DateRangeCue.
9
+ */
10
+ export function isDateRangeCue(cue) {
11
+ return cue.customAttributes != undefined;
12
+ }
13
+ //# sourceMappingURL=DateRangeCue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isDateRangeCue","cue","customAttributes","undefined"],"sources":["DateRangeCue.ts"],"sourcesContent":["import type { TextTrackCue } from './TextTrackCue';\n\n/**\n * Represents a cue of a HLS date range metadata text track.\n *\n * @public\n */\nexport interface DateRangeCue extends TextTrackCue {\n /**\n * The class of the date range cue.\n *\n * @remarks\n * <br/> - The class is a client-defined string specifying a set of attributes with associated value semantics.\n */\n class: string | undefined;\n\n /**\n * The playback position at which the date range cue becomes active, as a Date.\n */\n startDate: Date;\n\n /**\n * The playback position at which the date range cue becomes inactive, as a Date.\n */\n endDate: Date | undefined;\n\n /**\n * The duration of the date range cue, in milliseconds.\n */\n duration: number | undefined;\n\n /**\n * The planned duration of the date range cue, in milliseconds.\n *\n * @remarks\n * <br/> - This is used when the exact duration is not known yet.\n */\n plannedDuration: number | undefined;\n\n /**\n * Whether end-on-next is enabled for the date range cue.\n *\n * @remarks\n * <br/> - End-on-next results in the {@link DateRangeCue.endDate} of the date range cue becoming equal to the {@link DateRangeCue.startDate} of the next date range cue with the same {@link DateRangeCue.\"class\"}, once it is known.\n */\n endOnNext: boolean;\n\n /**\n * The SCTE 'cmd' splice_info_section of the date range cue.\n */\n scte35Cmd: ArrayBuffer | undefined;\n\n /**\n * The SCTE 'out' splice_info_section of the date range cue.\n */\n scte35Out: ArrayBuffer | undefined;\n\n /**\n * The SCTE 'in' splice_info_section of the date range cue.\n */\n scte35In: ArrayBuffer | undefined;\n\n /**\n * Custom attributes extracted from the cue source.\n */\n customAttributes: Record<string, string | number | ArrayBuffer>;\n}\n\n/**\n * Check whether a text track cue is of type DateRangeCue.\n */\nexport function isDateRangeCue(cue: TextTrackCue): cue is DateRangeCue {\n return (cue as DateRangeCue).customAttributes != undefined;\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;;AA8DA;AACA;AACA;AACA,OAAO,SAASA,cAAcA,CAACC,GAAiB,EAAuB;EACrE,OAAQA,GAAG,CAAkBC,gBAAgB,IAAIC,SAAS;AAC5D"}
@@ -4,6 +4,8 @@ export let TextTrackType = /*#__PURE__*/function (TextTrackType) {
4
4
  TextTrackType["srt"] = "srt";
5
5
  TextTrackType["ttml"] = "ttml";
6
6
  TextTrackType["webvtt"] = "webvtt";
7
+ TextTrackType["daterange"] = "daterange";
8
+ TextTrackType["eventstream"] = "eventstream";
7
9
  return TextTrackType;
8
10
  }({});
9
11
  export let TextTrackKind = /*#__PURE__*/function (TextTrackKind) {
@@ -1 +1 @@
1
- {"version":3,"names":["TextTrackType","TextTrackKind","TextTrackMode","filterRenderableTracks","textTracks","filter","textTrack","kind","filterThumbnailTracks","find","isThumbnailTrack","label","hasTextTrackCue","cue","cues","c","uid","removeTextTrackCue","addTextTrackCue","push","findTextTrackByUid","t"],"sources":["TextTrack.ts"],"sourcesContent":["import type { Track } from './Track';\nimport type { TextTrackCue } from './TextTrackCue';\n\nexport enum TextTrackType {\n cea608 = 'cea608',\n id3 = 'id3',\n srt = 'srt',\n ttml = 'ttml',\n webvtt = 'webvtt',\n}\n\nexport enum TextTrackKind {\n captions = 'captions',\n chapters = 'chapters',\n descriptions = 'descriptions',\n metadata = 'metadata',\n subtitles = 'subtitles',\n thumbnails = 'thumbnails',\n}\n\nexport enum TextTrackMode {\n disabled = 'disabled',\n showing = 'showing',\n hidden = 'hidden',\n}\n\nexport interface TextTrack extends Track {\n /**\n * The kind of the text track, represented by a value from the following list:\n * <br/> - `'subtitles'`: The track contains subtitles.\n * <br/> - `'captions'`: The track contains closed captions, a translation of dialogue and sound effects.\n * <br/> - `'descriptions'`: The track contains descriptions, a textual description of the video.\n * <br/> - `'chapters'`: The track contains chapter titles.\n * <br/> - `'metadata'`: The track contains metadata. This track will not serve display purposes.\n */\n readonly kind: TextTrackKind;\n\n /**\n * The label of the text track.\n */\n readonly label: string;\n\n /**\n * The language of the text track.\n */\n readonly language: string;\n\n /**\n * The identifier of the text track.\n *\n * @remarks\n * <br/> - This identifier can be used to distinguish between related tracks, e.g. tracks in the same list.\n */\n readonly id: string;\n\n /**\n * A unique identifier of the text track.\n *\n * @remarks\n * <br/> - This identifier is unique across tracks of a THEOplayer instance and can be used to distinguish between tracks.\n */\n readonly uid: number;\n\n /**\n * The mode of the text track, represented by a value from the following list:\n * <br/> - `'disabled'`: The track is disabled.\n * <br/> - `'showing'`: The track is showing.\n */\n mode: TextTrackMode;\n\n /**\n * The content type of the text track.\n */\n readonly type: TextTrackType;\n\n /**\n * The list of cues of the track.\n *\n * @remarks\n * <br/> - If the {@link TextTrack.mode} is `'disabled'`, this property is `null`.\n */\n cues: TextTrackCue[] | null;\n\n /**\n * The source of the text track.\n */\n readonly src: string;\n\n /**\n * Indicates whether the track contains Forced Narrative cues.\n * This may only be true for subtitle tracks where\n * <br/> - For DASH: the corresponding AdaptationSet contains a child Role with its value attribute equal to `'forced_subtitle'`\n * <br/> - For HLS: the corresponding #EXT-X-MEDIA tag contains the attributes TYPE=SUBTITLES and FORCED=YES (not supported yet)\n */\n readonly forced: boolean;\n}\n\n/**\n * Retain renderable tracks.\n * https://html.spec.whatwg.org/multipage/embedded-content.html#text-track-showing\n */\nexport function filterRenderableTracks(textTracks: TextTrack[] | undefined): TextTrack[] | undefined {\n return textTracks && textTracks.filter((textTrack) => textTrack.kind === 'subtitles' || textTrack.kind === 'captions');\n}\n\n/**\n * Retain first thumbnail track encountered in the textTracks list.\n */\nexport function filterThumbnailTracks(textTracks: TextTrack[] | undefined): TextTrack | undefined {\n return textTracks && textTracks.find(isThumbnailTrack);\n}\n\n/**\n * Query whether a track is a valid thumbnail track.\n */\nexport function isThumbnailTrack(textTrack: TextTrack | undefined): boolean {\n return !!textTrack && (textTrack.kind === 'thumbnails' || (textTrack.kind === 'metadata' && textTrack.label === 'thumbnails'));\n}\n\nexport function hasTextTrackCue(textTrack: TextTrack, cue: TextTrackCue): boolean {\n return !!(textTrack.cues && cue && textTrack.cues.find((c) => cue.uid === c.uid));\n}\n\nexport function removeTextTrackCue(textTrack?: TextTrack, cue?: TextTrackCue) {\n if (textTrack && textTrack.cues && cue && hasTextTrackCue(textTrack, cue)) {\n textTrack.cues = textTrack.cues.filter((c) => c.uid !== cue.uid);\n }\n}\n\nexport function addTextTrackCue(textTrack?: TextTrack, cue?: TextTrackCue) {\n if (textTrack && textTrack.cues && cue && !hasTextTrackCue(textTrack, cue)) {\n textTrack.cues.push(cue);\n }\n}\n\nexport function findTextTrackByUid(textTracks: TextTrack[], uid: number): TextTrack | undefined {\n return textTracks.find((t) => t.uid === uid);\n}\n"],"mappings":"AAGA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAQzB,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AASzB,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AA6EzB;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,UAAmC,EAA2B;EACnG,OAAOA,UAAU,IAAIA,UAAU,CAACC,MAAM,CAAEC,SAAS,IAAKA,SAAS,CAACC,IAAI,KAAK,WAAW,IAAID,SAAS,CAACC,IAAI,KAAK,UAAU,CAAC;AACxH;;AAEA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACJ,UAAmC,EAAyB;EAChG,OAAOA,UAAU,IAAIA,UAAU,CAACK,IAAI,CAACC,gBAAgB,CAAC;AACxD;;AAEA;AACA;AACA;AACA,OAAO,SAASA,gBAAgBA,CAACJ,SAAgC,EAAW;EAC1E,OAAO,CAAC,CAACA,SAAS,KAAKA,SAAS,CAACC,IAAI,KAAK,YAAY,IAAKD,SAAS,CAACC,IAAI,KAAK,UAAU,IAAID,SAAS,CAACK,KAAK,KAAK,YAAa,CAAC;AAChI;AAEA,OAAO,SAASC,eAAeA,CAACN,SAAoB,EAAEO,GAAiB,EAAW;EAChF,OAAO,CAAC,EAAEP,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAIP,SAAS,CAACQ,IAAI,CAACL,IAAI,CAAEM,CAAC,IAAKF,GAAG,CAACG,GAAG,KAAKD,CAAC,CAACC,GAAG,CAAC,CAAC;AACnF;AAEA,OAAO,SAASC,kBAAkBA,CAACX,SAAqB,EAAEO,GAAkB,EAAE;EAC5E,IAAIP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAID,eAAe,CAACN,SAAS,EAAEO,GAAG,CAAC,EAAE;IACzEP,SAAS,CAACQ,IAAI,GAAGR,SAAS,CAACQ,IAAI,CAACT,MAAM,CAAEU,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKH,GAAG,CAACG,GAAG,CAAC;EAClE;AACF;AAEA,OAAO,SAASE,eAAeA,CAACZ,SAAqB,EAAEO,GAAkB,EAAE;EACzE,IAAIP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAI,CAACD,eAAe,CAACN,SAAS,EAAEO,GAAG,CAAC,EAAE;IAC1EP,SAAS,CAACQ,IAAI,CAACK,IAAI,CAACN,GAAG,CAAC;EAC1B;AACF;AAEA,OAAO,SAASO,kBAAkBA,CAAChB,UAAuB,EAAEY,GAAW,EAAyB;EAC9F,OAAOZ,UAAU,CAACK,IAAI,CAAEY,CAAC,IAAKA,CAAC,CAACL,GAAG,KAAKA,GAAG,CAAC;AAC9C"}
1
+ {"version":3,"names":["TextTrackType","TextTrackKind","TextTrackMode","filterRenderableTracks","textTracks","filter","textTrack","kind","filterThumbnailTracks","find","isThumbnailTrack","label","hasTextTrackCue","cue","cues","c","uid","removeTextTrackCue","addTextTrackCue","push","findTextTrackByUid","t"],"sources":["TextTrack.ts"],"sourcesContent":["import type { Track } from './Track';\nimport type { TextTrackCue } from './TextTrackCue';\n\nexport enum TextTrackType {\n cea608 = 'cea608',\n id3 = 'id3',\n srt = 'srt',\n ttml = 'ttml',\n webvtt = 'webvtt',\n daterange = 'daterange',\n eventstream = 'eventstream',\n}\n\nexport enum TextTrackKind {\n captions = 'captions',\n chapters = 'chapters',\n descriptions = 'descriptions',\n metadata = 'metadata',\n subtitles = 'subtitles',\n thumbnails = 'thumbnails',\n}\n\nexport enum TextTrackMode {\n disabled = 'disabled',\n showing = 'showing',\n hidden = 'hidden',\n}\n\nexport interface TextTrack extends Track {\n /**\n * The kind of the text track, represented by a value from the following list:\n * <br/> - `'subtitles'`: The track contains subtitles.\n * <br/> - `'captions'`: The track contains closed captions, a translation of dialogue and sound effects.\n * <br/> - `'descriptions'`: The track contains descriptions, a textual description of the video.\n * <br/> - `'chapters'`: The track contains chapter titles.\n * <br/> - `'metadata'`: The track contains metadata. This track will not serve display purposes.\n */\n readonly kind: TextTrackKind;\n\n /**\n * The label of the text track.\n */\n readonly label: string;\n\n /**\n * The language of the text track.\n */\n readonly language: string;\n\n /**\n * The identifier of the text track.\n *\n * @remarks\n * <br/> - This identifier can be used to distinguish between related tracks, e.g. tracks in the same list.\n */\n readonly id: string;\n\n /**\n * A unique identifier of the text track.\n *\n * @remarks\n * <br/> - This identifier is unique across tracks of a THEOplayer instance and can be used to distinguish between tracks.\n */\n readonly uid: number;\n\n /**\n * The mode of the text track, represented by a value from the following list:\n * <br/> - `'disabled'`: The track is disabled.\n * <br/> - `'showing'`: The track is showing.\n * <br/> - `'hidden'`: The track is enabled and loading cues, but not shown. (used for metadata tracks)\n */\n mode: TextTrackMode;\n\n /**\n * The content type of the text track.\n */\n readonly type: TextTrackType;\n\n /**\n * The list of cues of the track.\n *\n * @remarks\n * <br/> - If the {@link TextTrack.mode} is `'disabled'`, this property is `null`.\n */\n cues: TextTrackCue[] | null;\n\n /**\n * The source of the text track.\n */\n readonly src: string;\n\n /**\n * Indicates whether the track contains Forced Narrative cues.\n * This may only be true for subtitle tracks where\n * <br/> - For DASH: the corresponding AdaptationSet contains a child Role with its value attribute equal to `'forced_subtitle'`\n * <br/> - For HLS: the corresponding #EXT-X-MEDIA tag contains the attributes TYPE=SUBTITLES and FORCED=YES (not supported yet)\n */\n readonly forced: boolean;\n}\n\n/**\n * Retain renderable tracks.\n * https://html.spec.whatwg.org/multipage/embedded-content.html#text-track-showing\n */\nexport function filterRenderableTracks(textTracks: TextTrack[] | undefined): TextTrack[] | undefined {\n return textTracks && textTracks.filter((textTrack) => textTrack.kind === 'subtitles' || textTrack.kind === 'captions');\n}\n\n/**\n * Retain first thumbnail track encountered in the textTracks list.\n */\nexport function filterThumbnailTracks(textTracks: TextTrack[] | undefined): TextTrack | undefined {\n return textTracks && textTracks.find(isThumbnailTrack);\n}\n\n/**\n * Query whether a track is a valid thumbnail track.\n */\nexport function isThumbnailTrack(textTrack: TextTrack | undefined): boolean {\n return !!textTrack && (textTrack.kind === 'thumbnails' || (textTrack.kind === 'metadata' && textTrack.label === 'thumbnails'));\n}\n\nexport function hasTextTrackCue(textTrack: TextTrack, cue: TextTrackCue): boolean {\n return !!(textTrack.cues && cue && textTrack.cues.find((c) => cue.uid === c.uid));\n}\n\nexport function removeTextTrackCue(textTrack?: TextTrack, cue?: TextTrackCue) {\n if (textTrack && textTrack.cues && cue && hasTextTrackCue(textTrack, cue)) {\n textTrack.cues = textTrack.cues.filter((c) => c.uid !== cue.uid);\n }\n}\n\nexport function addTextTrackCue(textTrack?: TextTrack, cue?: TextTrackCue) {\n if (textTrack && textTrack.cues && cue && !hasTextTrackCue(textTrack, cue)) {\n textTrack.cues.push(cue);\n }\n}\n\nexport function findTextTrackByUid(textTracks: TextTrack[], uid: number): TextTrack | undefined {\n return textTracks.find((t) => t.uid === uid);\n}\n"],"mappings":"AAGA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAUzB,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AASzB,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AA8EzB;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,UAAmC,EAA2B;EACnG,OAAOA,UAAU,IAAIA,UAAU,CAACC,MAAM,CAAEC,SAAS,IAAKA,SAAS,CAACC,IAAI,KAAK,WAAW,IAAID,SAAS,CAACC,IAAI,KAAK,UAAU,CAAC;AACxH;;AAEA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACJ,UAAmC,EAAyB;EAChG,OAAOA,UAAU,IAAIA,UAAU,CAACK,IAAI,CAACC,gBAAgB,CAAC;AACxD;;AAEA;AACA;AACA;AACA,OAAO,SAASA,gBAAgBA,CAACJ,SAAgC,EAAW;EAC1E,OAAO,CAAC,CAACA,SAAS,KAAKA,SAAS,CAACC,IAAI,KAAK,YAAY,IAAKD,SAAS,CAACC,IAAI,KAAK,UAAU,IAAID,SAAS,CAACK,KAAK,KAAK,YAAa,CAAC;AAChI;AAEA,OAAO,SAASC,eAAeA,CAACN,SAAoB,EAAEO,GAAiB,EAAW;EAChF,OAAO,CAAC,EAAEP,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAIP,SAAS,CAACQ,IAAI,CAACL,IAAI,CAAEM,CAAC,IAAKF,GAAG,CAACG,GAAG,KAAKD,CAAC,CAACC,GAAG,CAAC,CAAC;AACnF;AAEA,OAAO,SAASC,kBAAkBA,CAACX,SAAqB,EAAEO,GAAkB,EAAE;EAC5E,IAAIP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAID,eAAe,CAACN,SAAS,EAAEO,GAAG,CAAC,EAAE;IACzEP,SAAS,CAACQ,IAAI,GAAGR,SAAS,CAACQ,IAAI,CAACT,MAAM,CAAEU,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKH,GAAG,CAACG,GAAG,CAAC;EAClE;AACF;AAEA,OAAO,SAASE,eAAeA,CAACZ,SAAqB,EAAEO,GAAkB,EAAE;EACzE,IAAIP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAI,CAACD,eAAe,CAACN,SAAS,EAAEO,GAAG,CAAC,EAAE;IAC1EP,SAAS,CAACQ,IAAI,CAACK,IAAI,CAACN,GAAG,CAAC;EAC1B;AACF;AAEA,OAAO,SAASO,kBAAkBA,CAAChB,UAAuB,EAAEY,GAAW,EAAyB;EAC9F,OAAOZ,UAAU,CAACK,IAAI,CAAEY,CAAC,IAAKA,CAAC,CAACL,GAAG,KAAKA,GAAG,CAAC;AAC9C"}
@@ -4,4 +4,5 @@ export * from './TextTrack';
4
4
  export * from './TextTrackCue';
5
5
  export * from './Track';
6
6
  export * from './TextTrackStyle';
7
+ export * from './DateRangeCue';
7
8
  //# sourceMappingURL=barrel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["barrel.ts"],"sourcesContent":["export * from './MediaTrack';\nexport * from './Quality';\nexport * from './TextTrack';\nexport * from './TextTrackCue';\nexport * from './Track';\nexport * from './TextTrackStyle';\n"],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,kBAAkB"}
1
+ {"version":3,"names":[],"sources":["barrel.ts"],"sourcesContent":["export * from './MediaTrack';\nexport * from './Quality';\nexport * from './TextTrack';\nexport * from './TextTrackCue';\nexport * from './Track';\nexport * from './TextTrackStyle';\nexport * from './DateRangeCue';\n"],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,kBAAkB;AAChC,cAAc,gBAAgB"}
@@ -3,6 +3,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
3
3
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
4
  import React, { PureComponent } from 'react';
5
5
  import { findNodeHandle, Platform, requireNativeComponent, StyleSheet, UIManager, View } from 'react-native';
6
+ import { isDateRangeCue } from 'react-native-theoplayer';
6
7
  import { CastEventType, PlayerEventType } from 'react-native-theoplayer';
7
8
  import styles from './THEOplayerView.style';
8
9
  import { decodeNanInf } from './utils/TypeUtils';
@@ -103,8 +104,7 @@ export class THEOplayerView extends PureComponent {
103
104
  const nativeEvent = event.nativeEvent;
104
105
  const cue = nativeEvent.cue;
105
106
  if (cue) {
106
- cue.startTime = decodeNanInf(cue.startTime);
107
- cue.endTime = decodeNanInf(cue.endTime);
107
+ this.normalizeCue(cue);
108
108
  }
109
109
  this._facade.dispatchEvent(new DefaultTextTrackEvent(toTextTrackEventType(nativeEvent.type), nativeEvent.trackUid, cue));
110
110
  });
@@ -163,6 +163,22 @@ export class THEOplayerView extends PureComponent {
163
163
  reset() {
164
164
  this.setState(THEOplayerView.initialState);
165
165
  }
166
+ normalizeCue(cue) {
167
+ cue.startTime = decodeNanInf(cue.startTime);
168
+ cue.endTime = decodeNanInf(cue.endTime);
169
+ if (isDateRangeCue(cue)) {
170
+ cue.startDate = new Date(cue.startDate);
171
+ if (cue.endDate) {
172
+ cue.endDate = new Date(cue.endDate);
173
+ }
174
+ if (cue.duration) {
175
+ cue.duration = decodeNanInf(cue.duration);
176
+ }
177
+ if (cue.plannedDuration) {
178
+ cue.plannedDuration = decodeNanInf(cue.plannedDuration);
179
+ }
180
+ }
181
+ }
166
182
  render() {
167
183
  const {
168
184
  config,
@@ -1 +1 @@
1
- {"version":3,"names":["React","PureComponent","findNodeHandle","Platform","requireNativeComponent","StyleSheet","UIManager","View","CastEventType","PlayerEventType","styles","decodeNanInf","BaseEvent","DefaultAdEvent","DefaultAirplayStateChangeEvent","DefaultChromecastChangeEvent","DefaultChromecastErrorEvent","DefaultDurationChangeEvent","DefaultErrorEvent","DefaultLoadedMetadataEvent","DefaultMediaTrackEvent","DefaultMediaTrackListEvent","DefaultPresentationModeChangeEvent","DefaultProgressEvent","DefaultRateChangeEvent","DefaultReadyStateChangeEvent","DefaultSegmentNotFoundEvent","DefaultTextTrackEvent","DefaultTextTrackListEvent","DefaultVolumeChangeEvent","DefaultTimeupdateEvent","toMediaTrackType","toMediaTrackTypeEventType","toTextTrackEventType","toTrackListEventType","THEOplayerAdapter","INVALID_HANDLE","THEOplayerView","constructor","props","_defineProperty","event","_this$props$onPlayerR","_this$props","version","state","nativeEvent","_facade","initializeFromNativePlayer_","onPlayerReady","call","reset","dispatchEvent","SOURCE_CHANGE","LOAD_START","LOADED_DATA","textTracks","audioTracks","videoTracks","duration","selectedTextTrack","selectedVideoTrack","selectedAudioTrack","volume","muted","error","setState","seekable","buffered","CANPLAY","PLAY","PLAYING","PAUSE","SEEKING","SEEKED","WAITING","ENDED","readyState","currentTime","currentProgramDateTime","playbackRate","segmentStartTime","retryCount","type","track","cue","startTime","endTime","trackUid","trackType","qualities","ad","CHROMECAST_STATE_CHANGE","AIRPLAY_STATE_CHANGE","CHROMECAST_ERROR","presentationMode","previousPresentationMode","context","_root","createRef","initialState","componentWillUnmount","onPlayerDestroy","DESTROY","OS","command","Commands","destroy","dispatchViewManagerCommand","current","clearEventListeners","nativeHandle","render","config","style","children","createElement","base","THEOplayerRCTView","ref","absoluteFill","onNativePlayerReady","_onNativePlayerReady","onNativeSourceChange","_onSourceChange","onNativeLoadStart","_onLoadStart","onNativeLoadedData","_onLoadedData","onNativeLoadedMetadata","_onLoadedMetadata","onNativeVolumeChange","_onVolumeChange","onNativeError","_onError","onNativeProgress","_onProgress","onNativeCanPlay","_onCanPlay","onNativePlay","_onPlay","onNativePlaying","_onPlaying","onNativePause","_onPause","onNativeSeeking","_onSeeking","onNativeSeeked","_onSeeked","onNativeWaiting","_onWaiting","onNativeEnded","_onEnded","onNativeReadyStateChange","_onReadStateChange","onNativeTimeUpdate","_onTimeUpdate","onNativeDurationChange","_onDurationChange","onNativeRateChange","_onRateChange","onNativeSegmentNotFound","_onSegmentNotFound","onNativeTextTrackListEvent","_onTextTrackListEvent","onNativeTextTrackEvent","_onTextTrackEvent","onNativeMediaTrackListEvent","_onMediaTrackListEvent","onNativeMediaTrackEvent","_onMediaTrackEvent","onNativeAdEvent","_onAdEvent","onNativeCastEvent","_onCastEvent","onNativePresentationModeChange","_onPresentationModeChange","undefined","LINKING_ERROR","select","ios","default","ComponentName","getViewManagerConfig","Error"],"sources":["THEOplayerView.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport {\n findNodeHandle,\n HostComponent,\n NativeSyntheticEvent,\n Platform,\n requireNativeComponent,\n StyleProp,\n StyleSheet,\n UIManager,\n View,\n ViewStyle,\n} from 'react-native';\nimport type { PlayerConfiguration, PlayerError, THEOplayerViewProps } from 'react-native-theoplayer';\nimport { CastEventType, PlayerEventType } from 'react-native-theoplayer';\n\nimport styles from './THEOplayerView.style';\nimport { decodeNanInf } from './utils/TypeUtils';\nimport { BaseEvent } from './adapter/event/BaseEvent';\nimport {\n DefaultAdEvent,\n DefaultAirplayStateChangeEvent,\n DefaultChromecastChangeEvent,\n DefaultChromecastErrorEvent,\n DefaultDurationChangeEvent,\n DefaultErrorEvent,\n DefaultLoadedMetadataEvent,\n DefaultMediaTrackEvent,\n DefaultMediaTrackListEvent,\n DefaultPresentationModeChangeEvent,\n DefaultProgressEvent,\n DefaultRateChangeEvent,\n DefaultReadyStateChangeEvent,\n DefaultSegmentNotFoundEvent,\n DefaultTextTrackEvent,\n DefaultTextTrackListEvent,\n DefaultVolumeChangeEvent,\n DefaultTimeupdateEvent,\n} from './adapter/event/PlayerEvents';\nimport type { NativeCastEvent } from './adapter/event/native/NativeCastEvent';\nimport type {\n NativeMediaTrackEvent,\n NativeMediaTrackListEvent,\n NativeTextTrackEvent,\n NativeTextTrackListEvent,\n} from './adapter/event/native/NativeTrackEvent';\nimport { toMediaTrackType, toMediaTrackTypeEventType, toTextTrackEventType, toTrackListEventType } from './adapter/event/native/NativeTrackEvent';\nimport type {\n NativeDurationChangeEvent,\n NativeErrorEvent,\n NativeLoadedMetadataEvent,\n NativePlayerStateEvent,\n NativePresentationModeChangeEvent,\n NativeProgressEvent,\n NativeRateChangeEvent,\n NativeReadyStateChangeEvent,\n NativeSegmentNotFoundEvent,\n NativeTimeUpdateEvent,\n NativeVolumeChangeEvent,\n} from './adapter/event/native/NativePlayerEvent';\nimport type { NativeAdEvent } from './adapter/event/native/NativeAdEvent';\nimport { THEOplayerAdapter } from './adapter/THEOplayerAdapter';\n\nconst INVALID_HANDLE = -1;\n\ninterface THEOplayerRCTViewProps {\n ref: React.RefObject<THEOplayerViewNativeComponent>;\n style?: StyleProp<ViewStyle>;\n config?: PlayerConfiguration;\n onNativePlayerReady: (event: NativeSyntheticEvent<NativePlayerStateEvent>) => void;\n onNativeSourceChange: () => void;\n onNativeLoadStart: () => void;\n onNativeLoadedData: () => void;\n onNativeLoadedMetadata: (event: NativeSyntheticEvent<NativeLoadedMetadataEvent>) => void;\n onNativeReadyStateChange?: (event: NativeSyntheticEvent<NativeReadyStateChangeEvent>) => void;\n onNativeError: (event: NativeSyntheticEvent<NativeErrorEvent>) => void;\n onNativeProgress: (event: NativeSyntheticEvent<NativeProgressEvent>) => void;\n onNativeVolumeChange: (event: NativeSyntheticEvent<NativeVolumeChangeEvent>) => void;\n onNativeCanPlay: () => void;\n onNativePlay: () => void;\n onNativePlaying: () => void;\n onNativePause: () => void;\n onNativeSeeking: () => void;\n onNativeSeeked: () => void;\n onNativeEnded: () => void;\n onNativeWaiting: () => void;\n onNativeTimeUpdate: (event: NativeSyntheticEvent<NativeTimeUpdateEvent>) => void;\n onNativeDurationChange: (event: NativeSyntheticEvent<NativeDurationChangeEvent>) => void;\n onNativeRateChange: (event: NativeSyntheticEvent<NativeRateChangeEvent>) => void;\n onNativeSegmentNotFound: (event: NativeSyntheticEvent<NativeSegmentNotFoundEvent>) => void;\n onNativeTextTrackListEvent: (event: NativeSyntheticEvent<NativeTextTrackListEvent>) => void;\n onNativeTextTrackEvent: (event: NativeSyntheticEvent<NativeTextTrackEvent>) => void;\n onNativeMediaTrackListEvent: (event: NativeSyntheticEvent<NativeMediaTrackListEvent>) => void;\n onNativeMediaTrackEvent: (event: NativeSyntheticEvent<NativeMediaTrackEvent>) => void;\n onNativeAdEvent: (event: NativeSyntheticEvent<NativeAdEvent>) => void;\n onNativeCastEvent: (event: NativeSyntheticEvent<NativeCastEvent>) => void;\n onNativePresentationModeChange: (event: NativeSyntheticEvent<NativePresentationModeChangeEvent>) => void;\n}\n\ninterface THEOplayerRCTViewState {\n error?: PlayerError;\n}\n\ntype THEOplayerViewNativeComponent = HostComponent<THEOplayerRCTViewProps>;\n\nexport class THEOplayerView extends PureComponent<React.PropsWithChildren<THEOplayerViewProps>, THEOplayerRCTViewState> {\n private readonly _root: React.RefObject<THEOplayerViewNativeComponent>;\n private readonly _facade: THEOplayerAdapter;\n\n private static initialState: THEOplayerRCTViewState = {\n error: undefined,\n };\n\n constructor(props: THEOplayerViewProps) {\n super(props);\n this._root = React.createRef();\n this.state = THEOplayerView.initialState;\n this._facade = new THEOplayerAdapter(this);\n }\n\n componentWillUnmount() {\n // Notify the player will be destroyed.\n const { onPlayerDestroy } = this.props;\n if (onPlayerDestroy) {\n onPlayerDestroy(this._facade);\n }\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.DESTROY));\n\n if (Platform.OS === 'ios') {\n // TODO: move to native module\n // on iOS, we trigger an explicit 'destroy' to clean up the underlying THEOplayer\n const command = (UIManager as { [index: string]: any })['THEOplayerRCTView'].Commands.destroy;\n UIManager.dispatchViewManagerCommand(findNodeHandle(this._root.current), command, []);\n }\n this._facade.clearEventListeners();\n }\n\n public get nativeHandle(): number {\n return findNodeHandle(this._root.current) || INVALID_HANDLE;\n }\n\n private reset() {\n this.setState(THEOplayerView.initialState);\n }\n\n private _onNativePlayerReady = (event: NativeSyntheticEvent<NativePlayerStateEvent>) => {\n // Optionally apply an initial player state\n const { version, state } = event?.nativeEvent;\n this._facade.initializeFromNativePlayer_(version, state);\n this.props.onPlayerReady?.(this._facade);\n };\n\n private _onSourceChange = () => {\n this.reset();\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SOURCE_CHANGE));\n };\n\n private _onLoadStart = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.LOAD_START));\n };\n\n private _onLoadedData = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.LOADED_DATA));\n };\n\n private _onLoadedMetadata = (event: NativeSyntheticEvent<NativeLoadedMetadataEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(\n new DefaultLoadedMetadataEvent(\n nativeEvent.textTracks,\n nativeEvent.audioTracks,\n nativeEvent.videoTracks,\n decodeNanInf(nativeEvent.duration),\n nativeEvent.selectedTextTrack,\n nativeEvent.selectedVideoTrack,\n nativeEvent.selectedAudioTrack,\n ),\n );\n };\n\n private _onVolumeChange = (event: NativeSyntheticEvent<NativeVolumeChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultVolumeChangeEvent(event.nativeEvent.volume, event.nativeEvent.muted));\n };\n\n private _onError = (event: NativeSyntheticEvent<NativeErrorEvent>) => {\n const { error } = event.nativeEvent;\n this.setState({ error });\n this._facade.dispatchEvent(new DefaultErrorEvent(event.nativeEvent.error));\n };\n\n private _onProgress = (event: NativeSyntheticEvent<NativeProgressEvent>) => {\n this._facade.dispatchEvent(new DefaultProgressEvent(event.nativeEvent.seekable, event.nativeEvent.buffered));\n };\n\n private _onCanPlay = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.CANPLAY));\n };\n\n private _onPlay = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PLAY));\n };\n\n private _onPlaying = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PLAYING));\n };\n\n private _onPause = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PAUSE));\n };\n\n private _onSeeking = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SEEKING));\n };\n\n private _onSeeked = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SEEKED));\n };\n\n private _onWaiting = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.WAITING));\n };\n\n private _onEnded = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.ENDED));\n };\n\n private _onReadStateChange = (event: NativeSyntheticEvent<NativeReadyStateChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultReadyStateChangeEvent(event.nativeEvent.readyState));\n };\n\n private _onTimeUpdate = (event: NativeSyntheticEvent<NativeTimeUpdateEvent>) => {\n this._facade.dispatchEvent(new DefaultTimeupdateEvent(event.nativeEvent.currentTime, event.nativeEvent.currentProgramDateTime));\n };\n\n private _onDurationChange = (event: NativeSyntheticEvent<NativeDurationChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultDurationChangeEvent(decodeNanInf(event.nativeEvent.duration)));\n };\n\n private _onRateChange = (event: NativeSyntheticEvent<NativeRateChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultRateChangeEvent(event.nativeEvent.playbackRate));\n };\n\n private _onSegmentNotFound = (event: NativeSyntheticEvent<NativeSegmentNotFoundEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(new DefaultSegmentNotFoundEvent(nativeEvent.segmentStartTime, nativeEvent.error, nativeEvent.retryCount));\n };\n\n private _onTextTrackListEvent = (event: NativeSyntheticEvent<NativeTextTrackListEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(new DefaultTextTrackListEvent(toTrackListEventType(nativeEvent.type), nativeEvent.track));\n };\n\n private _onTextTrackEvent = (event: NativeSyntheticEvent<NativeTextTrackEvent>) => {\n const nativeEvent = event.nativeEvent;\n const cue = nativeEvent.cue;\n if (cue) {\n cue.startTime = decodeNanInf(cue.startTime);\n cue.endTime = decodeNanInf(cue.endTime);\n }\n this._facade.dispatchEvent(new DefaultTextTrackEvent(toTextTrackEventType(nativeEvent.type), nativeEvent.trackUid, cue));\n };\n\n private _onMediaTrackListEvent = (event: NativeSyntheticEvent<NativeMediaTrackListEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(\n new DefaultMediaTrackListEvent(toTrackListEventType(nativeEvent.type), toMediaTrackType(nativeEvent.trackType), nativeEvent.track),\n );\n };\n\n private _onMediaTrackEvent = (event: NativeSyntheticEvent<NativeMediaTrackEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(\n new DefaultMediaTrackEvent(\n toMediaTrackTypeEventType(nativeEvent.type),\n toMediaTrackType(nativeEvent.trackType),\n nativeEvent.trackUid,\n nativeEvent.qualities,\n ),\n );\n };\n\n private _onAdEvent = (event: NativeSyntheticEvent<NativeAdEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(new DefaultAdEvent(nativeEvent.type, nativeEvent.ad));\n };\n\n private _onCastEvent = (event: NativeSyntheticEvent<NativeCastEvent>) => {\n switch (event.nativeEvent.type) {\n case CastEventType.CHROMECAST_STATE_CHANGE:\n this._facade.dispatchEvent(new DefaultChromecastChangeEvent(event.nativeEvent.state));\n break;\n case CastEventType.AIRPLAY_STATE_CHANGE:\n this._facade.dispatchEvent(new DefaultAirplayStateChangeEvent(event.nativeEvent.state));\n break;\n case CastEventType.CHROMECAST_ERROR:\n this._facade.dispatchEvent(new DefaultChromecastErrorEvent(event.nativeEvent.error));\n break;\n }\n };\n\n private _onPresentationModeChange = (event: NativeSyntheticEvent<NativePresentationModeChangeEvent>) => {\n this._facade.dispatchEvent(\n new DefaultPresentationModeChangeEvent(\n event.nativeEvent.presentationMode,\n event.nativeEvent.previousPresentationMode,\n event.nativeEvent.context,\n ),\n );\n };\n\n public render(): JSX.Element {\n const { config, style, children } = this.props;\n return (\n <View style={[styles.base, style]}>\n <THEOplayerRCTView\n ref={this._root}\n style={StyleSheet.absoluteFill}\n config={config || {}}\n onNativePlayerReady={this._onNativePlayerReady}\n onNativeSourceChange={this._onSourceChange}\n onNativeLoadStart={this._onLoadStart}\n onNativeLoadedData={this._onLoadedData}\n onNativeLoadedMetadata={this._onLoadedMetadata}\n onNativeVolumeChange={this._onVolumeChange}\n onNativeError={this._onError}\n onNativeProgress={this._onProgress}\n onNativeCanPlay={this._onCanPlay}\n onNativePlay={this._onPlay}\n onNativePlaying={this._onPlaying}\n onNativePause={this._onPause}\n onNativeSeeking={this._onSeeking}\n onNativeSeeked={this._onSeeked}\n onNativeWaiting={this._onWaiting}\n onNativeEnded={this._onEnded}\n onNativeReadyStateChange={this._onReadStateChange}\n onNativeTimeUpdate={this._onTimeUpdate}\n onNativeDurationChange={this._onDurationChange}\n onNativeRateChange={this._onRateChange}\n onNativeSegmentNotFound={this._onSegmentNotFound}\n onNativeTextTrackListEvent={this._onTextTrackListEvent}\n onNativeTextTrackEvent={this._onTextTrackEvent}\n onNativeMediaTrackListEvent={this._onMediaTrackListEvent}\n onNativeMediaTrackEvent={this._onMediaTrackEvent}\n onNativeAdEvent={this._onAdEvent}\n onNativeCastEvent={this._onCastEvent}\n onNativePresentationModeChange={this._onPresentationModeChange}\n />\n {children}\n </View>\n );\n }\n}\n\nconst LINKING_ERROR =\n `The package 'react-native-theoplayer' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst ComponentName = 'THEOplayerRCTView';\n\nconst THEOplayerRCTView =\n UIManager.getViewManagerConfig(ComponentName) != null\n ? requireNativeComponent<THEOplayerRCTViewProps>(ComponentName)\n : () => {\n throw new Error(LINKING_ERROR);\n };\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","PureComponent","findNodeHandle","Platform","requireNativeComponent","StyleSheet","UIManager","View","isDateRangeCue","CastEventType","PlayerEventType","styles","decodeNanInf","BaseEvent","DefaultAdEvent","DefaultAirplayStateChangeEvent","DefaultChromecastChangeEvent","DefaultChromecastErrorEvent","DefaultDurationChangeEvent","DefaultErrorEvent","DefaultLoadedMetadataEvent","DefaultMediaTrackEvent","DefaultMediaTrackListEvent","DefaultPresentationModeChangeEvent","DefaultProgressEvent","DefaultRateChangeEvent","DefaultReadyStateChangeEvent","DefaultSegmentNotFoundEvent","DefaultTextTrackEvent","DefaultTextTrackListEvent","DefaultVolumeChangeEvent","DefaultTimeupdateEvent","toMediaTrackType","toMediaTrackTypeEventType","toTextTrackEventType","toTrackListEventType","THEOplayerAdapter","INVALID_HANDLE","THEOplayerView","constructor","props","_defineProperty","event","_this$props$onPlayerR","_this$props","version","state","nativeEvent","_facade","initializeFromNativePlayer_","onPlayerReady","call","reset","dispatchEvent","SOURCE_CHANGE","LOAD_START","LOADED_DATA","textTracks","audioTracks","videoTracks","duration","selectedTextTrack","selectedVideoTrack","selectedAudioTrack","volume","muted","error","setState","seekable","buffered","CANPLAY","PLAY","PLAYING","PAUSE","SEEKING","SEEKED","WAITING","ENDED","readyState","currentTime","currentProgramDateTime","playbackRate","segmentStartTime","retryCount","type","track","cue","normalizeCue","trackUid","trackType","qualities","ad","CHROMECAST_STATE_CHANGE","AIRPLAY_STATE_CHANGE","CHROMECAST_ERROR","presentationMode","previousPresentationMode","context","_root","createRef","initialState","componentWillUnmount","onPlayerDestroy","DESTROY","OS","command","Commands","destroy","dispatchViewManagerCommand","current","clearEventListeners","nativeHandle","startTime","endTime","startDate","Date","endDate","plannedDuration","render","config","style","children","createElement","base","THEOplayerRCTView","ref","absoluteFill","onNativePlayerReady","_onNativePlayerReady","onNativeSourceChange","_onSourceChange","onNativeLoadStart","_onLoadStart","onNativeLoadedData","_onLoadedData","onNativeLoadedMetadata","_onLoadedMetadata","onNativeVolumeChange","_onVolumeChange","onNativeError","_onError","onNativeProgress","_onProgress","onNativeCanPlay","_onCanPlay","onNativePlay","_onPlay","onNativePlaying","_onPlaying","onNativePause","_onPause","onNativeSeeking","_onSeeking","onNativeSeeked","_onSeeked","onNativeWaiting","_onWaiting","onNativeEnded","_onEnded","onNativeReadyStateChange","_onReadStateChange","onNativeTimeUpdate","_onTimeUpdate","onNativeDurationChange","_onDurationChange","onNativeRateChange","_onRateChange","onNativeSegmentNotFound","_onSegmentNotFound","onNativeTextTrackListEvent","_onTextTrackListEvent","onNativeTextTrackEvent","_onTextTrackEvent","onNativeMediaTrackListEvent","_onMediaTrackListEvent","onNativeMediaTrackEvent","_onMediaTrackEvent","onNativeAdEvent","_onAdEvent","onNativeCastEvent","_onCastEvent","onNativePresentationModeChange","_onPresentationModeChange","undefined","LINKING_ERROR","select","ios","default","ComponentName","getViewManagerConfig","Error"],"sources":["THEOplayerView.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport {\n findNodeHandle,\n HostComponent,\n NativeSyntheticEvent,\n Platform,\n requireNativeComponent,\n StyleProp,\n StyleSheet,\n UIManager,\n View,\n ViewStyle,\n} from 'react-native';\nimport { isDateRangeCue, PlayerConfiguration, PlayerError, TextTrackCue, THEOplayerViewProps } from 'react-native-theoplayer';\nimport { CastEventType, PlayerEventType } from 'react-native-theoplayer';\n\nimport styles from './THEOplayerView.style';\nimport { decodeNanInf } from './utils/TypeUtils';\nimport { BaseEvent } from './adapter/event/BaseEvent';\nimport {\n DefaultAdEvent,\n DefaultAirplayStateChangeEvent,\n DefaultChromecastChangeEvent,\n DefaultChromecastErrorEvent,\n DefaultDurationChangeEvent,\n DefaultErrorEvent,\n DefaultLoadedMetadataEvent,\n DefaultMediaTrackEvent,\n DefaultMediaTrackListEvent,\n DefaultPresentationModeChangeEvent,\n DefaultProgressEvent,\n DefaultRateChangeEvent,\n DefaultReadyStateChangeEvent,\n DefaultSegmentNotFoundEvent,\n DefaultTextTrackEvent,\n DefaultTextTrackListEvent,\n DefaultVolumeChangeEvent,\n DefaultTimeupdateEvent,\n} from './adapter/event/PlayerEvents';\nimport type { NativeCastEvent } from './adapter/event/native/NativeCastEvent';\nimport type {\n NativeMediaTrackEvent,\n NativeMediaTrackListEvent,\n NativeTextTrackEvent,\n NativeTextTrackListEvent,\n} from './adapter/event/native/NativeTrackEvent';\nimport { toMediaTrackType, toMediaTrackTypeEventType, toTextTrackEventType, toTrackListEventType } from './adapter/event/native/NativeTrackEvent';\nimport type {\n NativeDurationChangeEvent,\n NativeErrorEvent,\n NativeLoadedMetadataEvent,\n NativePlayerStateEvent,\n NativePresentationModeChangeEvent,\n NativeProgressEvent,\n NativeRateChangeEvent,\n NativeReadyStateChangeEvent,\n NativeSegmentNotFoundEvent,\n NativeTimeUpdateEvent,\n NativeVolumeChangeEvent,\n} from './adapter/event/native/NativePlayerEvent';\nimport type { NativeAdEvent } from './adapter/event/native/NativeAdEvent';\nimport { THEOplayerAdapter } from './adapter/THEOplayerAdapter';\n\nconst INVALID_HANDLE = -1;\n\ninterface THEOplayerRCTViewProps {\n ref: React.RefObject<THEOplayerViewNativeComponent>;\n style?: StyleProp<ViewStyle>;\n config?: PlayerConfiguration;\n onNativePlayerReady: (event: NativeSyntheticEvent<NativePlayerStateEvent>) => void;\n onNativeSourceChange: () => void;\n onNativeLoadStart: () => void;\n onNativeLoadedData: () => void;\n onNativeLoadedMetadata: (event: NativeSyntheticEvent<NativeLoadedMetadataEvent>) => void;\n onNativeReadyStateChange?: (event: NativeSyntheticEvent<NativeReadyStateChangeEvent>) => void;\n onNativeError: (event: NativeSyntheticEvent<NativeErrorEvent>) => void;\n onNativeProgress: (event: NativeSyntheticEvent<NativeProgressEvent>) => void;\n onNativeVolumeChange: (event: NativeSyntheticEvent<NativeVolumeChangeEvent>) => void;\n onNativeCanPlay: () => void;\n onNativePlay: () => void;\n onNativePlaying: () => void;\n onNativePause: () => void;\n onNativeSeeking: () => void;\n onNativeSeeked: () => void;\n onNativeEnded: () => void;\n onNativeWaiting: () => void;\n onNativeTimeUpdate: (event: NativeSyntheticEvent<NativeTimeUpdateEvent>) => void;\n onNativeDurationChange: (event: NativeSyntheticEvent<NativeDurationChangeEvent>) => void;\n onNativeRateChange: (event: NativeSyntheticEvent<NativeRateChangeEvent>) => void;\n onNativeSegmentNotFound: (event: NativeSyntheticEvent<NativeSegmentNotFoundEvent>) => void;\n onNativeTextTrackListEvent: (event: NativeSyntheticEvent<NativeTextTrackListEvent>) => void;\n onNativeTextTrackEvent: (event: NativeSyntheticEvent<NativeTextTrackEvent>) => void;\n onNativeMediaTrackListEvent: (event: NativeSyntheticEvent<NativeMediaTrackListEvent>) => void;\n onNativeMediaTrackEvent: (event: NativeSyntheticEvent<NativeMediaTrackEvent>) => void;\n onNativeAdEvent: (event: NativeSyntheticEvent<NativeAdEvent>) => void;\n onNativeCastEvent: (event: NativeSyntheticEvent<NativeCastEvent>) => void;\n onNativePresentationModeChange: (event: NativeSyntheticEvent<NativePresentationModeChangeEvent>) => void;\n}\n\ninterface THEOplayerRCTViewState {\n error?: PlayerError;\n}\n\ntype THEOplayerViewNativeComponent = HostComponent<THEOplayerRCTViewProps>;\n\nexport class THEOplayerView extends PureComponent<React.PropsWithChildren<THEOplayerViewProps>, THEOplayerRCTViewState> {\n private readonly _root: React.RefObject<THEOplayerViewNativeComponent>;\n private readonly _facade: THEOplayerAdapter;\n\n private static initialState: THEOplayerRCTViewState = {\n error: undefined,\n };\n\n constructor(props: THEOplayerViewProps) {\n super(props);\n this._root = React.createRef();\n this.state = THEOplayerView.initialState;\n this._facade = new THEOplayerAdapter(this);\n }\n\n componentWillUnmount() {\n // Notify the player will be destroyed.\n const { onPlayerDestroy } = this.props;\n if (onPlayerDestroy) {\n onPlayerDestroy(this._facade);\n }\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.DESTROY));\n\n if (Platform.OS === 'ios') {\n // TODO: move to native module\n // on iOS, we trigger an explicit 'destroy' to clean up the underlying THEOplayer\n const command = (UIManager as { [index: string]: any })['THEOplayerRCTView'].Commands.destroy;\n UIManager.dispatchViewManagerCommand(findNodeHandle(this._root.current), command, []);\n }\n this._facade.clearEventListeners();\n }\n\n public get nativeHandle(): number {\n return findNodeHandle(this._root.current) || INVALID_HANDLE;\n }\n\n private reset() {\n this.setState(THEOplayerView.initialState);\n }\n\n private _onNativePlayerReady = (event: NativeSyntheticEvent<NativePlayerStateEvent>) => {\n // Optionally apply an initial player state\n const { version, state } = event?.nativeEvent;\n this._facade.initializeFromNativePlayer_(version, state);\n this.props.onPlayerReady?.(this._facade);\n };\n\n private _onSourceChange = () => {\n this.reset();\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SOURCE_CHANGE));\n };\n\n private _onLoadStart = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.LOAD_START));\n };\n\n private _onLoadedData = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.LOADED_DATA));\n };\n\n private _onLoadedMetadata = (event: NativeSyntheticEvent<NativeLoadedMetadataEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(\n new DefaultLoadedMetadataEvent(\n nativeEvent.textTracks,\n nativeEvent.audioTracks,\n nativeEvent.videoTracks,\n decodeNanInf(nativeEvent.duration),\n nativeEvent.selectedTextTrack,\n nativeEvent.selectedVideoTrack,\n nativeEvent.selectedAudioTrack,\n ),\n );\n };\n\n private _onVolumeChange = (event: NativeSyntheticEvent<NativeVolumeChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultVolumeChangeEvent(event.nativeEvent.volume, event.nativeEvent.muted));\n };\n\n private _onError = (event: NativeSyntheticEvent<NativeErrorEvent>) => {\n const { error } = event.nativeEvent;\n this.setState({ error });\n this._facade.dispatchEvent(new DefaultErrorEvent(event.nativeEvent.error));\n };\n\n private _onProgress = (event: NativeSyntheticEvent<NativeProgressEvent>) => {\n this._facade.dispatchEvent(new DefaultProgressEvent(event.nativeEvent.seekable, event.nativeEvent.buffered));\n };\n\n private _onCanPlay = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.CANPLAY));\n };\n\n private _onPlay = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PLAY));\n };\n\n private _onPlaying = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PLAYING));\n };\n\n private _onPause = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PAUSE));\n };\n\n private _onSeeking = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SEEKING));\n };\n\n private _onSeeked = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SEEKED));\n };\n\n private _onWaiting = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.WAITING));\n };\n\n private _onEnded = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.ENDED));\n };\n\n private _onReadStateChange = (event: NativeSyntheticEvent<NativeReadyStateChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultReadyStateChangeEvent(event.nativeEvent.readyState));\n };\n\n private _onTimeUpdate = (event: NativeSyntheticEvent<NativeTimeUpdateEvent>) => {\n this._facade.dispatchEvent(new DefaultTimeupdateEvent(event.nativeEvent.currentTime, event.nativeEvent.currentProgramDateTime));\n };\n\n private _onDurationChange = (event: NativeSyntheticEvent<NativeDurationChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultDurationChangeEvent(decodeNanInf(event.nativeEvent.duration)));\n };\n\n private _onRateChange = (event: NativeSyntheticEvent<NativeRateChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultRateChangeEvent(event.nativeEvent.playbackRate));\n };\n\n private _onSegmentNotFound = (event: NativeSyntheticEvent<NativeSegmentNotFoundEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(new DefaultSegmentNotFoundEvent(nativeEvent.segmentStartTime, nativeEvent.error, nativeEvent.retryCount));\n };\n\n private _onTextTrackListEvent = (event: NativeSyntheticEvent<NativeTextTrackListEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(new DefaultTextTrackListEvent(toTrackListEventType(nativeEvent.type), nativeEvent.track));\n };\n\n private _onTextTrackEvent = (event: NativeSyntheticEvent<NativeTextTrackEvent>) => {\n const nativeEvent = event.nativeEvent;\n const cue = nativeEvent.cue;\n if (cue) {\n this.normalizeCue(cue);\n }\n this._facade.dispatchEvent(new DefaultTextTrackEvent(toTextTrackEventType(nativeEvent.type), nativeEvent.trackUid, cue));\n };\n\n private normalizeCue(cue: TextTrackCue) {\n cue.startTime = decodeNanInf(cue.startTime);\n cue.endTime = decodeNanInf(cue.endTime);\n if (isDateRangeCue(cue)) {\n cue.startDate = new Date(cue.startDate);\n if (cue.endDate) {\n cue.endDate = new Date(cue.endDate);\n }\n if (cue.duration) {\n cue.duration = decodeNanInf(cue.duration);\n }\n if (cue.plannedDuration) {\n cue.plannedDuration = decodeNanInf(cue.plannedDuration);\n }\n }\n }\n\n private _onMediaTrackListEvent = (event: NativeSyntheticEvent<NativeMediaTrackListEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(\n new DefaultMediaTrackListEvent(toTrackListEventType(nativeEvent.type), toMediaTrackType(nativeEvent.trackType), nativeEvent.track),\n );\n };\n\n private _onMediaTrackEvent = (event: NativeSyntheticEvent<NativeMediaTrackEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(\n new DefaultMediaTrackEvent(\n toMediaTrackTypeEventType(nativeEvent.type),\n toMediaTrackType(nativeEvent.trackType),\n nativeEvent.trackUid,\n nativeEvent.qualities,\n ),\n );\n };\n\n private _onAdEvent = (event: NativeSyntheticEvent<NativeAdEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(new DefaultAdEvent(nativeEvent.type, nativeEvent.ad));\n };\n\n private _onCastEvent = (event: NativeSyntheticEvent<NativeCastEvent>) => {\n switch (event.nativeEvent.type) {\n case CastEventType.CHROMECAST_STATE_CHANGE:\n this._facade.dispatchEvent(new DefaultChromecastChangeEvent(event.nativeEvent.state));\n break;\n case CastEventType.AIRPLAY_STATE_CHANGE:\n this._facade.dispatchEvent(new DefaultAirplayStateChangeEvent(event.nativeEvent.state));\n break;\n case CastEventType.CHROMECAST_ERROR:\n this._facade.dispatchEvent(new DefaultChromecastErrorEvent(event.nativeEvent.error));\n break;\n }\n };\n\n private _onPresentationModeChange = (event: NativeSyntheticEvent<NativePresentationModeChangeEvent>) => {\n this._facade.dispatchEvent(\n new DefaultPresentationModeChangeEvent(\n event.nativeEvent.presentationMode,\n event.nativeEvent.previousPresentationMode,\n event.nativeEvent.context,\n ),\n );\n };\n\n public render(): JSX.Element {\n const { config, style, children } = this.props;\n return (\n <View style={[styles.base, style]}>\n <THEOplayerRCTView\n ref={this._root}\n style={StyleSheet.absoluteFill}\n config={config || {}}\n onNativePlayerReady={this._onNativePlayerReady}\n onNativeSourceChange={this._onSourceChange}\n onNativeLoadStart={this._onLoadStart}\n onNativeLoadedData={this._onLoadedData}\n onNativeLoadedMetadata={this._onLoadedMetadata}\n onNativeVolumeChange={this._onVolumeChange}\n onNativeError={this._onError}\n onNativeProgress={this._onProgress}\n onNativeCanPlay={this._onCanPlay}\n onNativePlay={this._onPlay}\n onNativePlaying={this._onPlaying}\n onNativePause={this._onPause}\n onNativeSeeking={this._onSeeking}\n onNativeSeeked={this._onSeeked}\n onNativeWaiting={this._onWaiting}\n onNativeEnded={this._onEnded}\n onNativeReadyStateChange={this._onReadStateChange}\n onNativeTimeUpdate={this._onTimeUpdate}\n onNativeDurationChange={this._onDurationChange}\n onNativeRateChange={this._onRateChange}\n onNativeSegmentNotFound={this._onSegmentNotFound}\n onNativeTextTrackListEvent={this._onTextTrackListEvent}\n onNativeTextTrackEvent={this._onTextTrackEvent}\n onNativeMediaTrackListEvent={this._onMediaTrackListEvent}\n onNativeMediaTrackEvent={this._onMediaTrackEvent}\n onNativeAdEvent={this._onAdEvent}\n onNativeCastEvent={this._onCastEvent}\n onNativePresentationModeChange={this._onPresentationModeChange}\n />\n {children}\n </View>\n );\n }\n}\n\nconst LINKING_ERROR =\n `The package 'react-native-theoplayer' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst ComponentName = 'THEOplayerRCTView';\n\nconst THEOplayerRCTView =\n UIManager.getViewManagerConfig(ComponentName) != null\n ? requireNativeComponent<THEOplayerRCTViewProps>(ComponentName)\n : () => {\n throw new Error(LINKING_ERROR);\n };\n"],"mappings":"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"}
@@ -71,6 +71,12 @@ export class THEOplayerAdapter extends DefaultEventDispatcher {
71
71
  this._state.selectedAudioTrack = event.selectedAudioTrack;
72
72
  this._state.selectedVideoTrack = event.selectedVideoTrack;
73
73
  this._state.selectedTextTrack = event.selectedTextTrack;
74
+ if (isFinite(this._state.duration)) {
75
+ this._state.seekable = [{
76
+ start: 0,
77
+ end: this._state.duration
78
+ }];
79
+ }
74
80
  });
75
81
  _defineProperty(this, "onDurationChange", event => {
76
82
  this._state.duration = event.duration;
@@ -323,7 +329,7 @@ export class THEOplayerAdapter extends DefaultEventDispatcher {
323
329
  return;
324
330
  }
325
331
  this._state.selectedAudioTrack = trackUid;
326
- NativeModules.PlayerModule.setSelectedAudioTrack(this._view.nativeHandle, trackUid || -1);
332
+ NativeModules.PlayerModule.setSelectedAudioTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);
327
333
  }
328
334
  get videoTracks() {
329
335
  return this._state.videoTracks;
@@ -337,7 +343,7 @@ export class THEOplayerAdapter extends DefaultEventDispatcher {
337
343
  }
338
344
  this._state.selectedVideoTrack = trackUid;
339
345
  this._state.targetVideoQuality = undefined;
340
- NativeModules.PlayerModule.setSelectedVideoTrack(this._view.nativeHandle, trackUid || -1);
346
+ NativeModules.PlayerModule.setSelectedVideoTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);
341
347
  }
342
348
  get textTracks() {
343
349
  return this._state.textTracks;
@@ -357,7 +363,7 @@ export class THEOplayerAdapter extends DefaultEventDispatcher {
357
363
  track.mode = TextTrackMode.disabled;
358
364
  }
359
365
  });
360
- NativeModules.PlayerModule.setSelectedTextTrack(this._view.nativeHandle, trackUid || -1);
366
+ NativeModules.PlayerModule.setSelectedTextTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);
361
367
  }
362
368
  get textTrackStyle() {
363
369
  return this._textTrackStyleAdapter;