react-native-theoplayer 1.3.0 → 1.4.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 (97) hide show
  1. package/android/src/main/java/com/theoplayer/SourceHelper.java +18 -2
  2. package/ios/THEOplayerRCTBridge.m +2 -0
  3. package/ios/THEOplayerRCTView.swift +6 -3
  4. package/ios/THEOplayerRCTViewManager.swift +9 -1
  5. package/ios/Theoplayer-Bridging-Header.h +1 -0
  6. package/ios/style.css +5 -0
  7. package/lib/commonjs/api/THEOplayerView.js.map +1 -1
  8. package/lib/commonjs/api/barrel.js.map +1 -1
  9. package/lib/commonjs/api/config/PlayerConfiguration.js.map +1 -1
  10. package/lib/commonjs/api/config/barrel.js.map +1 -1
  11. package/lib/commonjs/api/error/PlayerError.js.map +1 -1
  12. package/lib/commonjs/api/error/barrel.js.map +1 -1
  13. package/lib/commonjs/api/event/PlayerEvent.js.map +1 -1
  14. package/lib/commonjs/api/event/TrackEvent.js.map +1 -1
  15. package/lib/commonjs/api/event/barrel.js.map +1 -1
  16. package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
  17. package/lib/commonjs/api/source/ads/Ads.js.map +1 -1
  18. package/lib/commonjs/api/source/barrel.js.map +1 -1
  19. package/lib/commonjs/api/source/dash/DashPlaybackConfiguration.js.map +1 -1
  20. package/lib/commonjs/api/source/dash/barrel.js.map +1 -1
  21. package/lib/commonjs/api/source/drm/DRMConfiguration.js.map +1 -1
  22. package/lib/commonjs/api/source/drm/barrel.js.map +1 -1
  23. package/lib/commonjs/api/source/hls/HlsPlaybackConfiguration.js.map +1 -1
  24. package/lib/commonjs/api/source/hls/barrel.js.map +1 -1
  25. package/lib/commonjs/api/timeranges/TimeRange.js.map +1 -1
  26. package/lib/commonjs/api/timeranges/barrel.js.map +1 -1
  27. package/lib/commonjs/api/track/MediaTrack.js.map +1 -1
  28. package/lib/commonjs/api/track/Quality.js.map +1 -1
  29. package/lib/commonjs/api/track/TextTrack.js.map +1 -1
  30. package/lib/commonjs/api/track/TextTrackCue.js.map +1 -1
  31. package/lib/commonjs/api/track/Track.js.map +1 -1
  32. package/lib/commonjs/api/track/barrel.js.map +1 -1
  33. package/lib/commonjs/index.js.map +1 -1
  34. package/lib/commonjs/internal/THEOplayerView.js +16 -1
  35. package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
  36. package/lib/commonjs/internal/THEOplayerView.style.js.map +1 -1
  37. package/lib/commonjs/internal/THEOplayerView.web.js.map +1 -1
  38. package/lib/commonjs/internal/web/TrackUtils.js.map +1 -1
  39. package/lib/module/api/THEOplayerView.js.map +1 -1
  40. package/lib/module/api/barrel.js.map +1 -1
  41. package/lib/module/api/config/PlayerConfiguration.js.map +1 -1
  42. package/lib/module/api/config/barrel.js.map +1 -1
  43. package/lib/module/api/error/PlayerError.js.map +1 -1
  44. package/lib/module/api/error/barrel.js.map +1 -1
  45. package/lib/module/api/event/PlayerEvent.js.map +1 -1
  46. package/lib/module/api/event/TrackEvent.js.map +1 -1
  47. package/lib/module/api/event/barrel.js.map +1 -1
  48. package/lib/module/api/source/SourceDescription.js.map +1 -1
  49. package/lib/module/api/source/ads/Ads.js.map +1 -1
  50. package/lib/module/api/source/barrel.js.map +1 -1
  51. package/lib/module/api/source/dash/DashPlaybackConfiguration.js.map +1 -1
  52. package/lib/module/api/source/dash/barrel.js.map +1 -1
  53. package/lib/module/api/source/drm/DRMConfiguration.js.map +1 -1
  54. package/lib/module/api/source/drm/barrel.js.map +1 -1
  55. package/lib/module/api/source/hls/HlsPlaybackConfiguration.js.map +1 -1
  56. package/lib/module/api/source/hls/barrel.js.map +1 -1
  57. package/lib/module/api/timeranges/TimeRange.js.map +1 -1
  58. package/lib/module/api/timeranges/barrel.js.map +1 -1
  59. package/lib/module/api/track/MediaTrack.js.map +1 -1
  60. package/lib/module/api/track/Quality.js.map +1 -1
  61. package/lib/module/api/track/TextTrack.js.map +1 -1
  62. package/lib/module/api/track/TextTrackCue.js.map +1 -1
  63. package/lib/module/api/track/Track.js.map +1 -1
  64. package/lib/module/api/track/barrel.js.map +1 -1
  65. package/lib/module/index.js.map +1 -1
  66. package/lib/module/internal/THEOplayerView.js +16 -2
  67. package/lib/module/internal/THEOplayerView.js.map +1 -1
  68. package/lib/module/internal/THEOplayerView.style.js.map +1 -1
  69. package/lib/module/internal/THEOplayerView.web.js.map +1 -1
  70. package/lib/module/internal/web/TrackUtils.js.map +1 -1
  71. package/lib/typescript/lib/commonjs/api/THEOplayerView.d.ts +1 -1
  72. package/lib/typescript/lib/commonjs/api/barrel.d.ts +1 -1
  73. package/lib/typescript/lib/commonjs/api/config/barrel.d.ts +1 -1
  74. package/lib/typescript/lib/commonjs/api/error/barrel.d.ts +1 -1
  75. package/lib/typescript/lib/commonjs/api/event/PlayerEvent.d.ts +1 -1
  76. package/lib/typescript/lib/commonjs/api/event/TrackEvent.d.ts +3 -3
  77. package/lib/typescript/lib/commonjs/api/event/barrel.d.ts +1 -1
  78. package/lib/typescript/lib/commonjs/api/source/SourceDescription.d.ts +1 -1
  79. package/lib/typescript/lib/commonjs/api/source/barrel.d.ts +1 -1
  80. package/lib/typescript/lib/commonjs/api/source/dash/barrel.d.ts +1 -1
  81. package/lib/typescript/lib/commonjs/api/source/drm/barrel.d.ts +1 -1
  82. package/lib/typescript/lib/commonjs/api/source/hls/barrel.d.ts +1 -1
  83. package/lib/typescript/lib/commonjs/api/timeranges/barrel.d.ts +1 -1
  84. package/lib/typescript/lib/commonjs/api/track/MediaTrack.d.ts +1 -1
  85. package/lib/typescript/lib/commonjs/api/track/TextTrack.d.ts +1 -1
  86. package/lib/typescript/lib/commonjs/api/track/barrel.d.ts +1 -1
  87. package/lib/typescript/lib/commonjs/index.d.ts +2 -2
  88. package/lib/typescript/lib/commonjs/internal/THEOplayerView.d.ts +3 -1
  89. package/lib/typescript/lib/commonjs/internal/THEOplayerView.style.d.ts +1 -1
  90. package/lib/typescript/lib/commonjs/internal/THEOplayerView.web.d.ts +1 -1
  91. package/lib/typescript/lib/commonjs/internal/web/TrackUtils.d.ts +1 -1
  92. package/lib/typescript/lib/module/internal/THEOplayerView.d.ts +5 -0
  93. package/lib/typescript/lib/module/internal/THEOplayerView.web.d.ts +8 -1
  94. package/lib/typescript/src/internal/THEOplayerView.d.ts +2 -0
  95. package/package.json +1 -1
  96. package/react-native-theoplayer.podspec +1 -0
  97. package/src/internal/THEOplayerView.tsx +15 -1
