react-native-theoplayer 1.2.0 → 1.3.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.
- package/android/.gradle/7.0.2/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.0.2/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/7.0.2/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.0.2/fileChanges/last-build.bin +0 -0
- package/android/.gradle/7.0.2/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/7.0.2/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/7.0.2/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/compiler.xml +6 -0
- package/android/.idea/gradle.xml +18 -0
- package/android/.idea/jarRepositories.xml +40 -0
- package/android/.idea/libraries/Gradle__androidx_activity_activity_1_1_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml +11 -0
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_1_0_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_1_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +11 -0
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_browser_browser_1_3_0_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +11 -0
- package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_core_core_1_2_0_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_2_4_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_2_0.xml +11 -0
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_2_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_2_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_2_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_2_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_preference_preference_1_1_1_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_0_0_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +16 -0
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_0_3.xml +13 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_0_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_0_0_aar.xml +18 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_0_0_aar.xml +18 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_0_0_aar.xml +18 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_0_0_aar.xml +18 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_0_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_0_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_0_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2.xml +13 -0
- package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_64_2_aar.xml +18 -0
- package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_9_0.xml +13 -0
- package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_9_0.xml +13 -0
- package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_9_0_aar.xml +15 -0
- package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_14_1.xml +13 -0
- package/android/.idea/libraries/Gradle__com_google_ads_interactivemedia_v3_interactivemedia_3_25_1.xml +9 -0
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_identifier_17_1_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_appset_16_0_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_6_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_6_0_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_2_1_aar.xml +13 -0
- package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +13 -0
- package/android/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_2.xml +13 -0
- package/android/.idea/libraries/Gradle__com_google_guava_listenablefuture_1_0.xml +13 -0
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_12.xml +13 -0
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_12.xml +13 -0
- package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_17_5.xml +13 -0
- package/android/.idea/libraries/Gradle__com_theoplayer_theoplayer_sdk_android_unified_3_6_1_aar.xml +12 -0
- package/android/.idea/libraries/Gradle__com_theoplayer_theoplayer_sdk_android_unified_ads_3_6_1_aar.xml +11 -0
- package/android/.idea/libraries/Gradle__com_theoplayer_theoplayer_sdk_android_unified_ads_ima_3_6_1_aar.xml +11 -0
- package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +13 -0
- package/android/.idea/misc.xml +9 -0
- package/android/.idea/modules/android.androidTest.iml +105 -0
- package/android/.idea/modules/android.iml +40 -0
- package/android/.idea/modules/android.main.iml +113 -0
- package/android/.idea/modules/android.unitTest.iml +100 -0
- package/android/.idea/modules.xml +11 -0
- package/android/.idea/vcs.xml +6 -0
- package/android/build.gradle +0 -1
- package/android/local.properties +8 -0
- package/lib/commonjs/internal/THEOplayerView.web.js +1 -1
- package/lib/commonjs/internal/THEOplayerView.web.js.map +1 -1
- package/lib/module/internal/THEOplayerView.web.js +1 -1
- package/lib/module/internal/THEOplayerView.web.js.map +1 -1
- package/package.json +1 -1
- package/src/internal/THEOplayerView.web.tsx +1 -1
- package/android/libs/theoplayer-android-dist-sdkdemo-3.5.0-unifiedAndroid-ads-release.aar +0 -0
- package/android/libs/theoplayer-android-dist-sdkdemo-3.5.0-unifiedAndroid-ima-release.aar +0 -0
- package/android/libs/theoplayer-android-dist-sdkdemo-3.5.0-unifiedAndroid-release.aar +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["THEOplayerView.web.tsx"],"names":["React","PureComponent","TextTrackEventType","TrackListEventType","THEOplayer","fromNativeCue","fromNativeMediaTrack","fromNativeTextTrack","THEOplayerView","constructor","props","track","event","onTextTrackEvent","cue","type","AddCue","trackUid","uid","RemoveCue","state","initialState","componentDidMount","config","source","element","document","querySelector","chromeless","undefined","_player","ChromelessPlayer","libraryLocation","Player","ui","fluid","prepareWithUserAction","addEventListeners","componentWillUnmount","destroy","seek","time","isNaN","Error","currentTime","reset","setState","componentDidUpdate","prevProps","paused","volume","selectedTextTrack","selectedAudioTrack","selectedVideoTrack","muted","playbackRate","fullscreen","wasPaused","prevSelectedTextTrack","prevSelectedAudioTrack","prevSelectedVideoTrack","prevSource","wasMuted","prevPlaybackRate","wasFullscreen","prevVolume","pause","play","Boolean","Number","onFullscreenPlayerWillPresent","onFullscreenPlayerWillDismiss","appContainer","getElementById","requestFullscreen","then","exitFullscreen","textTracks","forEach","textTrack","mode","audioTracks","audioTrack","enabled","videoTracks","videoTrack","maybeChangeBufferingState","isBuffering","wasBuffering","error","newIsBuffering","onBufferingStateChange","player","addEventListener","onSourceChange","onLoadStart","onLoadedData","onLoadedMetadata","map","duration","find","errorObject","errorCode","code","toString","errorMessage","message","onError","onProgress","seekable","i","length","push","start","end","onPlay","onPlaying","onPause","onSeeking","onSeeked","onEnded","readyState","onReadyStateChange","onTimeUpdate","currentProgramDateTime","getTime","onDurationChange","onSegmentNotFound","segmentStartTime","retryCount","presentation","presentationMode","onFullscreenPlayerDidPresent","onFullscreenPlayerDidDismiss","onTextTrackListEvent","onAddTextTrackCue","onRemoveTextTrackCue","AddTrack","removeEventListener","RemoveTrack","render"],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react';\n\nimport type { PlayerError, TextTrack, THEOplayerViewProps, TimeRange } from 'react-native-theoplayer';\nimport { TextTrackEventType, TrackListEventType } from 'react-native-theoplayer';\nimport type { Event, TextTrackCue as NativeTextTrackCue } from 'theoplayer';\n\nimport type {\n AddTrackEvent,\n MediaTrack as NativeMediaTrack,\n PresentationModeChangeEvent,\n ReadyStateChangeEvent as NativeReadyStateChangeEvent,\n RemoveTrackEvent,\n TextTrack as NativeTextTrack,\n} from 'theoplayer';\nimport * as THEOplayer from 'theoplayer';\nimport { fromNativeCue, fromNativeMediaTrack, fromNativeTextTrack } from './web/TrackUtils';\n\ninterface THEOplayerRCTViewState {\n isBuffering: boolean;\n error?: PlayerError;\n}\n\nexport class THEOplayerView extends PureComponent<THEOplayerViewProps, THEOplayerRCTViewState> {\n private _player: THEOplayer.ChromelessPlayer | null = null;\n\n private static initialState: THEOplayerRCTViewState = {\n isBuffering: false,\n error: undefined,\n };\n\n constructor(props: THEOplayerViewProps) {\n super(props);\n this.state = THEOplayerView.initialState;\n }\n\n componentDidMount() {\n const { config, source } = this.props;\n const element = document.querySelector('.theoplayer-container') as HTMLElement;\n if (config?.chromeless === true || config?.chromeless === undefined) {\n this._player = new THEOplayer.ChromelessPlayer(element, {\n libraryLocation: 'node_modules/theoplayer',\n ...config,\n });\n } else {\n this._player = new THEOplayer.Player(element, {\n libraryLocation: 'node_modules/theoplayer',\n ...config,\n ui: {\n fluid: true,\n },\n });\n }\n this._player.prepareWithUserAction();\n this._player.source = source;\n this.addEventListeners();\n }\n\n componentWillUnmount() {\n if (this._player) {\n this._player.destroy();\n }\n }\n\n public seek(time: number): void {\n if (isNaN(time)) {\n throw new Error('Specified time is not a number');\n }\n if (this._player) {\n this._player.currentTime = time / 1e3;\n }\n }\n\n private reset() {\n this.setState(THEOplayerView.initialState);\n }\n\n componentDidUpdate(prevProps: Readonly<THEOplayerViewProps>) {\n if (!this._player) {\n return;\n }\n // track property changes\n const { paused, volume, selectedTextTrack, selectedAudioTrack, selectedVideoTrack, source, muted, playbackRate, fullscreen } = this.props;\n const {\n paused: wasPaused,\n selectedTextTrack: prevSelectedTextTrack,\n selectedAudioTrack: prevSelectedAudioTrack,\n selectedVideoTrack: prevSelectedVideoTrack,\n source: prevSource,\n muted: wasMuted,\n playbackRate: prevPlaybackRate,\n fullscreen: wasFullscreen,\n volume: prevVolume,\n } = prevProps;\n\n if (source !== prevSource) {\n this._player.source = source;\n }\n if (paused !== wasPaused) {\n if (paused) {\n this._player.pause();\n } else {\n this._player.play();\n }\n }\n if (muted !== wasMuted) {\n this._player.muted = Boolean(muted);\n }\n if (volume !== prevVolume) {\n this._player.volume = Number(volume);\n }\n if (fullscreen !== wasFullscreen) {\n const { onFullscreenPlayerWillPresent, onFullscreenPlayerWillDismiss } = this.props;\n const appContainer = document.getElementById('app');\n if (fullscreen) {\n if (onFullscreenPlayerWillPresent) {\n onFullscreenPlayerWillPresent();\n }\n appContainer?.requestFullscreen().then();\n } else {\n if (onFullscreenPlayerWillDismiss) {\n onFullscreenPlayerWillDismiss();\n }\n document.exitFullscreen().then();\n }\n }\n if (playbackRate && playbackRate !== prevPlaybackRate) {\n this._player.playbackRate = playbackRate;\n }\n if (selectedTextTrack !== prevSelectedTextTrack) {\n this._player.textTracks.forEach((textTrack: NativeTextTrack) => {\n textTrack.mode = textTrack.uid === selectedTextTrack ? 'showing' : 'disabled';\n });\n }\n if (selectedAudioTrack !== prevSelectedAudioTrack) {\n this._player.audioTracks.forEach((audioTrack: NativeMediaTrack) => {\n audioTrack.enabled = audioTrack.uid === selectedAudioTrack;\n });\n }\n if (selectedVideoTrack !== prevSelectedVideoTrack) {\n this._player.videoTracks.forEach((videoTrack: NativeMediaTrack) => {\n videoTrack.enabled = videoTrack.uid === selectedVideoTrack;\n });\n }\n }\n\n private maybeChangeBufferingState(isBuffering: boolean) {\n const { isBuffering: wasBuffering, error } = this.state;\n const { paused } = this.props;\n\n // do not change state to buffering in case of an error or if the player is paused\n const newIsBuffering = isBuffering && !error && !paused;\n this.setState({ isBuffering: newIsBuffering });\n\n // notify change in buffering state\n if (newIsBuffering !== wasBuffering && this.props.onBufferingStateChange) {\n this.props.onBufferingStateChange(newIsBuffering);\n }\n }\n\n private onAddTextTrackCue = (track: NativeTextTrack) => (event: Event<'addcue'>) => {\n const { onTextTrackEvent } = this.props;\n if (onTextTrackEvent) {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n onTextTrackEvent({\n type: TextTrackEventType.AddCue,\n trackUid: track.uid,\n cue: fromNativeCue(cue),\n });\n }\n }\n };\n\n private onRemoveTextTrackCue = (track: NativeTextTrack) => (event: Event<'removecue'>) => {\n const { onTextTrackEvent } = this.props;\n if (onTextTrackEvent) {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n onTextTrackEvent({\n type: TextTrackEventType.RemoveCue,\n trackUid: track.uid,\n cue: fromNativeCue(cue),\n });\n }\n }\n };\n\n private addEventListeners() {\n const player = this._player;\n if (!player) {\n return;\n }\n\n player.addEventListener('sourcechange', () => {\n const { onSourceChange, paused } = this.props;\n\n this.reset();\n if (!paused) {\n player.play();\n }\n if (onSourceChange) {\n onSourceChange();\n }\n });\n\n player.addEventListener('loadstart', () => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(true);\n\n const { onLoadStart } = this.props;\n if (onLoadStart) {\n onLoadStart();\n }\n });\n\n player.addEventListener('loadeddata', () => {\n const { onLoadedData } = this.props;\n if (onLoadedData) {\n onLoadedData();\n }\n });\n\n player.addEventListener('loadedmetadata', () => {\n const { onLoadedMetadata } = this.props;\n if (onLoadedMetadata) {\n onLoadedMetadata({\n textTracks: player.textTracks.map((textTrack: NativeTextTrack) => fromNativeTextTrack(textTrack)),\n audioTracks: player.audioTracks.map((audioTrack: NativeMediaTrack) => fromNativeMediaTrack(audioTrack)),\n videoTracks: player.videoTracks.map((videoTrack: NativeMediaTrack) => fromNativeMediaTrack(videoTrack)),\n duration: player.duration,\n selectedTextTrack: player.textTracks.find((track: NativeTextTrack) => track.mode === 'showing')?.uid,\n selectedVideoTrack: player.videoTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,\n selectedAudioTrack: player.audioTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,\n });\n }\n });\n\n player.addEventListener('error', (event) => {\n const { errorObject } = event;\n const error = {\n errorCode: errorObject.code.toString(),\n errorMessage: errorObject.message,\n };\n this.setState({ error });\n\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(false);\n\n const { onError } = this.props;\n if (onError) {\n onError({ error });\n }\n });\n\n player.addEventListener('progress', () => {\n const { onProgress } = this.props;\n if (onProgress) {\n const seekable: TimeRange[] = [];\n for (let i = 0; i < player.seekable.length; i++) {\n seekable.push({\n start: player.seekable.start(i) * 1e3,\n end: player.seekable.end(i) * 1e3,\n });\n }\n onProgress({ seekable });\n }\n });\n\n player.addEventListener('play', () => {\n const { onPlay } = this.props;\n if (onPlay) {\n onPlay();\n }\n });\n\n player.addEventListener('playing', () => {\n const { onPlaying } = this.props;\n if (onPlaying) {\n onPlaying();\n }\n });\n\n player.addEventListener('pause', () => {\n const { onPause } = this.props;\n if (onPause) {\n onPause();\n }\n });\n\n player.addEventListener('seeking', () => {\n const { onSeeking } = this.props;\n if (onSeeking) {\n onSeeking();\n }\n });\n\n player.addEventListener('seeked', () => {\n const { onSeeked } = this.props;\n if (onSeeked) {\n onSeeked();\n }\n });\n\n player.addEventListener('ended', () => {\n const { onEnded } = this.props;\n if (onEnded) {\n onEnded();\n }\n });\n\n player.addEventListener('readystatechange', (event: NativeReadyStateChangeEvent) => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(event.readyState < 3);\n\n const { onReadyStateChange } = this.props;\n if (onReadyStateChange) {\n onReadyStateChange({ readyState: event.readyState });\n }\n });\n\n player.addEventListener('timeupdate', () => {\n const { onTimeUpdate } = this.props;\n if (onTimeUpdate) {\n onTimeUpdate({\n currentTime: player.currentTime * 1e3,\n currentProgramDateTime: player.currentProgramDateTime?.getTime(),\n });\n }\n });\n player.addEventListener('durationchange', (event) => {\n const { onDurationChange } = this.props;\n if (onDurationChange) {\n onDurationChange({\n duration: event.duration * 1e3,\n });\n }\n });\n player.addEventListener('segmentnotfound', () => {\n const { onSegmentNotFound } = this.props;\n if (onSegmentNotFound) {\n onSegmentNotFound({\n segmentStartTime: 0,\n error: 'Segment not found',\n retryCount: -1,\n });\n }\n });\n player.presentation.addEventListener('presentationmodechange', (event: PresentationModeChangeEvent) => {\n const { presentationMode } = event;\n const { onFullscreenPlayerDidPresent, onFullscreenPlayerDidDismiss } = this.props;\n if (presentationMode === 'fullscreen') {\n if (onFullscreenPlayerDidPresent) {\n onFullscreenPlayerDidPresent();\n }\n } else if (presentationMode === 'inline') {\n if (onFullscreenPlayerDidDismiss) {\n onFullscreenPlayerDidDismiss();\n }\n }\n });\n player.textTracks.addEventListener('addtrack', (event: AddTrackEvent) => {\n const { onTextTrackListEvent } = this.props;\n const track = event.track as NativeTextTrack;\n track.addEventListener('addcue', this.onAddTextTrackCue(track));\n track.addEventListener('removecue', this.onRemoveTextTrackCue(track));\n\n if (onTextTrackListEvent) {\n onTextTrackListEvent({\n type: TrackListEventType.AddTrack,\n track: track as TextTrack,\n });\n }\n });\n player.textTracks.addEventListener('removetrack', (event: RemoveTrackEvent) => {\n const { onTextTrackListEvent } = this.props;\n const track = event.track as NativeTextTrack;\n track.removeEventListener('addcue', this.onAddTextTrackCue(track));\n track.removeEventListener('removecue', this.onRemoveTextTrackCue(track));\n\n if (onTextTrackListEvent) {\n onTextTrackListEvent({\n type: TrackListEventType.RemoveTrack,\n track: event.track as unknown as TextTrack,\n });\n }\n });\n }\n\n public render(): JSX.Element {\n const { config } = this.props;\n const chromeless = config?.chromeless === undefined || config?.chromeless === true;\n\n return (\n <div id={'theoplayer-wrapper'}>\n <div className={chromeless ? 'theoplayer-container' : 'theoplayer-container video-js theoplayer-skin'} />\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["THEOplayerView.web.tsx"],"names":["React","PureComponent","TextTrackEventType","TrackListEventType","THEOplayer","fromNativeCue","fromNativeMediaTrack","fromNativeTextTrack","THEOplayerView","constructor","props","track","event","onTextTrackEvent","cue","type","AddCue","trackUid","uid","RemoveCue","state","initialState","componentDidMount","config","source","element","document","querySelector","chromeless","undefined","_player","ChromelessPlayer","libraryLocation","Player","ui","fluid","prepareWithUserAction","addEventListeners","componentWillUnmount","destroy","seek","time","isNaN","Error","currentTime","reset","setState","componentDidUpdate","prevProps","paused","volume","selectedTextTrack","selectedAudioTrack","selectedVideoTrack","muted","playbackRate","fullscreen","wasPaused","prevSelectedTextTrack","prevSelectedAudioTrack","prevSelectedVideoTrack","prevSource","wasMuted","prevPlaybackRate","wasFullscreen","prevVolume","pause","play","Boolean","Number","onFullscreenPlayerWillPresent","onFullscreenPlayerWillDismiss","appContainer","getElementById","requestFullscreen","then","exitFullscreen","textTracks","forEach","textTrack","mode","audioTracks","audioTrack","enabled","videoTracks","videoTrack","maybeChangeBufferingState","isBuffering","wasBuffering","error","newIsBuffering","onBufferingStateChange","player","addEventListener","onSourceChange","onLoadStart","onLoadedData","onLoadedMetadata","map","duration","find","errorObject","errorCode","code","toString","errorMessage","message","onError","onProgress","seekable","i","length","push","start","end","onPlay","onPlaying","onPause","onSeeking","onSeeked","onEnded","readyState","onReadyStateChange","onTimeUpdate","currentProgramDateTime","getTime","onDurationChange","onSegmentNotFound","segmentStartTime","retryCount","presentation","presentationMode","onFullscreenPlayerDidPresent","onFullscreenPlayerDidDismiss","onTextTrackListEvent","onAddTextTrackCue","onRemoveTextTrackCue","AddTrack","removeEventListener","RemoveTrack","render"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,aAAhB,QAAqC,OAArC;AAGA,SAASC,kBAAT,EAA6BC,kBAA7B,QAAuD,yBAAvD;AAWA,OAAO,KAAKC,UAAZ,MAA4B,YAA5B;AACA,SAASC,aAAT,EAAwBC,oBAAxB,EAA8CC,mBAA9C,QAAyE,kBAAzE;AAOA,OAAO,MAAMC,cAAN,SAA6BP,aAA7B,CAAwF;AAQ7FQ,EAAAA,WAAW,CAACC,KAAD,EAA6B;AACtC,UAAMA,KAAN;;AADsC,qCAPc,IAOd;;AAAA,+CAiIXC,KAAD,IAA6BC,KAAD,IAA4B;AAClF,YAAM;AAAEC,QAAAA;AAAF,UAAuB,KAAKH,KAAlC;;AACA,UAAIG,gBAAJ,EAAsB;AACpB,cAAM;AAAEC,UAAAA;AAAF,YAAUF,KAAhB;;AACA,YAAIE,GAAJ,EAAS;AACPD,UAAAA,gBAAgB,CAAC;AACfE,YAAAA,IAAI,EAAEb,kBAAkB,CAACc,MADV;AAEfC,YAAAA,QAAQ,EAAEN,KAAK,CAACO,GAFD;AAGfJ,YAAAA,GAAG,EAAET,aAAa,CAACS,GAAD;AAHH,WAAD,CAAhB;AAKD;AACF;AACF,KA7IuC;;AAAA,kDA+IRH,KAAD,IAA6BC,KAAD,IAA+B;AACxF,YAAM;AAAEC,QAAAA;AAAF,UAAuB,KAAKH,KAAlC;;AACA,UAAIG,gBAAJ,EAAsB;AACpB,cAAM;AAAEC,UAAAA;AAAF,YAAUF,KAAhB;;AACA,YAAIE,GAAJ,EAAS;AACPD,UAAAA,gBAAgB,CAAC;AACfE,YAAAA,IAAI,EAAEb,kBAAkB,CAACiB,SADV;AAEfF,YAAAA,QAAQ,EAAEN,KAAK,CAACO,GAFD;AAGfJ,YAAAA,GAAG,EAAET,aAAa,CAACS,GAAD;AAHH,WAAD,CAAhB;AAKD;AACF;AACF,KA3JuC;;AAEtC,SAAKM,KAAL,GAAaZ,cAAc,CAACa,YAA5B;AACD;;AAEDC,EAAAA,iBAAiB,GAAG;AAClB,UAAM;AAAEC,MAAAA,MAAF;AAAUC,MAAAA;AAAV,QAAqB,KAAKd,KAAhC;AACA,UAAMe,OAAO,GAAGC,QAAQ,CAACC,aAAT,CAAuB,uBAAvB,CAAhB;;AACA,QAAI,CAAAJ,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEK,UAAR,MAAuB,IAAvB,IAA+B,CAAAL,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEK,UAAR,MAAuBC,SAA1D,EAAqE;AACnE,WAAKC,OAAL,GAAe,IAAI1B,UAAU,CAAC2B,gBAAf,CAAgCN,OAAhC,EAAyC;AACtDO,QAAAA,eAAe,EAAE,yBADqC;AAEtD,WAAGT;AAFmD,OAAzC,CAAf;AAID,KALD,MAKO;AACL,WAAKO,OAAL,GAAe,IAAI1B,UAAU,CAAC6B,MAAf,CAAsBR,OAAtB,EAA+B;AAC5CO,QAAAA,eAAe,EAAE,yBAD2B;AAE5C,WAAGT,MAFyC;AAG5CW,QAAAA,EAAE,EAAE;AACFC,UAAAA,KAAK,EAAE;AADL;AAHwC,OAA/B,CAAf;AAOD;;AACD,SAAKL,OAAL,CAAaM,qBAAb;;AACA,SAAKN,OAAL,CAAaN,MAAb,GAAsBA,MAAtB;AACA,SAAKa,iBAAL;AACD;;AAEDC,EAAAA,oBAAoB,GAAG;AACrB,QAAI,KAAKR,OAAT,EAAkB;AAChB,WAAKA,OAAL,CAAaS,OAAb;AACD;AACF;;AAEMC,EAAAA,IAAI,CAACC,IAAD,EAAqB;AAC9B,QAAIC,KAAK,CAACD,IAAD,CAAT,EAAiB;AACf,YAAM,IAAIE,KAAJ,CAAU,gCAAV,CAAN;AACD;;AACD,QAAI,KAAKb,OAAT,EAAkB;AAChB,WAAKA,OAAL,CAAac,WAAb,GAA2BH,IAAI,GAAG,GAAlC;AACD;AACF;;AAEOI,EAAAA,KAAK,GAAG;AACd,SAAKC,QAAL,CAActC,cAAc,CAACa,YAA7B;AACD;;AAED0B,EAAAA,kBAAkB,CAACC,SAAD,EAA2C;AAC3D,QAAI,CAAC,KAAKlB,OAAV,EAAmB;AACjB;AACD,KAH0D,CAI3D;;;AACA,UAAM;AAAEmB,MAAAA,MAAF;AAAUC,MAAAA,MAAV;AAAkBC,MAAAA,iBAAlB;AAAqCC,MAAAA,kBAArC;AAAyDC,MAAAA,kBAAzD;AAA6E7B,MAAAA,MAA7E;AAAqF8B,MAAAA,KAArF;AAA4FC,MAAAA,YAA5F;AAA0GC,MAAAA;AAA1G,QAAyH,KAAK9C,KAApI;AACA,UAAM;AACJuC,MAAAA,MAAM,EAAEQ,SADJ;AAEJN,MAAAA,iBAAiB,EAAEO,qBAFf;AAGJN,MAAAA,kBAAkB,EAAEO,sBAHhB;AAIJN,MAAAA,kBAAkB,EAAEO,sBAJhB;AAKJpC,MAAAA,MAAM,EAAEqC,UALJ;AAMJP,MAAAA,KAAK,EAAEQ,QANH;AAOJP,MAAAA,YAAY,EAAEQ,gBAPV;AAQJP,MAAAA,UAAU,EAAEQ,aARR;AASJd,MAAAA,MAAM,EAAEe;AATJ,QAUFjB,SAVJ;;AAYA,QAAIxB,MAAM,KAAKqC,UAAf,EAA2B;AACzB,WAAK/B,OAAL,CAAaN,MAAb,GAAsBA,MAAtB;AACD;;AACD,QAAIyB,MAAM,KAAKQ,SAAf,EAA0B;AACxB,UAAIR,MAAJ,EAAY;AACV,aAAKnB,OAAL,CAAaoC,KAAb;AACD,OAFD,MAEO;AACL,aAAKpC,OAAL,CAAaqC,IAAb;AACD;AACF;;AACD,QAAIb,KAAK,KAAKQ,QAAd,EAAwB;AACtB,WAAKhC,OAAL,CAAawB,KAAb,GAAqBc,OAAO,CAACd,KAAD,CAA5B;AACD;;AACD,QAAIJ,MAAM,KAAKe,UAAf,EAA2B;AACzB,WAAKnC,OAAL,CAAaoB,MAAb,GAAsBmB,MAAM,CAACnB,MAAD,CAA5B;AACD;;AACD,QAAIM,UAAU,KAAKQ,aAAnB,EAAkC;AAChC,YAAM;AAAEM,QAAAA,6BAAF;AAAiCC,QAAAA;AAAjC,UAAmE,KAAK7D,KAA9E;AACA,YAAM8D,YAAY,GAAG9C,QAAQ,CAAC+C,cAAT,CAAwB,KAAxB,CAArB;;AACA,UAAIjB,UAAJ,EAAgB;AACd,YAAIc,6BAAJ,EAAmC;AACjCA,UAAAA,6BAA6B;AAC9B;;AACDE,QAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEE,iBAAd,GAAkCC,IAAlC;AACD,OALD,MAKO;AACL,YAAIJ,6BAAJ,EAAmC;AACjCA,UAAAA,6BAA6B;AAC9B;;AACD7C,QAAAA,QAAQ,CAACkD,cAAT,GAA0BD,IAA1B;AACD;AACF;;AACD,QAAIpB,YAAY,IAAIA,YAAY,KAAKQ,gBAArC,EAAuD;AACrD,WAAKjC,OAAL,CAAayB,YAAb,GAA4BA,YAA5B;AACD;;AACD,QAAIJ,iBAAiB,KAAKO,qBAA1B,EAAiD;AAC/C,WAAK5B,OAAL,CAAa+C,UAAb,CAAwBC,OAAxB,CAAiCC,SAAD,IAAgC;AAC9DA,QAAAA,SAAS,CAACC,IAAV,GAAiBD,SAAS,CAAC7D,GAAV,KAAkBiC,iBAAlB,GAAsC,SAAtC,GAAkD,UAAnE;AACD,OAFD;AAGD;;AACD,QAAIC,kBAAkB,KAAKO,sBAA3B,EAAmD;AACjD,WAAK7B,OAAL,CAAamD,WAAb,CAAyBH,OAAzB,CAAkCI,UAAD,IAAkC;AACjEA,QAAAA,UAAU,CAACC,OAAX,GAAqBD,UAAU,CAAChE,GAAX,KAAmBkC,kBAAxC;AACD,OAFD;AAGD;;AACD,QAAIC,kBAAkB,KAAKO,sBAA3B,EAAmD;AACjD,WAAK9B,OAAL,CAAasD,WAAb,CAAyBN,OAAzB,CAAkCO,UAAD,IAAkC;AACjEA,QAAAA,UAAU,CAACF,OAAX,GAAqBE,UAAU,CAACnE,GAAX,KAAmBmC,kBAAxC;AACD,OAFD;AAGD;AACF;;AAEOiC,EAAAA,yBAAyB,CAACC,WAAD,EAAuB;AACtD,UAAM;AAAEA,MAAAA,WAAW,EAAEC,YAAf;AAA6BC,MAAAA;AAA7B,QAAuC,KAAKrE,KAAlD;AACA,UAAM;AAAE6B,MAAAA;AAAF,QAAa,KAAKvC,KAAxB,CAFsD,CAItD;;AACA,UAAMgF,cAAc,GAAGH,WAAW,IAAI,CAACE,KAAhB,IAAyB,CAACxC,MAAjD;AACA,SAAKH,QAAL,CAAc;AAAEyC,MAAAA,WAAW,EAAEG;AAAf,KAAd,EANsD,CAQtD;;AACA,QAAIA,cAAc,KAAKF,YAAnB,IAAmC,KAAK9E,KAAL,CAAWiF,sBAAlD,EAA0E;AACxE,WAAKjF,KAAL,CAAWiF,sBAAX,CAAkCD,cAAlC;AACD;AACF;;AA8BOrD,EAAAA,iBAAiB,GAAG;AAC1B,UAAMuD,MAAM,GAAG,KAAK9D,OAApB;;AACA,QAAI,CAAC8D,MAAL,EAAa;AACX;AACD;;AAEDA,IAAAA,MAAM,CAACC,gBAAP,CAAwB,cAAxB,EAAwC,MAAM;AAC5C,YAAM;AAAEC,QAAAA,cAAF;AAAkB7C,QAAAA;AAAlB,UAA6B,KAAKvC,KAAxC;AAEA,WAAKmC,KAAL;;AACA,UAAI,CAACI,MAAL,EAAa;AACX2C,QAAAA,MAAM,CAACzB,IAAP;AACD;;AACD,UAAI2B,cAAJ,EAAoB;AAClBA,QAAAA,cAAc;AACf;AACF,KAVD;AAYAF,IAAAA,MAAM,CAACC,gBAAP,CAAwB,WAAxB,EAAqC,MAAM;AACzC;AACA,WAAKP,yBAAL,CAA+B,IAA/B;AAEA,YAAM;AAAES,QAAAA;AAAF,UAAkB,KAAKrF,KAA7B;;AACA,UAAIqF,WAAJ,EAAiB;AACfA,QAAAA,WAAW;AACZ;AACF,KARD;AAUAH,IAAAA,MAAM,CAACC,gBAAP,CAAwB,YAAxB,EAAsC,MAAM;AAC1C,YAAM;AAAEG,QAAAA;AAAF,UAAmB,KAAKtF,KAA9B;;AACA,UAAIsF,YAAJ,EAAkB;AAChBA,QAAAA,YAAY;AACb;AACF,KALD;AAOAJ,IAAAA,MAAM,CAACC,gBAAP,CAAwB,gBAAxB,EAA0C,MAAM;AAC9C,YAAM;AAAEI,QAAAA;AAAF,UAAuB,KAAKvF,KAAlC;;AACA,UAAIuF,gBAAJ,EAAsB;AAAA;;AACpBA,QAAAA,gBAAgB,CAAC;AACfpB,UAAAA,UAAU,EAAEe,MAAM,CAACf,UAAP,CAAkBqB,GAAlB,CAAuBnB,SAAD,IAAgCxE,mBAAmB,CAACwE,SAAD,CAAzE,CADG;AAEfE,UAAAA,WAAW,EAAEW,MAAM,CAACX,WAAP,CAAmBiB,GAAnB,CAAwBhB,UAAD,IAAkC5E,oBAAoB,CAAC4E,UAAD,CAA7E,CAFE;AAGfE,UAAAA,WAAW,EAAEQ,MAAM,CAACR,WAAP,CAAmBc,GAAnB,CAAwBb,UAAD,IAAkC/E,oBAAoB,CAAC+E,UAAD,CAA7E,CAHE;AAIfc,UAAAA,QAAQ,EAAE,OAAOP,MAAM,CAACO,QAJT;AAKfhD,UAAAA,iBAAiB,2BAAEyC,MAAM,CAACf,UAAP,CAAkBuB,IAAlB,CAAwBzF,KAAD,IAA4BA,KAAK,CAACqE,IAAN,KAAe,SAAlE,CAAF,0DAAE,sBAA8E9D,GALlF;AAMfmC,UAAAA,kBAAkB,2BAAEuC,MAAM,CAACR,WAAP,CAAmBgB,IAAnB,CAAyBzF,KAAD,IAA6BA,KAAK,CAACwE,OAA3D,CAAF,0DAAE,sBAAqEjE,GAN1E;AAOfkC,UAAAA,kBAAkB,2BAAEwC,MAAM,CAACX,WAAP,CAAmBmB,IAAnB,CAAyBzF,KAAD,IAA6BA,KAAK,CAACwE,OAA3D,CAAF,0DAAE,sBAAqEjE;AAP1E,SAAD,CAAhB;AASD;AACF,KAbD;AAeA0E,IAAAA,MAAM,CAACC,gBAAP,CAAwB,OAAxB,EAAkCjF,KAAD,IAAW;AAC1C,YAAM;AAAEyF,QAAAA;AAAF,UAAkBzF,KAAxB;AACA,YAAM6E,KAAK,GAAG;AACZa,QAAAA,SAAS,EAAED,WAAW,CAACE,IAAZ,CAAiBC,QAAjB,EADC;AAEZC,QAAAA,YAAY,EAAEJ,WAAW,CAACK;AAFd,OAAd;AAIA,WAAK5D,QAAL,CAAc;AAAE2C,QAAAA;AAAF,OAAd,EAN0C,CAQ1C;;AACA,WAAKH,yBAAL,CAA+B,KAA/B;AAEA,YAAM;AAAEqB,QAAAA;AAAF,UAAc,KAAKjG,KAAzB;;AACA,UAAIiG,OAAJ,EAAa;AACXA,QAAAA,OAAO,CAAC;AAAElB,UAAAA;AAAF,SAAD,CAAP;AACD;AACF,KAfD;AAiBAG,IAAAA,MAAM,CAACC,gBAAP,CAAwB,UAAxB,EAAoC,MAAM;AACxC,YAAM;AAAEe,QAAAA;AAAF,UAAiB,KAAKlG,KAA5B;;AACA,UAAIkG,UAAJ,EAAgB;AACd,cAAMC,QAAqB,GAAG,EAA9B;;AACA,aAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGlB,MAAM,CAACiB,QAAP,CAAgBE,MAApC,EAA4CD,CAAC,EAA7C,EAAiD;AAC/CD,UAAAA,QAAQ,CAACG,IAAT,CAAc;AACZC,YAAAA,KAAK,EAAErB,MAAM,CAACiB,QAAP,CAAgBI,KAAhB,CAAsBH,CAAtB,IAA2B,GADtB;AAEZI,YAAAA,GAAG,EAAEtB,MAAM,CAACiB,QAAP,CAAgBK,GAAhB,CAAoBJ,CAApB,IAAyB;AAFlB,WAAd;AAID;;AACDF,QAAAA,UAAU,CAAC;AAAEC,UAAAA;AAAF,SAAD,CAAV;AACD;AACF,KAZD;AAcAjB,IAAAA,MAAM,CAACC,gBAAP,CAAwB,MAAxB,EAAgC,MAAM;AACpC,YAAM;AAAEsB,QAAAA;AAAF,UAAa,KAAKzG,KAAxB;;AACA,UAAIyG,MAAJ,EAAY;AACVA,QAAAA,MAAM;AACP;AACF,KALD;AAOAvB,IAAAA,MAAM,CAACC,gBAAP,CAAwB,SAAxB,EAAmC,MAAM;AACvC,YAAM;AAAEuB,QAAAA;AAAF,UAAgB,KAAK1G,KAA3B;;AACA,UAAI0G,SAAJ,EAAe;AACbA,QAAAA,SAAS;AACV;AACF,KALD;AAOAxB,IAAAA,MAAM,CAACC,gBAAP,CAAwB,OAAxB,EAAiC,MAAM;AACrC,YAAM;AAAEwB,QAAAA;AAAF,UAAc,KAAK3G,KAAzB;;AACA,UAAI2G,OAAJ,EAAa;AACXA,QAAAA,OAAO;AACR;AACF,KALD;AAOAzB,IAAAA,MAAM,CAACC,gBAAP,CAAwB,SAAxB,EAAmC,MAAM;AACvC,YAAM;AAAEyB,QAAAA;AAAF,UAAgB,KAAK5G,KAA3B;;AACA,UAAI4G,SAAJ,EAAe;AACbA,QAAAA,SAAS;AACV;AACF,KALD;AAOA1B,IAAAA,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkC,MAAM;AACtC,YAAM;AAAE0B,QAAAA;AAAF,UAAe,KAAK7G,KAA1B;;AACA,UAAI6G,QAAJ,EAAc;AACZA,QAAAA,QAAQ;AACT;AACF,KALD;AAOA3B,IAAAA,MAAM,CAACC,gBAAP,CAAwB,OAAxB,EAAiC,MAAM;AACrC,YAAM;AAAE2B,QAAAA;AAAF,UAAc,KAAK9G,KAAzB;;AACA,UAAI8G,OAAJ,EAAa;AACXA,QAAAA,OAAO;AACR;AACF,KALD;AAOA5B,IAAAA,MAAM,CAACC,gBAAP,CAAwB,kBAAxB,EAA6CjF,KAAD,IAAwC;AAClF;AACA,WAAK0E,yBAAL,CAA+B1E,KAAK,CAAC6G,UAAN,GAAmB,CAAlD;AAEA,YAAM;AAAEC,QAAAA;AAAF,UAAyB,KAAKhH,KAApC;;AACA,UAAIgH,kBAAJ,EAAwB;AACtBA,QAAAA,kBAAkB,CAAC;AAAED,UAAAA,UAAU,EAAE7G,KAAK,CAAC6G;AAApB,SAAD,CAAlB;AACD;AACF,KARD;AAUA7B,IAAAA,MAAM,CAACC,gBAAP,CAAwB,YAAxB,EAAsC,MAAM;AAC1C,YAAM;AAAE8B,QAAAA;AAAF,UAAmB,KAAKjH,KAA9B;;AACA,UAAIiH,YAAJ,EAAkB;AAAA;;AAChBA,QAAAA,YAAY,CAAC;AACX/E,UAAAA,WAAW,EAAEgD,MAAM,CAAChD,WAAP,GAAqB,GADvB;AAEXgF,UAAAA,sBAAsB,2BAAEhC,MAAM,CAACgC,sBAAT,0DAAE,sBAA+BC,OAA/B;AAFb,SAAD,CAAZ;AAID;AACF,KARD;AASAjC,IAAAA,MAAM,CAACC,gBAAP,CAAwB,gBAAxB,EAA2CjF,KAAD,IAAW;AACnD,YAAM;AAAEkH,QAAAA;AAAF,UAAuB,KAAKpH,KAAlC;;AACA,UAAIoH,gBAAJ,EAAsB;AACpBA,QAAAA,gBAAgB,CAAC;AACf3B,UAAAA,QAAQ,EAAEvF,KAAK,CAACuF,QAAN,GAAiB;AADZ,SAAD,CAAhB;AAGD;AACF,KAPD;AAQAP,IAAAA,MAAM,CAACC,gBAAP,CAAwB,iBAAxB,EAA2C,MAAM;AAC/C,YAAM;AAAEkC,QAAAA;AAAF,UAAwB,KAAKrH,KAAnC;;AACA,UAAIqH,iBAAJ,EAAuB;AACrBA,QAAAA,iBAAiB,CAAC;AAChBC,UAAAA,gBAAgB,EAAE,CADF;AAEhBvC,UAAAA,KAAK,EAAE,mBAFS;AAGhBwC,UAAAA,UAAU,EAAE,CAAC;AAHG,SAAD,CAAjB;AAKD;AACF,KATD;AAUArC,IAAAA,MAAM,CAACsC,YAAP,CAAoBrC,gBAApB,CAAqC,wBAArC,EAAgEjF,KAAD,IAAwC;AACrG,YAAM;AAAEuH,QAAAA;AAAF,UAAuBvH,KAA7B;AACA,YAAM;AAAEwH,QAAAA,4BAAF;AAAgCC,QAAAA;AAAhC,UAAiE,KAAK3H,KAA5E;;AACA,UAAIyH,gBAAgB,KAAK,YAAzB,EAAuC;AACrC,YAAIC,4BAAJ,EAAkC;AAChCA,UAAAA,4BAA4B;AAC7B;AACF,OAJD,MAIO,IAAID,gBAAgB,KAAK,QAAzB,EAAmC;AACxC,YAAIE,4BAAJ,EAAkC;AAChCA,UAAAA,4BAA4B;AAC7B;AACF;AACF,KAZD;AAaAzC,IAAAA,MAAM,CAACf,UAAP,CAAkBgB,gBAAlB,CAAmC,UAAnC,EAAgDjF,KAAD,IAA0B;AACvE,YAAM;AAAE0H,QAAAA;AAAF,UAA2B,KAAK5H,KAAtC;AACA,YAAMC,KAAK,GAAGC,KAAK,CAACD,KAApB;AACAA,MAAAA,KAAK,CAACkF,gBAAN,CAAuB,QAAvB,EAAiC,KAAK0C,iBAAL,CAAuB5H,KAAvB,CAAjC;AACAA,MAAAA,KAAK,CAACkF,gBAAN,CAAuB,WAAvB,EAAoC,KAAK2C,oBAAL,CAA0B7H,KAA1B,CAApC;;AAEA,UAAI2H,oBAAJ,EAA0B;AACxBA,QAAAA,oBAAoB,CAAC;AACnBvH,UAAAA,IAAI,EAAEZ,kBAAkB,CAACsI,QADN;AAEnB9H,UAAAA,KAAK,EAAEA;AAFY,SAAD,CAApB;AAID;AACF,KAZD;AAaAiF,IAAAA,MAAM,CAACf,UAAP,CAAkBgB,gBAAlB,CAAmC,aAAnC,EAAmDjF,KAAD,IAA6B;AAC7E,YAAM;AAAE0H,QAAAA;AAAF,UAA2B,KAAK5H,KAAtC;AACA,YAAMC,KAAK,GAAGC,KAAK,CAACD,KAApB;AACAA,MAAAA,KAAK,CAAC+H,mBAAN,CAA0B,QAA1B,EAAoC,KAAKH,iBAAL,CAAuB5H,KAAvB,CAApC;AACAA,MAAAA,KAAK,CAAC+H,mBAAN,CAA0B,WAA1B,EAAuC,KAAKF,oBAAL,CAA0B7H,KAA1B,CAAvC;;AAEA,UAAI2H,oBAAJ,EAA0B;AACxBA,QAAAA,oBAAoB,CAAC;AACnBvH,UAAAA,IAAI,EAAEZ,kBAAkB,CAACwI,WADN;AAEnBhI,UAAAA,KAAK,EAAEC,KAAK,CAACD;AAFM,SAAD,CAApB;AAID;AACF,KAZD;AAaD;;AAEMiI,EAAAA,MAAM,GAAgB;AAC3B,UAAM;AAAErH,MAAAA;AAAF,QAAa,KAAKb,KAAxB;AACA,UAAMkB,UAAU,GAAG,CAAAL,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEK,UAAR,MAAuBC,SAAvB,IAAoC,CAAAN,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEK,UAAR,MAAuB,IAA9E;AAEA,wBACE;AAAK,MAAA,EAAE,EAAE;AAAT,oBACE;AAAK,MAAA,SAAS,EAAEA,UAAU,GAAG,sBAAH,GAA4B;AAAtD,MADF,CADF;AAKD;;AAvX4F;;gBAAlFpB,c,kBAG2C;AACpD+E,EAAAA,WAAW,EAAE,KADuC;AAEpDE,EAAAA,KAAK,EAAE5D;AAF6C,C","sourcesContent":["import React, { PureComponent } from 'react';\n\nimport type { PlayerError, TextTrack, THEOplayerViewProps, TimeRange } from 'react-native-theoplayer';\nimport { TextTrackEventType, TrackListEventType } from 'react-native-theoplayer';\nimport type { Event, TextTrackCue as NativeTextTrackCue } from 'theoplayer';\n\nimport type {\n AddTrackEvent,\n MediaTrack as NativeMediaTrack,\n PresentationModeChangeEvent,\n ReadyStateChangeEvent as NativeReadyStateChangeEvent,\n RemoveTrackEvent,\n TextTrack as NativeTextTrack,\n} from 'theoplayer';\nimport * as THEOplayer from 'theoplayer';\nimport { fromNativeCue, fromNativeMediaTrack, fromNativeTextTrack } from './web/TrackUtils';\n\ninterface THEOplayerRCTViewState {\n isBuffering: boolean;\n error?: PlayerError;\n}\n\nexport class THEOplayerView extends PureComponent<THEOplayerViewProps, THEOplayerRCTViewState> {\n private _player: THEOplayer.ChromelessPlayer | null = null;\n\n private static initialState: THEOplayerRCTViewState = {\n isBuffering: false,\n error: undefined,\n };\n\n constructor(props: THEOplayerViewProps) {\n super(props);\n this.state = THEOplayerView.initialState;\n }\n\n componentDidMount() {\n const { config, source } = this.props;\n const element = document.querySelector('.theoplayer-container') as HTMLElement;\n if (config?.chromeless === true || config?.chromeless === undefined) {\n this._player = new THEOplayer.ChromelessPlayer(element, {\n libraryLocation: 'node_modules/theoplayer',\n ...config,\n });\n } else {\n this._player = new THEOplayer.Player(element, {\n libraryLocation: 'node_modules/theoplayer',\n ...config,\n ui: {\n fluid: true,\n },\n });\n }\n this._player.prepareWithUserAction();\n this._player.source = source;\n this.addEventListeners();\n }\n\n componentWillUnmount() {\n if (this._player) {\n this._player.destroy();\n }\n }\n\n public seek(time: number): void {\n if (isNaN(time)) {\n throw new Error('Specified time is not a number');\n }\n if (this._player) {\n this._player.currentTime = time / 1e3;\n }\n }\n\n private reset() {\n this.setState(THEOplayerView.initialState);\n }\n\n componentDidUpdate(prevProps: Readonly<THEOplayerViewProps>) {\n if (!this._player) {\n return;\n }\n // track property changes\n const { paused, volume, selectedTextTrack, selectedAudioTrack, selectedVideoTrack, source, muted, playbackRate, fullscreen } = this.props;\n const {\n paused: wasPaused,\n selectedTextTrack: prevSelectedTextTrack,\n selectedAudioTrack: prevSelectedAudioTrack,\n selectedVideoTrack: prevSelectedVideoTrack,\n source: prevSource,\n muted: wasMuted,\n playbackRate: prevPlaybackRate,\n fullscreen: wasFullscreen,\n volume: prevVolume,\n } = prevProps;\n\n if (source !== prevSource) {\n this._player.source = source;\n }\n if (paused !== wasPaused) {\n if (paused) {\n this._player.pause();\n } else {\n this._player.play();\n }\n }\n if (muted !== wasMuted) {\n this._player.muted = Boolean(muted);\n }\n if (volume !== prevVolume) {\n this._player.volume = Number(volume);\n }\n if (fullscreen !== wasFullscreen) {\n const { onFullscreenPlayerWillPresent, onFullscreenPlayerWillDismiss } = this.props;\n const appContainer = document.getElementById('app');\n if (fullscreen) {\n if (onFullscreenPlayerWillPresent) {\n onFullscreenPlayerWillPresent();\n }\n appContainer?.requestFullscreen().then();\n } else {\n if (onFullscreenPlayerWillDismiss) {\n onFullscreenPlayerWillDismiss();\n }\n document.exitFullscreen().then();\n }\n }\n if (playbackRate && playbackRate !== prevPlaybackRate) {\n this._player.playbackRate = playbackRate;\n }\n if (selectedTextTrack !== prevSelectedTextTrack) {\n this._player.textTracks.forEach((textTrack: NativeTextTrack) => {\n textTrack.mode = textTrack.uid === selectedTextTrack ? 'showing' : 'disabled';\n });\n }\n if (selectedAudioTrack !== prevSelectedAudioTrack) {\n this._player.audioTracks.forEach((audioTrack: NativeMediaTrack) => {\n audioTrack.enabled = audioTrack.uid === selectedAudioTrack;\n });\n }\n if (selectedVideoTrack !== prevSelectedVideoTrack) {\n this._player.videoTracks.forEach((videoTrack: NativeMediaTrack) => {\n videoTrack.enabled = videoTrack.uid === selectedVideoTrack;\n });\n }\n }\n\n private maybeChangeBufferingState(isBuffering: boolean) {\n const { isBuffering: wasBuffering, error } = this.state;\n const { paused } = this.props;\n\n // do not change state to buffering in case of an error or if the player is paused\n const newIsBuffering = isBuffering && !error && !paused;\n this.setState({ isBuffering: newIsBuffering });\n\n // notify change in buffering state\n if (newIsBuffering !== wasBuffering && this.props.onBufferingStateChange) {\n this.props.onBufferingStateChange(newIsBuffering);\n }\n }\n\n private onAddTextTrackCue = (track: NativeTextTrack) => (event: Event<'addcue'>) => {\n const { onTextTrackEvent } = this.props;\n if (onTextTrackEvent) {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n onTextTrackEvent({\n type: TextTrackEventType.AddCue,\n trackUid: track.uid,\n cue: fromNativeCue(cue),\n });\n }\n }\n };\n\n private onRemoveTextTrackCue = (track: NativeTextTrack) => (event: Event<'removecue'>) => {\n const { onTextTrackEvent } = this.props;\n if (onTextTrackEvent) {\n const { cue } = event as unknown as { cue: NativeTextTrackCue };\n if (cue) {\n onTextTrackEvent({\n type: TextTrackEventType.RemoveCue,\n trackUid: track.uid,\n cue: fromNativeCue(cue),\n });\n }\n }\n };\n\n private addEventListeners() {\n const player = this._player;\n if (!player) {\n return;\n }\n\n player.addEventListener('sourcechange', () => {\n const { onSourceChange, paused } = this.props;\n\n this.reset();\n if (!paused) {\n player.play();\n }\n if (onSourceChange) {\n onSourceChange();\n }\n });\n\n player.addEventListener('loadstart', () => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(true);\n\n const { onLoadStart } = this.props;\n if (onLoadStart) {\n onLoadStart();\n }\n });\n\n player.addEventListener('loadeddata', () => {\n const { onLoadedData } = this.props;\n if (onLoadedData) {\n onLoadedData();\n }\n });\n\n player.addEventListener('loadedmetadata', () => {\n const { onLoadedMetadata } = this.props;\n if (onLoadedMetadata) {\n onLoadedMetadata({\n textTracks: player.textTracks.map((textTrack: NativeTextTrack) => fromNativeTextTrack(textTrack)),\n audioTracks: player.audioTracks.map((audioTrack: NativeMediaTrack) => fromNativeMediaTrack(audioTrack)),\n videoTracks: player.videoTracks.map((videoTrack: NativeMediaTrack) => fromNativeMediaTrack(videoTrack)),\n duration: 1e03 * player.duration,\n selectedTextTrack: player.textTracks.find((track: NativeTextTrack) => track.mode === 'showing')?.uid,\n selectedVideoTrack: player.videoTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,\n selectedAudioTrack: player.audioTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,\n });\n }\n });\n\n player.addEventListener('error', (event) => {\n const { errorObject } = event;\n const error = {\n errorCode: errorObject.code.toString(),\n errorMessage: errorObject.message,\n };\n this.setState({ error });\n\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(false);\n\n const { onError } = this.props;\n if (onError) {\n onError({ error });\n }\n });\n\n player.addEventListener('progress', () => {\n const { onProgress } = this.props;\n if (onProgress) {\n const seekable: TimeRange[] = [];\n for (let i = 0; i < player.seekable.length; i++) {\n seekable.push({\n start: player.seekable.start(i) * 1e3,\n end: player.seekable.end(i) * 1e3,\n });\n }\n onProgress({ seekable });\n }\n });\n\n player.addEventListener('play', () => {\n const { onPlay } = this.props;\n if (onPlay) {\n onPlay();\n }\n });\n\n player.addEventListener('playing', () => {\n const { onPlaying } = this.props;\n if (onPlaying) {\n onPlaying();\n }\n });\n\n player.addEventListener('pause', () => {\n const { onPause } = this.props;\n if (onPause) {\n onPause();\n }\n });\n\n player.addEventListener('seeking', () => {\n const { onSeeking } = this.props;\n if (onSeeking) {\n onSeeking();\n }\n });\n\n player.addEventListener('seeked', () => {\n const { onSeeked } = this.props;\n if (onSeeked) {\n onSeeked();\n }\n });\n\n player.addEventListener('ended', () => {\n const { onEnded } = this.props;\n if (onEnded) {\n onEnded();\n }\n });\n\n player.addEventListener('readystatechange', (event: NativeReadyStateChangeEvent) => {\n // potentially notify change in buffering state\n this.maybeChangeBufferingState(event.readyState < 3);\n\n const { onReadyStateChange } = this.props;\n if (onReadyStateChange) {\n onReadyStateChange({ readyState: event.readyState });\n }\n });\n\n player.addEventListener('timeupdate', () => {\n const { onTimeUpdate } = this.props;\n if (onTimeUpdate) {\n onTimeUpdate({\n currentTime: player.currentTime * 1e3,\n currentProgramDateTime: player.currentProgramDateTime?.getTime(),\n });\n }\n });\n player.addEventListener('durationchange', (event) => {\n const { onDurationChange } = this.props;\n if (onDurationChange) {\n onDurationChange({\n duration: event.duration * 1e3,\n });\n }\n });\n player.addEventListener('segmentnotfound', () => {\n const { onSegmentNotFound } = this.props;\n if (onSegmentNotFound) {\n onSegmentNotFound({\n segmentStartTime: 0,\n error: 'Segment not found',\n retryCount: -1,\n });\n }\n });\n player.presentation.addEventListener('presentationmodechange', (event: PresentationModeChangeEvent) => {\n const { presentationMode } = event;\n const { onFullscreenPlayerDidPresent, onFullscreenPlayerDidDismiss } = this.props;\n if (presentationMode === 'fullscreen') {\n if (onFullscreenPlayerDidPresent) {\n onFullscreenPlayerDidPresent();\n }\n } else if (presentationMode === 'inline') {\n if (onFullscreenPlayerDidDismiss) {\n onFullscreenPlayerDidDismiss();\n }\n }\n });\n player.textTracks.addEventListener('addtrack', (event: AddTrackEvent) => {\n const { onTextTrackListEvent } = this.props;\n const track = event.track as NativeTextTrack;\n track.addEventListener('addcue', this.onAddTextTrackCue(track));\n track.addEventListener('removecue', this.onRemoveTextTrackCue(track));\n\n if (onTextTrackListEvent) {\n onTextTrackListEvent({\n type: TrackListEventType.AddTrack,\n track: track as TextTrack,\n });\n }\n });\n player.textTracks.addEventListener('removetrack', (event: RemoveTrackEvent) => {\n const { onTextTrackListEvent } = this.props;\n const track = event.track as NativeTextTrack;\n track.removeEventListener('addcue', this.onAddTextTrackCue(track));\n track.removeEventListener('removecue', this.onRemoveTextTrackCue(track));\n\n if (onTextTrackListEvent) {\n onTextTrackListEvent({\n type: TrackListEventType.RemoveTrack,\n track: event.track as unknown as TextTrack,\n });\n }\n });\n }\n\n public render(): JSX.Element {\n const { config } = this.props;\n const chromeless = config?.chromeless === undefined || config?.chromeless === true;\n\n return (\n <div id={'theoplayer-wrapper'}>\n <div className={chromeless ? 'theoplayer-container' : 'theoplayer-container video-js theoplayer-skin'} />\n </div>\n );\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -227,7 +227,7 @@ export class THEOplayerView extends PureComponent<THEOplayerViewProps, THEOplaye
|
|
|
227
227
|
textTracks: player.textTracks.map((textTrack: NativeTextTrack) => fromNativeTextTrack(textTrack)),
|
|
228
228
|
audioTracks: player.audioTracks.map((audioTrack: NativeMediaTrack) => fromNativeMediaTrack(audioTrack)),
|
|
229
229
|
videoTracks: player.videoTracks.map((videoTrack: NativeMediaTrack) => fromNativeMediaTrack(videoTrack)),
|
|
230
|
-
duration: player.duration,
|
|
230
|
+
duration: 1e03 * player.duration,
|
|
231
231
|
selectedTextTrack: player.textTracks.find((track: NativeTextTrack) => track.mode === 'showing')?.uid,
|
|
232
232
|
selectedVideoTrack: player.videoTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,
|
|
233
233
|
selectedAudioTrack: player.audioTracks.find((track: NativeMediaTrack) => track.enabled)?.uid,
|
|
Binary file
|
|
Binary file
|