@@ -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: 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"]}
1
+ {"version":3,"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"],"sources":["THEOplayerView.web.tsx"],"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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["TrackUtils.ts"],"names":["fromNativeCue","cue","id","uid","startTime","endTime","content","fromNativeTextTrack","track","kind","label","language","mode","type","src","forced","cues","map","fromNativeMediaTrack","activeQuality","qualities","targetQuality"],"mappings":"AAGA,OAAO,SAASA,aAAT,CAAuBC,GAAvB,EAA8D;AACnE,SAAO;AACLC,IAAAA,EAAE,EAAED,GAAG,CAACC,EADH;AAELC,IAAAA,GAAG,EAAEF,GAAG,CAACE,GAFJ;AAGLC,IAAAA,SAAS,EAAE,MAAMH,GAAG,CAACG,SAHhB;AAILC,IAAAA,OAAO,EAAE,MAAMJ,GAAG,CAACI,OAJd;AAKLC,IAAAA,OAAO,EAAEL,GAAG,CAACK;AALR,GAAP;AAOD;AAED,OAAO,SAASC,mBAAT,CAA6BC,KAA7B,EAAgE;AACrE,QAAM;AAAEN,IAAAA,EAAF;AAAMC,IAAAA,GAAN;AAAWM,IAAAA,IAAX;AAAiBC,IAAAA,KAAjB;AAAwBC,IAAAA,QAAxB;AAAkCC,IAAAA,IAAlC;AAAwCC,IAAAA,IAAxC;AAA8CC,IAAAA,GAA9C;AAAmDC,IAAAA;AAAnD,MAA8DP,KAApE;AAEA,SAAO;AACLN,IAAAA,EADK;AAELC,IAAAA,GAFK;AAGLM,IAAAA,IAHK;AAILC,IAAAA,KAJK;AAKLC,IAAAA,QALK;AAMLC,IAAAA,IANK;AAOLC,IAAAA,IAPK;AAQLC,IAAAA,GARK;AASLC,IAAAA,MATK;AAULC,IAAAA,IAAI,EAAER,KAAK,CAACQ,IAAN,GAAaR,KAAK,CAACQ,IAAN,CAAWC,GAAX,CAAgBhB,GAAD,IAASD,aAAa,CAACC,GAAD,CAArC,CAAb,GAA2D;AAV5D,GAAP;AAYD;AAED,OAAO,SAASiB,oBAAT,CAA8BV,KAA9B,EAAmE;AACxE,QAAM;AAAEN,IAAAA,EAAF;AAAMC,IAAAA,GAAN;AAAWM,IAAAA,IAAX;AAAiBC,IAAAA,KAAjB;AAAwBC,IAAAA,QAAxB;AAAkCQ,IAAAA,aAAlC;AAAiDC,IAAAA,SAAjD;AAA4DC,IAAAA;AAA5D,MAA8Eb,KAApF;AAEA,SAAO;AACLC,IAAAA,IADK;AAELC,IAAAA,KAFK;AAGLC,IAAAA,QAHK;AAILT,IAAAA,EAJK;AAKLC,IAAAA,GALK;AAMLgB,IAAAA,aANK;AAOLC,IAAAA,SAPK;AAQLC,IAAAA;AARK,GAAP;AAUD","sourcesContent":["import type { TextTrackCue as NativeTextTrackCue, TextTrack as NativeTextTrack, MediaTrack as NativeMediaTrack } from 'theoplayer';\nimport type { TextTrack, TextTrackCue, MediaTrack } from 'react-native-theoplayer';\n\nexport function fromNativeCue(cue: NativeTextTrackCue): TextTrackCue {\n return {\n id: cue.id,\n uid: cue.uid,\n startTime: 1e3 * cue.startTime,\n endTime: 1e3 * cue.endTime,\n content: cue.content,\n } as TextTrackCue;\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 fromNativeMediaTrack(track: NativeMediaTrack): MediaTrack {\n const { id, uid, kind, label, language, activeQuality, qualities, targetQuality } = track;\n\n return {\n kind,\n label,\n language,\n id,\n uid,\n activeQuality,\n qualities,\n targetQuality,\n } as MediaTrack;\n}\n"]}
1
+ {"version":3,"names":["fromNativeCue","cue","id","uid","startTime","endTime","content","fromNativeTextTrack","track","kind","label","language","mode","type","src","forced","cues","map","fromNativeMediaTrack","activeQuality","qualities","targetQuality"],"sources":["TrackUtils.ts"],"sourcesContent":["import type { TextTrackCue as NativeTextTrackCue, TextTrack as NativeTextTrack, MediaTrack as NativeMediaTrack } from 'theoplayer';\nimport type { TextTrack, TextTrackCue, MediaTrack } from 'react-native-theoplayer';\n\nexport function fromNativeCue(cue: NativeTextTrackCue): TextTrackCue {\n return {\n id: cue.id,\n uid: cue.uid,\n startTime: 1e3 * cue.startTime,\n endTime: 1e3 * cue.endTime,\n content: cue.content,\n } as TextTrackCue;\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 fromNativeMediaTrack(track: NativeMediaTrack): MediaTrack {\n const { id, uid, kind, label, language, activeQuality, qualities, targetQuality } = track;\n\n return {\n kind,\n label,\n language,\n id,\n uid,\n activeQuality,\n qualities,\n targetQuality,\n } as MediaTrack;\n}\n"],"mappings":"AAGA,OAAO,SAASA,aAAT,CAAuBC,GAAvB,EAA8D;EACnE,OAAO;IACLC,EAAE,EAAED,GAAG,CAACC,EADH;IAELC,GAAG,EAAEF,GAAG,CAACE,GAFJ;IAGLC,SAAS,EAAE,MAAMH,GAAG,CAACG,SAHhB;IAILC,OAAO,EAAE,MAAMJ,GAAG,CAACI,OAJd;IAKLC,OAAO,EAAEL,GAAG,CAACK;EALR,CAAP;AAOD;AAED,OAAO,SAASC,mBAAT,CAA6BC,KAA7B,EAAgE;EACrE,MAAM;IAAEN,EAAF;IAAMC,GAAN;IAAWM,IAAX;IAAiBC,KAAjB;IAAwBC,QAAxB;IAAkCC,IAAlC;IAAwCC,IAAxC;IAA8CC,GAA9C;IAAmDC;EAAnD,IAA8DP,KAApE;EAEA,OAAO;IACLN,EADK;IAELC,GAFK;IAGLM,IAHK;IAILC,KAJK;IAKLC,QALK;IAMLC,IANK;IAOLC,IAPK;IAQLC,GARK;IASLC,MATK;IAULC,IAAI,EAAER,KAAK,CAACQ,IAAN,GAAaR,KAAK,CAACQ,IAAN,CAAWC,GAAX,CAAgBhB,GAAD,IAASD,aAAa,CAACC,GAAD,CAArC,CAAb,GAA2D;EAV5D,CAAP;AAYD;AAED,OAAO,SAASiB,oBAAT,CAA8BV,KAA9B,EAAmE;EACxE,MAAM;IAAEN,EAAF;IAAMC,GAAN;IAAWM,IAAX;IAAiBC,KAAjB;IAAwBC,QAAxB;IAAkCQ,aAAlC;IAAiDC,SAAjD;IAA4DC;EAA5D,IAA8Eb,KAApF;EAEA,OAAO;IACLC,IADK;IAELC,KAFK;IAGLC,QAHK;IAILT,EAJK;IAKLC,GALK;IAMLgB,aANK;IAOLC,SAPK;IAQLC;EARK,CAAP;AAUD"}
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1,5 +1,5 @@
1
- export var __esModule: boolean;
2
- export var TrackListEventType: {} | undefined;
3
- export var TextTrackEventType: {} | undefined;
1
+ export const __esModule: boolean;
2
+ export const TrackListEventType: {} | undefined;
3
+ export const TextTrackEventType: {} | undefined;
4
4
  export let TrackListEventType: any;
5
5
  export let TextTrackEventType: any;
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1,4 +1,4 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
2
2
  export function addTextTrack(textTrackList: any, textTrack: any): any;
3
3
  export function addTextTrackCue(textTrack: any, cue: any): void;
4
4
  /**
@@ -1 +1 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
@@ -1,3 +1,3 @@
1
- export var __esModule: boolean;
2
- export var THEOplayerView: typeof _THEOplayerView.THEOplayerView;
1
+ export const __esModule: boolean;
2
+ export const THEOplayerView: typeof _THEOplayerView.THEOplayerView;
3
3
  import _THEOplayerView = require("./internal/THEOplayerView");
@@ -1,10 +1,12 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
2
2
  declare const THEOplayerView_base: any;
3
3
  export class THEOplayerView extends THEOplayerView_base {
4
4
  [x: string]: any;
5
5
  constructor(props: any);
6
6
  _root: any;
7
7
  state: any;
8
+ componentWillUnmount(): void;
9
+ destroyTheoPlayer(): void;
8
10
  seek(time: any): void;
9
11
  reset(): void;
10
12
  setNativeProps(nativeProps: any): void;
@@ -1,4 +1,4 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
2
2
  export default _default;
3
3
  declare namespace _default {
4
4
  namespace base {
@@ -1,4 +1,4 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
2
2
  declare const THEOplayerView_base: any;
3
3
  export class THEOplayerView extends THEOplayerView_base {
4
4
  [x: string]: any;
@@ -1,4 +1,4 @@
1
- export var __esModule: boolean;
1
+ export const __esModule: boolean;
2
2
  export function fromNativeCue(cue: any): {
3
3
  id: any;
4
4
  uid: any;
@@ -1,9 +1,14 @@
1
1
  export class THEOplayerView extends React.PureComponent<any, any, any> {
2
2
  constructor(props: any);
3
3
  _root: React.RefObject<any>;
4
+ state: any;
5
+ componentWillUnmount(): void;
6
+ destroyTheoPlayer(): void;
4
7
  seek(time: any): void;
5
8
  reset(): void;
6
9
  setNativeProps(nativeProps: any): void;
7
10
  maybeChangeBufferingState(isBuffering: any): void;
11
+ render(): React.CElement<import("react-native").ViewProps, View>;
8
12
  }
9
13
  import React from "react";
14
+ import { View } from "react-native";
@@ -1,10 +1,17 @@
1
1
  export class THEOplayerView extends React.PureComponent<any, any, any> {
2
2
  constructor(props: any);
3
- _player: THEOplayer.ChromelessPlayer | undefined;
3
+ state: any;
4
+ componentDidMount(): void;
5
+ _player: THEOplayer.ChromelessPlayer | THEOplayer.Player | undefined;
6
+ componentWillUnmount(): void;
4
7
  seek(time: any): void;
5
8
  reset(): void;
9
+ componentDidUpdate(prevProps: any): void;
6
10
  maybeChangeBufferingState(isBuffering: any): void;
7
11
  addEventListeners(): void;
12
+ render(): React.DetailedReactHTMLElement<{
13
+ id: string;
14
+ }, HTMLElement>;
8
15
  }
9
16
  import React from "react";
10
17
  import * as THEOplayer from "theoplayer";
@@ -40,6 +40,8 @@ export declare class THEOplayerView extends PureComponent<THEOplayerViewProps, T
40
40
  private readonly _root;
41
41
  private static initialState;
42
42
  constructor(props: THEOplayerRCTViewProps);
43
+ componentWillUnmount(): void;
44
+ private destroyTheoPlayer;
43
45
  seek(time: number): void;
44
46
  private reset;
45
47
  private setNativeProps;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-theoplayer",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "A THEOplayer video component for react-native.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -14,6 +14,7 @@ Pod::Spec.new do |s|
14
14
  s.source = { :git => "https://www.theoplayer.com/.git", :tag => "#{s.version}" }
15
15
 
16
16
  s.source_files = "ios/**/*.{h,m,mm,swift}"
17
+ s.resources = ['ios/**/*.css']
17
18
 
18
19
  s.dependency "React-Core"
19
20
  s.dependency "THEOplayerSDK-basic"
@@ -1,5 +1,5 @@
1
1
  import React, { PureComponent } from 'react';
2
- import { StyleSheet, requireNativeComponent, View, UIManager, Platform, NativeSyntheticEvent } from 'react-native';
2
+ import { findNodeHandle, StyleSheet, requireNativeComponent, View, UIManager, Platform, NativeSyntheticEvent } from 'react-native';
3
3
  import type {
4
4
  DurationChangeEvent,
5
5
  ErrorEvent,
@@ -70,6 +70,20 @@ export class THEOplayerView extends PureComponent<THEOplayerViewProps, THEOplaye
70
70
  this.state = THEOplayerView.initialState;
71
71
  }
72
72
 
73
+ componentWillUnmount() {
74
+ if (Platform.OS === 'ios') {
75
+ // on iOS, we trigger an explicit 'destroy' to clean up the underlying THEOplayer
76
+ this.destroyTheoPlayer();
77
+ }
78
+ }
79
+
80
+ private destroyTheoPlayer() {
81
+ const node = findNodeHandle(this._root.current);
82
+ const command = (UIManager as {[index: string]: any})['THEOplayerRCTView'].Commands.destroy;
83
+ const params: any[] = [];
84
+ UIManager.dispatchViewManagerCommand(node, command, params);
85
+ }
86
+
73
87
  public seek(time: number): void {
74
88
  if (isNaN(time)) {
75
89
  throw new Error('Specified time is not a number');