react-native-theoplayer 3.6.0 → 3.7.1

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 (34) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -0
  3. package/android/src/main/java/com/theoplayer/presentation/PresentationManager.kt +41 -1
  4. package/ios/THEOplayerRCTMainEventHandler.swift +6 -24
  5. package/ios/THEOplayerRCTPlayerAPI.swift +3 -16
  6. package/ios/THEOplayerRCTTextTrackEventHandler.swift +0 -9
  7. package/ios/THEOplayerRCTTrackMetadataAggregator.swift +1 -1
  8. package/ios/THEOplayerRCTView.swift +12 -10
  9. package/ios/Theoplayer-Bridging-Header.h +1 -0
  10. package/ios/pip/THEOplayerRCTView+PipConfig.swift +2 -2
  11. package/ios/{THEOplayerRCTPresentationModeContext.swift → presentationMode/THEOplayerRCTPresentationModeContext.swift} +4 -8
  12. package/ios/presentationMode/THEOplayerRCTPresentationModeManager.swift +159 -0
  13. package/ios/presentationMode/THEOplayerRCTView+PresentationMode.swift +11 -0
  14. package/ios/{THEOplayerRCTSideloadedMetadataTrackHandler.swift → sideloadedMetadata/THEOplayerRCTSideloadedMetadataProcessor.swift} +14 -4
  15. package/ios/sideloadedMetadata/THEOplayerRCTSideloadedMetadataTrackEventHandler.swift +28 -0
  16. package/lib/commonjs/internal/THEOplayerView.js +24 -3
  17. package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
  18. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js +3 -0
  19. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js.map +1 -1
  20. package/lib/commonjs/internal/utils/Dimensions.js +31 -0
  21. package/lib/commonjs/internal/utils/Dimensions.js.map +1 -0
  22. package/lib/module/internal/THEOplayerView.js +26 -5
  23. package/lib/module/internal/THEOplayerView.js.map +1 -1
  24. package/lib/module/internal/adapter/THEOplayerAdapter.js +5 -2
  25. package/lib/module/internal/adapter/THEOplayerAdapter.js.map +1 -1
  26. package/lib/module/internal/utils/Dimensions.js +26 -0
  27. package/lib/module/internal/utils/Dimensions.js.map +1 -0
  28. package/lib/typescript/internal/THEOplayerView.d.ts +7 -1
  29. package/lib/typescript/internal/utils/Dimensions.d.ts +5 -0
  30. package/package.json +1 -1
  31. package/react-native-theoplayer.podspec +7 -5
  32. package/src/internal/THEOplayerView.tsx +25 -5
  33. package/src/internal/adapter/THEOplayerAdapter.ts +11 -7
  34. package/src/internal/utils/Dimensions.ts +24 -0
@@ -13,6 +13,7 @@ var _BaseEvent = require("./adapter/event/BaseEvent");
13
13
  var _PlayerEvents = require("./adapter/event/PlayerEvents");
14
14
  var _NativeTrackEvent = require("./adapter/event/native/NativeTrackEvent");
15
15
  var _THEOplayerAdapter = require("./adapter/THEOplayerAdapter");
16
+ var _Dimensions = require("./utils/Dimensions");
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -25,6 +26,12 @@ class THEOplayerView extends _react.PureComponent {
25
26
  super(props);
26
27
  _defineProperty(this, "_root", void 0);
27
28
  _defineProperty(this, "_facade", void 0);
29
+ _defineProperty(this, "_dimensionsHandler", undefined);
30
+ _defineProperty(this, "_onDimensionsChanged", () => {
31
+ this.setState({
32
+ screenSize: (0, _Dimensions.getFullscreenSize)()
33
+ });
34
+ });
28
35
  _defineProperty(this, "_onNativePlayerReady", event => {
29
36
  var _this$props$onPlayerR, _this$props;
30
37
  // Optionally apply an initial player state
@@ -142,13 +149,20 @@ class THEOplayerView extends _react.PureComponent {
142
149
  }
143
150
  });
144
151
  _defineProperty(this, "_onPresentationModeChange", event => {
152
+ this.setState({
153
+ presentationMode: event.nativeEvent.presentationMode
154
+ });
145
155
  this._facade.dispatchEvent(new _PlayerEvents.DefaultPresentationModeChangeEvent(event.nativeEvent.presentationMode, event.nativeEvent.previousPresentationMode, event.nativeEvent.context));
146
156
  });
147
157
  this._root = /*#__PURE__*/_react.default.createRef();
148
158
  this.state = THEOplayerView.initialState;
149
159
  this._facade = new _THEOplayerAdapter.THEOplayerAdapter(this);
150
160
  }
161
+ componentDidMount() {
162
+ this._dimensionsHandler = _reactNative.Dimensions.addEventListener('change', this._onDimensionsChanged);
163
+ }
151
164
  componentWillUnmount() {
165
+ var _this$_dimensionsHand;
152
166
  // Notify the player will be destroyed.
153
167
  const {
154
168
  onPlayerDestroy
@@ -157,6 +171,7 @@ class THEOplayerView extends _react.PureComponent {
157
171
  onPlayerDestroy(this._facade);
158
172
  }
159
173
  this._facade.dispatchEvent(new _BaseEvent.BaseEvent(_reactNativeTheoplayer.PlayerEventType.DESTROY));
174
+ (_this$_dimensionsHand = this._dimensionsHandler) === null || _this$_dimensionsHand === void 0 || _this$_dimensionsHand.remove();
160
175
  if (_reactNative.Platform.OS === 'ios') {
161
176
  // TODO: move to native module
162
177
  // on iOS, we trigger an explicit 'destroy' to clean up the underlying THEOplayer
@@ -193,8 +208,12 @@ class THEOplayerView extends _react.PureComponent {
193
208
  style,
194
209
  children
195
210
  } = this.props;
211
+ const {
212
+ presentationMode,
213
+ screenSize: fullscreenSize
214
+ } = this.state;
196
215
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
197
- style: [_THEOplayerView.default.base, style]
216
+ style: [_THEOplayerView.default.base, style, presentationMode === _reactNativeTheoplayer.PresentationMode.fullscreen ? fullscreenSize : {}]
198
217
  }, /*#__PURE__*/_react.default.createElement(THEOplayerRCTView, {
199
218
  ref: this._root,
200
219
  style: _reactNative.StyleSheet.absoluteFill,
@@ -232,10 +251,12 @@ class THEOplayerView extends _react.PureComponent {
232
251
  }
233
252
  exports.THEOplayerView = THEOplayerView;
234
253
  _defineProperty(THEOplayerView, "initialState", {
235
- error: undefined
254
+ error: undefined,
255
+ presentationMode: _reactNativeTheoplayer.PresentationMode.inline,
256
+ screenSize: (0, _Dimensions.getFullscreenSize)()
236
257
  });
237
258
  const LINKING_ERROR = `The package 'react-native-theoplayer' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
238
- ios: "- You have run 'pod install'\n",
259
+ ios: '- You have run \'pod install\'\n',
239
260
  default: ''
240
261
  }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo managed workflow\n';
241
262
  const ComponentName = 'THEOplayerRCTView';
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeTheoplayer","_THEOplayerView","_interopRequireDefault","_TypeUtils","_BaseEvent","_PlayerEvents","_NativeTrackEvent","_THEOplayerAdapter","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_defineProperty","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","INVALID_HANDLE","THEOplayerView","PureComponent","constructor","props","event","_this$props$onPlayerR","_this$props","version","state","nativeEvent","_facade","initializeFromNativePlayer_","onPlayerReady","reset","dispatchEvent","BaseEvent","PlayerEventType","SOURCE_CHANGE","LOAD_START","LOADED_DATA","DefaultLoadedMetadataEvent","textTracks","audioTracks","videoTracks","decodeNanInf","duration","selectedTextTrack","selectedVideoTrack","selectedAudioTrack","DefaultVolumeChangeEvent","volume","muted","error","setState","DefaultErrorEvent","DefaultProgressEvent","seekable","buffered","CANPLAY","PLAY","PLAYING","PAUSE","SEEKING","SEEKED","WAITING","ENDED","DefaultReadyStateChangeEvent","readyState","DefaultTimeupdateEvent","currentTime","currentProgramDateTime","DefaultDurationChangeEvent","DefaultRateChangeEvent","playbackRate","DefaultSegmentNotFoundEvent","segmentStartTime","retryCount","DefaultTextTrackListEvent","toTrackListEventType","type","track","cue","normalizeCue","DefaultTextTrackEvent","toTextTrackEventType","trackUid","DefaultMediaTrackListEvent","toMediaTrackType","trackType","DefaultMediaTrackEvent","toMediaTrackTypeEventType","qualities","DefaultAdEvent","ad","CastEventType","CHROMECAST_STATE_CHANGE","DefaultChromecastChangeEvent","AIRPLAY_STATE_CHANGE","DefaultAirplayStateChangeEvent","CHROMECAST_ERROR","DefaultChromecastErrorEvent","DefaultPresentationModeChangeEvent","presentationMode","previousPresentationMode","context","_root","React","createRef","initialState","THEOplayerAdapter","componentWillUnmount","onPlayerDestroy","DESTROY","Platform","OS","command","UIManager","Commands","destroy","dispatchViewManagerCommand","findNodeHandle","current","clearEventListeners","nativeHandle","startTime","endTime","isDateRangeCue","startDate","Date","endDate","plannedDuration","render","config","style","children","createElement","View","styles","base","THEOplayerRCTView","ref","StyleSheet","absoluteFill","onNativePlayerReady","_onNativePlayerReady","onNativeSourceChange","_onSourceChange","onNativeLoadStart","_onLoadStart","onNativeLoadedData","_onLoadedData","onNativeLoadedMetadata","_onLoadedMetadata","onNativeVolumeChange","_onVolumeChange","onNativeError","_onError","onNativeProgress","_onProgress","onNativeCanPlay","_onCanPlay","onNativePlay","_onPlay","onNativePlaying","_onPlaying","onNativePause","_onPause","onNativeSeeking","_onSeeking","onNativeSeeked","_onSeeked","onNativeWaiting","_onWaiting","onNativeEnded","_onEnded","onNativeReadyStateChange","_onReadStateChange","onNativeTimeUpdate","_onTimeUpdate","onNativeDurationChange","_onDurationChange","onNativeRateChange","_onRateChange","onNativeSegmentNotFound","_onSegmentNotFound","onNativeTextTrackListEvent","_onTextTrackListEvent","onNativeTextTrackEvent","_onTextTrackEvent","onNativeMediaTrackListEvent","_onMediaTrackListEvent","onNativeMediaTrackEvent","_onMediaTrackEvent","onNativeAdEvent","_onAdEvent","onNativeCastEvent","_onCastEvent","onNativePresentationModeChange","_onPresentationModeChange","exports","LINKING_ERROR","select","ios","ComponentName","getViewManagerConfig","requireNativeComponent","Error"],"sources":["THEOplayerView.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport {\n findNodeHandle,\n HostComponent,\n NativeSyntheticEvent,\n Platform,\n requireNativeComponent,\n StyleProp,\n StyleSheet,\n UIManager,\n View,\n ViewStyle,\n} from 'react-native';\nimport { isDateRangeCue, PlayerConfiguration, PlayerError, TextTrackCue, THEOplayerViewProps } from 'react-native-theoplayer';\nimport { CastEventType, PlayerEventType } from 'react-native-theoplayer';\n\nimport styles from './THEOplayerView.style';\nimport { decodeNanInf } from './utils/TypeUtils';\nimport { BaseEvent } from './adapter/event/BaseEvent';\nimport {\n DefaultAdEvent,\n DefaultAirplayStateChangeEvent,\n DefaultChromecastChangeEvent,\n DefaultChromecastErrorEvent,\n DefaultDurationChangeEvent,\n DefaultErrorEvent,\n DefaultLoadedMetadataEvent,\n DefaultMediaTrackEvent,\n DefaultMediaTrackListEvent,\n DefaultPresentationModeChangeEvent,\n DefaultProgressEvent,\n DefaultRateChangeEvent,\n DefaultReadyStateChangeEvent,\n DefaultSegmentNotFoundEvent,\n DefaultTextTrackEvent,\n DefaultTextTrackListEvent,\n DefaultVolumeChangeEvent,\n DefaultTimeupdateEvent,\n} from './adapter/event/PlayerEvents';\nimport type { NativeCastEvent } from './adapter/event/native/NativeCastEvent';\nimport type {\n NativeMediaTrackEvent,\n NativeMediaTrackListEvent,\n NativeTextTrackEvent,\n NativeTextTrackListEvent,\n} from './adapter/event/native/NativeTrackEvent';\nimport { toMediaTrackType, toMediaTrackTypeEventType, toTextTrackEventType, toTrackListEventType } from './adapter/event/native/NativeTrackEvent';\nimport type {\n NativeDurationChangeEvent,\n NativeErrorEvent,\n NativeLoadedMetadataEvent,\n NativePlayerStateEvent,\n NativePresentationModeChangeEvent,\n NativeProgressEvent,\n NativeRateChangeEvent,\n NativeReadyStateChangeEvent,\n NativeSegmentNotFoundEvent,\n NativeTimeUpdateEvent,\n NativeVolumeChangeEvent,\n} from './adapter/event/native/NativePlayerEvent';\nimport type { NativeAdEvent } from './adapter/event/native/NativeAdEvent';\nimport { THEOplayerAdapter } from './adapter/THEOplayerAdapter';\n\nconst INVALID_HANDLE = -1;\n\ninterface THEOplayerRCTViewProps {\n ref: React.RefObject<THEOplayerViewNativeComponent>;\n style?: StyleProp<ViewStyle>;\n config?: PlayerConfiguration;\n onNativePlayerReady: (event: NativeSyntheticEvent<NativePlayerStateEvent>) => void;\n onNativeSourceChange: () => void;\n onNativeLoadStart: () => void;\n onNativeLoadedData: () => void;\n onNativeLoadedMetadata: (event: NativeSyntheticEvent<NativeLoadedMetadataEvent>) => void;\n onNativeReadyStateChange?: (event: NativeSyntheticEvent<NativeReadyStateChangeEvent>) => void;\n onNativeError: (event: NativeSyntheticEvent<NativeErrorEvent>) => void;\n onNativeProgress: (event: NativeSyntheticEvent<NativeProgressEvent>) => void;\n onNativeVolumeChange: (event: NativeSyntheticEvent<NativeVolumeChangeEvent>) => void;\n onNativeCanPlay: () => void;\n onNativePlay: () => void;\n onNativePlaying: () => void;\n onNativePause: () => void;\n onNativeSeeking: () => void;\n onNativeSeeked: () => void;\n onNativeEnded: () => void;\n onNativeWaiting: () => void;\n onNativeTimeUpdate: (event: NativeSyntheticEvent<NativeTimeUpdateEvent>) => void;\n onNativeDurationChange: (event: NativeSyntheticEvent<NativeDurationChangeEvent>) => void;\n onNativeRateChange: (event: NativeSyntheticEvent<NativeRateChangeEvent>) => void;\n onNativeSegmentNotFound: (event: NativeSyntheticEvent<NativeSegmentNotFoundEvent>) => void;\n onNativeTextTrackListEvent: (event: NativeSyntheticEvent<NativeTextTrackListEvent>) => void;\n onNativeTextTrackEvent: (event: NativeSyntheticEvent<NativeTextTrackEvent>) => void;\n onNativeMediaTrackListEvent: (event: NativeSyntheticEvent<NativeMediaTrackListEvent>) => void;\n onNativeMediaTrackEvent: (event: NativeSyntheticEvent<NativeMediaTrackEvent>) => void;\n onNativeAdEvent: (event: NativeSyntheticEvent<NativeAdEvent>) => void;\n onNativeCastEvent: (event: NativeSyntheticEvent<NativeCastEvent>) => void;\n onNativePresentationModeChange: (event: NativeSyntheticEvent<NativePresentationModeChangeEvent>) => void;\n}\n\ninterface THEOplayerRCTViewState {\n error?: PlayerError;\n}\n\ntype THEOplayerViewNativeComponent = HostComponent<THEOplayerRCTViewProps>;\n\nexport class THEOplayerView extends PureComponent<React.PropsWithChildren<THEOplayerViewProps>, THEOplayerRCTViewState> {\n private readonly _root: React.RefObject<THEOplayerViewNativeComponent>;\n private readonly _facade: THEOplayerAdapter;\n\n private static initialState: THEOplayerRCTViewState = {\n error: undefined,\n };\n\n constructor(props: THEOplayerViewProps) {\n super(props);\n this._root = React.createRef();\n this.state = THEOplayerView.initialState;\n this._facade = new THEOplayerAdapter(this);\n }\n\n componentWillUnmount() {\n // Notify the player will be destroyed.\n const { onPlayerDestroy } = this.props;\n if (onPlayerDestroy) {\n onPlayerDestroy(this._facade);\n }\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.DESTROY));\n\n if (Platform.OS === 'ios') {\n // TODO: move to native module\n // on iOS, we trigger an explicit 'destroy' to clean up the underlying THEOplayer\n const command = (UIManager as { [index: string]: any })['THEOplayerRCTView'].Commands.destroy;\n UIManager.dispatchViewManagerCommand(findNodeHandle(this._root.current), command, []);\n }\n this._facade.clearEventListeners();\n }\n\n public get nativeHandle(): number {\n return findNodeHandle(this._root.current) || INVALID_HANDLE;\n }\n\n private reset() {\n this.setState(THEOplayerView.initialState);\n }\n\n private _onNativePlayerReady = (event: NativeSyntheticEvent<NativePlayerStateEvent>) => {\n // Optionally apply an initial player state\n const { version, state } = event?.nativeEvent;\n this._facade.initializeFromNativePlayer_(version, state);\n this.props.onPlayerReady?.(this._facade);\n };\n\n private _onSourceChange = () => {\n this.reset();\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SOURCE_CHANGE));\n };\n\n private _onLoadStart = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.LOAD_START));\n };\n\n private _onLoadedData = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.LOADED_DATA));\n };\n\n private _onLoadedMetadata = (event: NativeSyntheticEvent<NativeLoadedMetadataEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(\n new DefaultLoadedMetadataEvent(\n nativeEvent.textTracks,\n nativeEvent.audioTracks,\n nativeEvent.videoTracks,\n decodeNanInf(nativeEvent.duration),\n nativeEvent.selectedTextTrack,\n nativeEvent.selectedVideoTrack,\n nativeEvent.selectedAudioTrack,\n ),\n );\n };\n\n private _onVolumeChange = (event: NativeSyntheticEvent<NativeVolumeChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultVolumeChangeEvent(event.nativeEvent.volume, event.nativeEvent.muted));\n };\n\n private _onError = (event: NativeSyntheticEvent<NativeErrorEvent>) => {\n const { error } = event.nativeEvent;\n this.setState({ error });\n this._facade.dispatchEvent(new DefaultErrorEvent(event.nativeEvent.error));\n };\n\n private _onProgress = (event: NativeSyntheticEvent<NativeProgressEvent>) => {\n this._facade.dispatchEvent(new DefaultProgressEvent(event.nativeEvent.seekable, event.nativeEvent.buffered));\n };\n\n private _onCanPlay = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.CANPLAY));\n };\n\n private _onPlay = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PLAY));\n };\n\n private _onPlaying = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PLAYING));\n };\n\n private _onPause = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PAUSE));\n };\n\n private _onSeeking = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SEEKING));\n };\n\n private _onSeeked = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SEEKED));\n };\n\n private _onWaiting = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.WAITING));\n };\n\n private _onEnded = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.ENDED));\n };\n\n private _onReadStateChange = (event: NativeSyntheticEvent<NativeReadyStateChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultReadyStateChangeEvent(event.nativeEvent.readyState));\n };\n\n private _onTimeUpdate = (event: NativeSyntheticEvent<NativeTimeUpdateEvent>) => {\n this._facade.dispatchEvent(new DefaultTimeupdateEvent(event.nativeEvent.currentTime, event.nativeEvent.currentProgramDateTime));\n };\n\n private _onDurationChange = (event: NativeSyntheticEvent<NativeDurationChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultDurationChangeEvent(decodeNanInf(event.nativeEvent.duration)));\n };\n\n private _onRateChange = (event: NativeSyntheticEvent<NativeRateChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultRateChangeEvent(event.nativeEvent.playbackRate));\n };\n\n private _onSegmentNotFound = (event: NativeSyntheticEvent<NativeSegmentNotFoundEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(new DefaultSegmentNotFoundEvent(nativeEvent.segmentStartTime, nativeEvent.error, nativeEvent.retryCount));\n };\n\n private _onTextTrackListEvent = (event: NativeSyntheticEvent<NativeTextTrackListEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(new DefaultTextTrackListEvent(toTrackListEventType(nativeEvent.type), nativeEvent.track));\n };\n\n private _onTextTrackEvent = (event: NativeSyntheticEvent<NativeTextTrackEvent>) => {\n const nativeEvent = event.nativeEvent;\n const cue = nativeEvent.cue;\n if (cue) {\n this.normalizeCue(cue);\n }\n this._facade.dispatchEvent(new DefaultTextTrackEvent(toTextTrackEventType(nativeEvent.type), nativeEvent.trackUid, cue));\n };\n\n private normalizeCue(cue: TextTrackCue) {\n cue.startTime = decodeNanInf(cue.startTime);\n cue.endTime = decodeNanInf(cue.endTime);\n if (isDateRangeCue(cue)) {\n cue.startDate = new Date(cue.startDate);\n if (cue.endDate) {\n cue.endDate = new Date(cue.endDate);\n }\n if (cue.duration) {\n cue.duration = decodeNanInf(cue.duration);\n }\n if (cue.plannedDuration) {\n cue.plannedDuration = decodeNanInf(cue.plannedDuration);\n }\n }\n }\n\n private _onMediaTrackListEvent = (event: NativeSyntheticEvent<NativeMediaTrackListEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(\n new DefaultMediaTrackListEvent(toTrackListEventType(nativeEvent.type), toMediaTrackType(nativeEvent.trackType), nativeEvent.track),\n );\n };\n\n private _onMediaTrackEvent = (event: NativeSyntheticEvent<NativeMediaTrackEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(\n new DefaultMediaTrackEvent(\n toMediaTrackTypeEventType(nativeEvent.type),\n toMediaTrackType(nativeEvent.trackType),\n nativeEvent.trackUid,\n nativeEvent.qualities,\n ),\n );\n };\n\n private _onAdEvent = (event: NativeSyntheticEvent<NativeAdEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(new DefaultAdEvent(nativeEvent.type, nativeEvent.ad));\n };\n\n private _onCastEvent = (event: NativeSyntheticEvent<NativeCastEvent>) => {\n switch (event.nativeEvent.type) {\n case CastEventType.CHROMECAST_STATE_CHANGE:\n this._facade.dispatchEvent(new DefaultChromecastChangeEvent(event.nativeEvent.state));\n break;\n case CastEventType.AIRPLAY_STATE_CHANGE:\n this._facade.dispatchEvent(new DefaultAirplayStateChangeEvent(event.nativeEvent.state));\n break;\n case CastEventType.CHROMECAST_ERROR:\n this._facade.dispatchEvent(new DefaultChromecastErrorEvent(event.nativeEvent.error));\n break;\n }\n };\n\n private _onPresentationModeChange = (event: NativeSyntheticEvent<NativePresentationModeChangeEvent>) => {\n this._facade.dispatchEvent(\n new DefaultPresentationModeChangeEvent(\n event.nativeEvent.presentationMode,\n event.nativeEvent.previousPresentationMode,\n event.nativeEvent.context,\n ),\n );\n };\n\n public render(): JSX.Element {\n const { config, style, children } = this.props;\n return (\n <View style={[styles.base, style]}>\n <THEOplayerRCTView\n ref={this._root}\n style={StyleSheet.absoluteFill}\n config={config || {}}\n onNativePlayerReady={this._onNativePlayerReady}\n onNativeSourceChange={this._onSourceChange}\n onNativeLoadStart={this._onLoadStart}\n onNativeLoadedData={this._onLoadedData}\n onNativeLoadedMetadata={this._onLoadedMetadata}\n onNativeVolumeChange={this._onVolumeChange}\n onNativeError={this._onError}\n onNativeProgress={this._onProgress}\n onNativeCanPlay={this._onCanPlay}\n onNativePlay={this._onPlay}\n onNativePlaying={this._onPlaying}\n onNativePause={this._onPause}\n onNativeSeeking={this._onSeeking}\n onNativeSeeked={this._onSeeked}\n onNativeWaiting={this._onWaiting}\n onNativeEnded={this._onEnded}\n onNativeReadyStateChange={this._onReadStateChange}\n onNativeTimeUpdate={this._onTimeUpdate}\n onNativeDurationChange={this._onDurationChange}\n onNativeRateChange={this._onRateChange}\n onNativeSegmentNotFound={this._onSegmentNotFound}\n onNativeTextTrackListEvent={this._onTextTrackListEvent}\n onNativeTextTrackEvent={this._onTextTrackEvent}\n onNativeMediaTrackListEvent={this._onMediaTrackListEvent}\n onNativeMediaTrackEvent={this._onMediaTrackEvent}\n onNativeAdEvent={this._onAdEvent}\n onNativeCastEvent={this._onCastEvent}\n onNativePresentationModeChange={this._onPresentationModeChange}\n />\n {children}\n </View>\n );\n }\n}\n\nconst LINKING_ERROR =\n `The package 'react-native-theoplayer' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst ComponentName = 'THEOplayerRCTView';\n\nconst THEOplayerRCTView =\n UIManager.getViewManagerConfig(ComponentName) != null\n ? requireNativeComponent<THEOplayerRCTViewProps>(ComponentName)\n : () => {\n throw new Error(LINKING_ERROR);\n };\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeTheoplayer","_THEOplayerView","_interopRequireDefault","_TypeUtils","_BaseEvent","_PlayerEvents","_NativeTrackEvent","_THEOplayerAdapter","_Dimensions","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_defineProperty","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","INVALID_HANDLE","THEOplayerView","PureComponent","constructor","props","setState","screenSize","getFullscreenSize","event","_this$props$onPlayerR","_this$props","version","state","nativeEvent","_facade","initializeFromNativePlayer_","onPlayerReady","reset","dispatchEvent","BaseEvent","PlayerEventType","SOURCE_CHANGE","LOAD_START","LOADED_DATA","DefaultLoadedMetadataEvent","textTracks","audioTracks","videoTracks","decodeNanInf","duration","selectedTextTrack","selectedVideoTrack","selectedAudioTrack","DefaultVolumeChangeEvent","volume","muted","error","DefaultErrorEvent","DefaultProgressEvent","seekable","buffered","CANPLAY","PLAY","PLAYING","PAUSE","SEEKING","SEEKED","WAITING","ENDED","DefaultReadyStateChangeEvent","readyState","DefaultTimeupdateEvent","currentTime","currentProgramDateTime","DefaultDurationChangeEvent","DefaultRateChangeEvent","playbackRate","DefaultSegmentNotFoundEvent","segmentStartTime","retryCount","DefaultTextTrackListEvent","toTrackListEventType","type","track","cue","normalizeCue","DefaultTextTrackEvent","toTextTrackEventType","trackUid","DefaultMediaTrackListEvent","toMediaTrackType","trackType","DefaultMediaTrackEvent","toMediaTrackTypeEventType","qualities","DefaultAdEvent","ad","CastEventType","CHROMECAST_STATE_CHANGE","DefaultChromecastChangeEvent","AIRPLAY_STATE_CHANGE","DefaultAirplayStateChangeEvent","CHROMECAST_ERROR","DefaultChromecastErrorEvent","presentationMode","DefaultPresentationModeChangeEvent","previousPresentationMode","context","_root","React","createRef","initialState","THEOplayerAdapter","componentDidMount","_dimensionsHandler","Dimensions","addEventListener","_onDimensionsChanged","componentWillUnmount","_this$_dimensionsHand","onPlayerDestroy","DESTROY","remove","Platform","OS","command","UIManager","Commands","destroy","dispatchViewManagerCommand","findNodeHandle","current","clearEventListeners","nativeHandle","startTime","endTime","isDateRangeCue","startDate","Date","endDate","plannedDuration","render","config","style","children","fullscreenSize","createElement","View","styles","base","PresentationMode","fullscreen","THEOplayerRCTView","ref","StyleSheet","absoluteFill","onNativePlayerReady","_onNativePlayerReady","onNativeSourceChange","_onSourceChange","onNativeLoadStart","_onLoadStart","onNativeLoadedData","_onLoadedData","onNativeLoadedMetadata","_onLoadedMetadata","onNativeVolumeChange","_onVolumeChange","onNativeError","_onError","onNativeProgress","_onProgress","onNativeCanPlay","_onCanPlay","onNativePlay","_onPlay","onNativePlaying","_onPlaying","onNativePause","_onPause","onNativeSeeking","_onSeeking","onNativeSeeked","_onSeeked","onNativeWaiting","_onWaiting","onNativeEnded","_onEnded","onNativeReadyStateChange","_onReadStateChange","onNativeTimeUpdate","_onTimeUpdate","onNativeDurationChange","_onDurationChange","onNativeRateChange","_onRateChange","onNativeSegmentNotFound","_onSegmentNotFound","onNativeTextTrackListEvent","_onTextTrackListEvent","onNativeTextTrackEvent","_onTextTrackEvent","onNativeMediaTrackListEvent","_onMediaTrackListEvent","onNativeMediaTrackEvent","_onMediaTrackEvent","onNativeAdEvent","_onAdEvent","onNativeCastEvent","_onCastEvent","onNativePresentationModeChange","_onPresentationModeChange","exports","inline","LINKING_ERROR","select","ios","ComponentName","getViewManagerConfig","requireNativeComponent","Error"],"sources":["THEOplayerView.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport {\n Dimensions,\n findNodeHandle,\n HostComponent,\n NativeSyntheticEvent,\n Platform,\n requireNativeComponent,\n StyleProp,\n StyleSheet,\n UIManager,\n View,\n ViewStyle,\n} from 'react-native';\nimport type { ScaledSize, EmitterSubscription } from 'react-native';\nimport { isDateRangeCue, PlayerConfiguration, PlayerError, PresentationMode, TextTrackCue, THEOplayerViewProps } from 'react-native-theoplayer';\nimport { CastEventType, PlayerEventType } from 'react-native-theoplayer';\n\nimport styles from './THEOplayerView.style';\nimport { decodeNanInf } from './utils/TypeUtils';\nimport { BaseEvent } from './adapter/event/BaseEvent';\nimport {\n DefaultAdEvent,\n DefaultAirplayStateChangeEvent,\n DefaultChromecastChangeEvent,\n DefaultChromecastErrorEvent,\n DefaultDurationChangeEvent,\n DefaultErrorEvent,\n DefaultLoadedMetadataEvent,\n DefaultMediaTrackEvent,\n DefaultMediaTrackListEvent,\n DefaultPresentationModeChangeEvent,\n DefaultProgressEvent,\n DefaultRateChangeEvent,\n DefaultReadyStateChangeEvent,\n DefaultSegmentNotFoundEvent,\n DefaultTextTrackEvent,\n DefaultTextTrackListEvent,\n DefaultVolumeChangeEvent,\n DefaultTimeupdateEvent,\n} from './adapter/event/PlayerEvents';\nimport type { NativeCastEvent } from './adapter/event/native/NativeCastEvent';\nimport type {\n NativeMediaTrackEvent,\n NativeMediaTrackListEvent,\n NativeTextTrackEvent,\n NativeTextTrackListEvent,\n} from './adapter/event/native/NativeTrackEvent';\nimport { toMediaTrackType, toMediaTrackTypeEventType, toTextTrackEventType, toTrackListEventType } from './adapter/event/native/NativeTrackEvent';\nimport type {\n NativeDurationChangeEvent,\n NativeErrorEvent,\n NativeLoadedMetadataEvent,\n NativePlayerStateEvent,\n NativePresentationModeChangeEvent,\n NativeProgressEvent,\n NativeRateChangeEvent,\n NativeReadyStateChangeEvent,\n NativeSegmentNotFoundEvent,\n NativeTimeUpdateEvent,\n NativeVolumeChangeEvent,\n} from './adapter/event/native/NativePlayerEvent';\nimport type { NativeAdEvent } from './adapter/event/native/NativeAdEvent';\nimport { THEOplayerAdapter } from './adapter/THEOplayerAdapter';\nimport { getFullscreenSize } from './utils/Dimensions';\n\nconst INVALID_HANDLE = -1;\n\ninterface THEOplayerRCTViewProps {\n ref: React.RefObject<THEOplayerViewNativeComponent>;\n style?: StyleProp<ViewStyle>;\n config?: PlayerConfiguration;\n onNativePlayerReady: (event: NativeSyntheticEvent<NativePlayerStateEvent>) => void;\n onNativeSourceChange: () => void;\n onNativeLoadStart: () => void;\n onNativeLoadedData: () => void;\n onNativeLoadedMetadata: (event: NativeSyntheticEvent<NativeLoadedMetadataEvent>) => void;\n onNativeReadyStateChange?: (event: NativeSyntheticEvent<NativeReadyStateChangeEvent>) => void;\n onNativeError: (event: NativeSyntheticEvent<NativeErrorEvent>) => void;\n onNativeProgress: (event: NativeSyntheticEvent<NativeProgressEvent>) => void;\n onNativeVolumeChange: (event: NativeSyntheticEvent<NativeVolumeChangeEvent>) => void;\n onNativeCanPlay: () => void;\n onNativePlay: () => void;\n onNativePlaying: () => void;\n onNativePause: () => void;\n onNativeSeeking: () => void;\n onNativeSeeked: () => void;\n onNativeEnded: () => void;\n onNativeWaiting: () => void;\n onNativeTimeUpdate: (event: NativeSyntheticEvent<NativeTimeUpdateEvent>) => void;\n onNativeDurationChange: (event: NativeSyntheticEvent<NativeDurationChangeEvent>) => void;\n onNativeRateChange: (event: NativeSyntheticEvent<NativeRateChangeEvent>) => void;\n onNativeSegmentNotFound: (event: NativeSyntheticEvent<NativeSegmentNotFoundEvent>) => void;\n onNativeTextTrackListEvent: (event: NativeSyntheticEvent<NativeTextTrackListEvent>) => void;\n onNativeTextTrackEvent: (event: NativeSyntheticEvent<NativeTextTrackEvent>) => void;\n onNativeMediaTrackListEvent: (event: NativeSyntheticEvent<NativeMediaTrackListEvent>) => void;\n onNativeMediaTrackEvent: (event: NativeSyntheticEvent<NativeMediaTrackEvent>) => void;\n onNativeAdEvent: (event: NativeSyntheticEvent<NativeAdEvent>) => void;\n onNativeCastEvent: (event: NativeSyntheticEvent<NativeCastEvent>) => void;\n onNativePresentationModeChange: (event: NativeSyntheticEvent<NativePresentationModeChangeEvent>) => void;\n}\n\ninterface THEOplayerRCTViewState {\n error?: PlayerError;\n presentationMode?: PresentationMode | undefined;\n screenSize: ScaledSize;\n}\n\ntype THEOplayerViewNativeComponent = HostComponent<THEOplayerRCTViewProps>;\n\nexport class THEOplayerView extends PureComponent<React.PropsWithChildren<THEOplayerViewProps>, THEOplayerRCTViewState> {\n private readonly _root: React.RefObject<THEOplayerViewNativeComponent>;\n private readonly _facade: THEOplayerAdapter;\n private _dimensionsHandler?: EmitterSubscription = undefined;\n\n private static initialState: THEOplayerRCTViewState = {\n error: undefined,\n presentationMode: PresentationMode.inline,\n screenSize: getFullscreenSize(),\n };\n\n constructor(props: THEOplayerViewProps) {\n super(props);\n this._root = React.createRef();\n this.state = THEOplayerView.initialState;\n this._facade = new THEOplayerAdapter(this);\n }\n\n componentDidMount() {\n this._dimensionsHandler = Dimensions.addEventListener('change', this._onDimensionsChanged);\n }\n\n componentWillUnmount() {\n // Notify the player will be destroyed.\n const { onPlayerDestroy } = this.props;\n if (onPlayerDestroy) {\n onPlayerDestroy(this._facade);\n }\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.DESTROY));\n this._dimensionsHandler?.remove();\n\n if (Platform.OS === 'ios') {\n // TODO: move to native module\n // on iOS, we trigger an explicit 'destroy' to clean up the underlying THEOplayer\n const command = (UIManager as { [index: string]: any })['THEOplayerRCTView'].Commands.destroy;\n UIManager.dispatchViewManagerCommand(findNodeHandle(this._root.current), command, []);\n }\n this._facade.clearEventListeners();\n }\n\n public get nativeHandle(): number {\n return findNodeHandle(this._root.current) || INVALID_HANDLE;\n }\n\n private reset() {\n this.setState(THEOplayerView.initialState);\n }\n\n private _onDimensionsChanged = () => {\n this.setState({ screenSize: getFullscreenSize() });\n };\n\n private _onNativePlayerReady = (event: NativeSyntheticEvent<NativePlayerStateEvent>) => {\n // Optionally apply an initial player state\n const { version, state } = event?.nativeEvent;\n this._facade.initializeFromNativePlayer_(version, state);\n this.props.onPlayerReady?.(this._facade);\n };\n\n private _onSourceChange = () => {\n this.reset();\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SOURCE_CHANGE));\n };\n\n private _onLoadStart = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.LOAD_START));\n };\n\n private _onLoadedData = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.LOADED_DATA));\n };\n\n private _onLoadedMetadata = (event: NativeSyntheticEvent<NativeLoadedMetadataEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(\n new DefaultLoadedMetadataEvent(\n nativeEvent.textTracks,\n nativeEvent.audioTracks,\n nativeEvent.videoTracks,\n decodeNanInf(nativeEvent.duration),\n nativeEvent.selectedTextTrack,\n nativeEvent.selectedVideoTrack,\n nativeEvent.selectedAudioTrack,\n ),\n );\n };\n\n private _onVolumeChange = (event: NativeSyntheticEvent<NativeVolumeChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultVolumeChangeEvent(event.nativeEvent.volume, event.nativeEvent.muted));\n };\n\n private _onError = (event: NativeSyntheticEvent<NativeErrorEvent>) => {\n const { error } = event.nativeEvent;\n this.setState({ error });\n this._facade.dispatchEvent(new DefaultErrorEvent(event.nativeEvent.error));\n };\n\n private _onProgress = (event: NativeSyntheticEvent<NativeProgressEvent>) => {\n this._facade.dispatchEvent(new DefaultProgressEvent(event.nativeEvent.seekable, event.nativeEvent.buffered));\n };\n\n private _onCanPlay = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.CANPLAY));\n };\n\n private _onPlay = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PLAY));\n };\n\n private _onPlaying = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PLAYING));\n };\n\n private _onPause = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PAUSE));\n };\n\n private _onSeeking = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SEEKING));\n };\n\n private _onSeeked = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.SEEKED));\n };\n\n private _onWaiting = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.WAITING));\n };\n\n private _onEnded = () => {\n this._facade.dispatchEvent(new BaseEvent(PlayerEventType.ENDED));\n };\n\n private _onReadStateChange = (event: NativeSyntheticEvent<NativeReadyStateChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultReadyStateChangeEvent(event.nativeEvent.readyState));\n };\n\n private _onTimeUpdate = (event: NativeSyntheticEvent<NativeTimeUpdateEvent>) => {\n this._facade.dispatchEvent(new DefaultTimeupdateEvent(event.nativeEvent.currentTime, event.nativeEvent.currentProgramDateTime));\n };\n\n private _onDurationChange = (event: NativeSyntheticEvent<NativeDurationChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultDurationChangeEvent(decodeNanInf(event.nativeEvent.duration)));\n };\n\n private _onRateChange = (event: NativeSyntheticEvent<NativeRateChangeEvent>) => {\n this._facade.dispatchEvent(new DefaultRateChangeEvent(event.nativeEvent.playbackRate));\n };\n\n private _onSegmentNotFound = (event: NativeSyntheticEvent<NativeSegmentNotFoundEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(new DefaultSegmentNotFoundEvent(nativeEvent.segmentStartTime, nativeEvent.error, nativeEvent.retryCount));\n };\n\n private _onTextTrackListEvent = (event: NativeSyntheticEvent<NativeTextTrackListEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(new DefaultTextTrackListEvent(toTrackListEventType(nativeEvent.type), nativeEvent.track));\n };\n\n private _onTextTrackEvent = (event: NativeSyntheticEvent<NativeTextTrackEvent>) => {\n const nativeEvent = event.nativeEvent;\n const cue = nativeEvent.cue;\n if (cue) {\n this.normalizeCue(cue);\n }\n this._facade.dispatchEvent(new DefaultTextTrackEvent(toTextTrackEventType(nativeEvent.type), nativeEvent.trackUid, cue));\n };\n\n private normalizeCue(cue: TextTrackCue) {\n cue.startTime = decodeNanInf(cue.startTime);\n cue.endTime = decodeNanInf(cue.endTime);\n if (isDateRangeCue(cue)) {\n cue.startDate = new Date(cue.startDate);\n if (cue.endDate) {\n cue.endDate = new Date(cue.endDate);\n }\n if (cue.duration) {\n cue.duration = decodeNanInf(cue.duration);\n }\n if (cue.plannedDuration) {\n cue.plannedDuration = decodeNanInf(cue.plannedDuration);\n }\n }\n }\n\n private _onMediaTrackListEvent = (event: NativeSyntheticEvent<NativeMediaTrackListEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(\n new DefaultMediaTrackListEvent(toTrackListEventType(nativeEvent.type), toMediaTrackType(nativeEvent.trackType), nativeEvent.track),\n );\n };\n\n private _onMediaTrackEvent = (event: NativeSyntheticEvent<NativeMediaTrackEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(\n new DefaultMediaTrackEvent(\n toMediaTrackTypeEventType(nativeEvent.type),\n toMediaTrackType(nativeEvent.trackType),\n nativeEvent.trackUid,\n nativeEvent.qualities,\n ),\n );\n };\n\n private _onAdEvent = (event: NativeSyntheticEvent<NativeAdEvent>) => {\n const nativeEvent = event.nativeEvent;\n this._facade.dispatchEvent(new DefaultAdEvent(nativeEvent.type, nativeEvent.ad));\n };\n\n private _onCastEvent = (event: NativeSyntheticEvent<NativeCastEvent>) => {\n switch (event.nativeEvent.type) {\n case CastEventType.CHROMECAST_STATE_CHANGE:\n this._facade.dispatchEvent(new DefaultChromecastChangeEvent(event.nativeEvent.state));\n break;\n case CastEventType.AIRPLAY_STATE_CHANGE:\n this._facade.dispatchEvent(new DefaultAirplayStateChangeEvent(event.nativeEvent.state));\n break;\n case CastEventType.CHROMECAST_ERROR:\n this._facade.dispatchEvent(new DefaultChromecastErrorEvent(event.nativeEvent.error));\n break;\n }\n };\n\n private _onPresentationModeChange = (event: NativeSyntheticEvent<NativePresentationModeChangeEvent>) => {\n this.setState({ presentationMode: event.nativeEvent.presentationMode });\n this._facade.dispatchEvent(\n new DefaultPresentationModeChangeEvent(\n event.nativeEvent.presentationMode,\n event.nativeEvent.previousPresentationMode,\n event.nativeEvent.context,\n ),\n );\n };\n\n public render(): JSX.Element {\n const { config, style, children } = this.props;\n const { presentationMode, screenSize: fullscreenSize } = this.state;\n\n return (\n <View style={[styles.base, style, presentationMode === PresentationMode.fullscreen ? fullscreenSize : {}]}>\n <THEOplayerRCTView\n ref={this._root}\n style={StyleSheet.absoluteFill}\n config={config || {}}\n onNativePlayerReady={this._onNativePlayerReady}\n onNativeSourceChange={this._onSourceChange}\n onNativeLoadStart={this._onLoadStart}\n onNativeLoadedData={this._onLoadedData}\n onNativeLoadedMetadata={this._onLoadedMetadata}\n onNativeVolumeChange={this._onVolumeChange}\n onNativeError={this._onError}\n onNativeProgress={this._onProgress}\n onNativeCanPlay={this._onCanPlay}\n onNativePlay={this._onPlay}\n onNativePlaying={this._onPlaying}\n onNativePause={this._onPause}\n onNativeSeeking={this._onSeeking}\n onNativeSeeked={this._onSeeked}\n onNativeWaiting={this._onWaiting}\n onNativeEnded={this._onEnded}\n onNativeReadyStateChange={this._onReadStateChange}\n onNativeTimeUpdate={this._onTimeUpdate}\n onNativeDurationChange={this._onDurationChange}\n onNativeRateChange={this._onRateChange}\n onNativeSegmentNotFound={this._onSegmentNotFound}\n onNativeTextTrackListEvent={this._onTextTrackListEvent}\n onNativeTextTrackEvent={this._onTextTrackEvent}\n onNativeMediaTrackListEvent={this._onMediaTrackListEvent}\n onNativeMediaTrackEvent={this._onMediaTrackEvent}\n onNativeAdEvent={this._onAdEvent}\n onNativeCastEvent={this._onCastEvent}\n onNativePresentationModeChange={this._onPresentationModeChange}\n />\n {children}\n </View>\n );\n }\n}\n\nconst LINKING_ERROR =\n `The package 'react-native-theoplayer' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: '- You have run \\'pod install\\'\\n', default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst ComponentName = 'THEOplayerRCTView';\n\nconst THEOplayerRCTView =\n UIManager.getViewManagerConfig(ComponentName) != null\n ? requireNativeComponent<THEOplayerRCTViewProps>(ComponentName)\n : () => {\n throw new Error(LINKING_ERROR);\n };\n"],"mappings":"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"}
@@ -68,6 +68,9 @@ class THEOplayerAdapter extends _DefaultEventDispatcher.DefaultEventDispatcher {
68
68
  });
69
69
  _defineProperty(this, "onPresentationModeChange", event => {
70
70
  this._state.presentationMode = event.presentationMode;
71
+ if (_reactNative.Platform.OS === 'ios') {
72
+ _reactNative.StatusBar.setHidden(event.presentationMode === _reactNativeTheoplayer.PresentationMode.fullscreen, 'slide');
73
+ }
71
74
  });
72
75
  _defineProperty(this, "onTimeupdate", event => {
73
76
  this._state.currentTime = event.currentTime;
@@ -1 +1 @@
1
- {"version":3,"names":["_DefaultEventDispatcher","require","_reactNativeTheoplayer","_THEOplayerNativeAdsAdapter","_THEOplayerNativeCastAdapter","_AbrAdapter","_reactNative","_TextTrackStyleAdapter","_EventBroadcastAdapter","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","defaultPlayerState","source","autoplay","paused","seekable","buffered","pipConfig","startsAutomatically","backgroundAudioConfig","enabled","presentationMode","PresentationMode","inline","muted","seeking","volume","currentTime","duration","NaN","playbackRate","preload","aspectRatio","AspectRatio","FIT","keepScreenOn","audioTracks","videoTracks","textTracks","targetVideoQuality","selectedVideoTrack","selectedAudioTrack","selectedTextTrack","THEOplayerAdapter","DefaultEventDispatcher","constructor","view","initialState","arguments","length","applyAutoplay","_state","event","isFinite","start","end","_event$seekable","_event$buffered","sort","a","b","subType","cue","trackUid","track","findTextTrackByUid","TextTrackEventType","ADD_CUE","addTextTrackCue","REMOVE_CUE","removeTextTrackCue","TrackListEventType","ADD_TRACK","addTrack","REMOVE_TRACK","removeTrack","CHANGE_TRACK","trackType","tracks","MediaTrackType","VIDEO","findMediaTrackByUid","MediaTrackEventType","ACTIVE_QUALITY_CHANGED","assign","activeQuality","qualities","isAudio","AUDIO","_view","_adsAdapter","THEOplayerNativeAdsAdapter","_castAdapter","THEOplayerNativeCastAdapter","_abrAdapter","AbrAdapter","_textTrackStyleAdapter","TextTrackStyleAdapter","addEventListener","PlayerEventType","SOURCE_CHANGE","onSourceChange","LOADED_METADATA","onLoadedMetadata","PAUSE","onPause","PLAYING","onPlaying","TIME_UPDATE","onTimeupdate","DURATION_CHANGE","onDurationChange","RATE_CHANGE","onRateChange","SEEKING","onSeeking","SEEKED","onSeeked","PROGRESS","onProgress","TEXT_TRACK_LIST","onTextTrackList","TEXT_TRACK","onTextTrack","MEDIA_TRACK","onMediaTrack","MEDIA_TRACK_LIST","onMediaTrackList","PRESENTATIONMODE_CHANGE","onPresentationModeChange","hasValidSource","abr","Platform","OS","ads","play","pause","type","NativeModules","PlayerModule","setPreload","nativeHandle","seekableEnd","ranges","cast","isNaN","seekTime","Infinity","setCurrentTime","pipConfiguration","setPipConfig","backgroundAudioConfiguration","setBackgroundAudioConfig","setPresentationMode","setMuted","setPlaybackRate","setSelectedAudioTrack","setSelectedVideoTrack","forEach","uid","mode","TextTrackMode","showing","disabled","setSelectedTextTrack","textTrackStyle","setSource","target","Array","isArray","targetQuality","setTargetVideoQuality","setVolume","ratio","setAspectRatio","setKeepScreenOn","setPaused","version","_playerVersion","broadcast","_externalEventRouter","EventBroadcastAdapter","initializeFromNativePlayer_","state","init_","exports"],"sources":["THEOplayerAdapter.ts"],"sourcesContent":["import { DefaultEventDispatcher } from './event/DefaultEventDispatcher';\nimport type {\n ABRConfiguration,\n AdsAPI,\n CastAPI,\n DurationChangeEvent, EventBroadcastAPI,\n LoadedMetadataEvent,\n MediaTrack,\n MediaTrackEvent,\n MediaTrackListEvent,\n NativeHandleType,\n PiPConfiguration,\n PlayerEventMap,\n PresentationModeChangeEvent,\n ProgressEvent,\n RateChangeEvent,\n SourceDescription,\n TextTrack,\n TextTrackEvent,\n TextTrackListEvent,\n THEOplayer,\n THEOplayerView,\n TimeUpdateEvent,\n} from 'react-native-theoplayer';\nimport {\n addTextTrackCue,\n addTrack,\n AspectRatio,\n BackgroundAudioConfiguration,\n findMediaTrackByUid,\n findTextTrackByUid,\n MediaTrackEventType,\n MediaTrackType,\n PlayerEventType,\n PlayerVersion,\n PreloadType,\n PresentationMode,\n removeTextTrackCue,\n removeTrack,\n TextTrackEventType,\n TextTrackMode,\n TextTrackStyle,\n TrackListEventType,\n} from 'react-native-theoplayer';\nimport { THEOplayerNativeAdsAdapter } from './ads/THEOplayerNativeAdsAdapter';\nimport { THEOplayerNativeCastAdapter } from './cast/THEOplayerNativeCastAdapter';\nimport { AbrAdapter } from './abr/AbrAdapter';\nimport { NativeModules, Platform } from 'react-native';\nimport { TextTrackStyleAdapter } from './track/TextTrackStyleAdapter';\nimport type { NativePlayerState } from './NativePlayerState';\nimport { EventBroadcastAdapter } from \"./broadcast/EventBroadcastAdapter\";\n\nconst defaultPlayerState: NativePlayerState = {\n source: undefined,\n autoplay: false,\n paused: false,\n seekable: [],\n buffered: [],\n pipConfig: { startsAutomatically: false },\n backgroundAudioConfig: { enabled: false },\n presentationMode: PresentationMode.inline,\n muted: false,\n seeking: false,\n volume: 1,\n currentTime: 0,\n duration: NaN,\n playbackRate: 1,\n preload: 'none',\n aspectRatio: AspectRatio.FIT,\n keepScreenOn: true,\n audioTracks: [],\n videoTracks: [],\n textTracks: [],\n targetVideoQuality: undefined,\n selectedVideoTrack: undefined,\n selectedAudioTrack: undefined,\n selectedTextTrack: undefined,\n};\n\nexport class THEOplayerAdapter extends DefaultEventDispatcher<PlayerEventMap> implements THEOplayer {\n private readonly _view: THEOplayerView;\n private readonly _state: NativePlayerState;\n private readonly _adsAdapter: THEOplayerNativeAdsAdapter;\n private readonly _castAdapter: THEOplayerNativeCastAdapter;\n private readonly _abrAdapter: AbrAdapter;\n private readonly _textTrackStyleAdapter: TextTrackStyleAdapter;\n private _externalEventRouter: EventBroadcastAPI | undefined = undefined;\n private _playerVersion!: PlayerVersion;\n\n constructor(view: THEOplayerView, initialState: NativePlayerState = defaultPlayerState) {\n super();\n this._view = view;\n this._state = { ...initialState };\n this._adsAdapter = new THEOplayerNativeAdsAdapter(this._view);\n this._castAdapter = new THEOplayerNativeCastAdapter(this, this._view);\n this._abrAdapter = new AbrAdapter(this._view);\n this._textTrackStyleAdapter = new TextTrackStyleAdapter(this._view);\n\n this.addEventListener(PlayerEventType.SOURCE_CHANGE, this.onSourceChange);\n this.addEventListener(PlayerEventType.LOADED_METADATA, this.onLoadedMetadata);\n this.addEventListener(PlayerEventType.PAUSE, this.onPause);\n this.addEventListener(PlayerEventType.PLAYING, this.onPlaying);\n this.addEventListener(PlayerEventType.TIME_UPDATE, this.onTimeupdate);\n this.addEventListener(PlayerEventType.DURATION_CHANGE, this.onDurationChange);\n this.addEventListener(PlayerEventType.RATE_CHANGE, this.onRateChange);\n this.addEventListener(PlayerEventType.SEEKING, this.onSeeking);\n this.addEventListener(PlayerEventType.SEEKED, this.onSeeked);\n this.addEventListener(PlayerEventType.PROGRESS, this.onProgress);\n this.addEventListener(PlayerEventType.TEXT_TRACK_LIST, this.onTextTrackList);\n this.addEventListener(PlayerEventType.TEXT_TRACK, this.onTextTrack);\n this.addEventListener(PlayerEventType.MEDIA_TRACK, this.onMediaTrack);\n this.addEventListener(PlayerEventType.MEDIA_TRACK_LIST, this.onMediaTrackList);\n this.addEventListener(PlayerEventType.PRESENTATIONMODE_CHANGE, this.onPresentationModeChange);\n }\n\n private onSourceChange = () => {\n this.applyAutoplay();\n };\n\n private hasValidSource(): boolean {\n return this._state.source !== undefined;\n }\n\n private onPause = () => {\n this._state.paused = true;\n };\n\n private onPlaying = () => {\n this._state.paused = false;\n };\n\n private onPresentationModeChange = (event: PresentationModeChangeEvent) => {\n this._state.presentationMode = event.presentationMode;\n };\n\n private onTimeupdate = (event: TimeUpdateEvent) => {\n this._state.currentTime = event.currentTime;\n };\n\n private onLoadedMetadata = (event: LoadedMetadataEvent) => {\n this._state.duration = event.duration;\n this._state.audioTracks = event.audioTracks;\n this._state.videoTracks = event.videoTracks;\n this._state.textTracks = event.textTracks;\n this._state.selectedAudioTrack = event.selectedAudioTrack;\n this._state.selectedVideoTrack = event.selectedVideoTrack;\n this._state.selectedTextTrack = event.selectedTextTrack;\n if (isFinite(this._state.duration)) {\n this._state.seekable = [{start: 0, end: this._state.duration}];\n }\n };\n\n private onDurationChange = (event: DurationChangeEvent) => {\n this._state.duration = event.duration;\n };\n\n private onRateChange = (event: RateChangeEvent) => {\n this._state.playbackRate = event.playbackRate;\n };\n\n private onSeeking = () => {\n this._state.seeking = true;\n };\n\n private onSeeked = () => {\n this._state.seeking = false;\n };\n\n private onProgress = (event: ProgressEvent) => {\n this._state.seekable = event.seekable?.sort((a, b) => a.end - b.end);\n this._state.buffered = event.buffered?.sort((a, b) => a.end - b.end);\n };\n\n private onTextTrack = (event: TextTrackEvent) => {\n const { subType, cue, trackUid } = event;\n const track = findTextTrackByUid(this._state.textTracks, trackUid);\n switch (subType) {\n case TextTrackEventType.ADD_CUE:\n addTextTrackCue(track, cue);\n break;\n case TextTrackEventType.REMOVE_CUE:\n removeTextTrackCue(track, cue);\n break;\n }\n };\n\n private onTextTrackList = (event: TextTrackListEvent) => {\n const { subType, track } = event;\n switch (subType) {\n case TrackListEventType.ADD_TRACK:\n this._state.textTracks = addTrack(this._state.textTracks, track);\n break;\n case TrackListEventType.REMOVE_TRACK:\n this._state.textTracks = removeTrack(this._state.textTracks, track);\n break;\n case TrackListEventType.CHANGE_TRACK:\n this._state.textTracks = removeTrack(this._state.textTracks, track);\n this._state.textTracks = addTrack(this._state.textTracks, track);\n break;\n }\n };\n\n private onMediaTrack = (event: MediaTrackEvent) => {\n const { subType, trackType, trackUid } = event;\n const tracks = trackType === MediaTrackType.VIDEO ? this._state.videoTracks : this._state.audioTracks;\n const track = findMediaTrackByUid(tracks, trackUid);\n switch (subType) {\n case MediaTrackEventType.ACTIVE_QUALITY_CHANGED:\n // Update local state\n if (track) {\n Object.assign(track, { ...track, activeQuality: event.qualities });\n }\n break;\n }\n };\n\n private onMediaTrackList = (event: MediaTrackListEvent) => {\n const { subType, trackType, track } = event;\n const isAudio = trackType === MediaTrackType.AUDIO;\n switch (subType) {\n case TrackListEventType.ADD_TRACK:\n if (isAudio) {\n this._state.audioTracks = addTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = addTrack(this._state.videoTracks, track);\n }\n break;\n case TrackListEventType.REMOVE_TRACK:\n if (isAudio) {\n this._state.audioTracks = removeTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = removeTrack(this._state.videoTracks, track);\n }\n break;\n case TrackListEventType.CHANGE_TRACK:\n if (isAudio) {\n this._state.audioTracks = removeTrack(this._state.audioTracks, track);\n this._state.audioTracks = addTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = removeTrack(this._state.videoTracks, track);\n this._state.videoTracks = addTrack(this._state.videoTracks, track);\n }\n break;\n }\n };\n\n get abr(): ABRConfiguration | undefined {\n return Platform.OS === 'android' ? this._abrAdapter : undefined;\n }\n\n get ads(): AdsAPI {\n return this._adsAdapter;\n }\n\n private applyAutoplay() {\n if (!this.hasValidSource()) {\n return;\n }\n if (this._state.autoplay) {\n this.play();\n } else {\n this.pause();\n }\n }\n\n set autoplay(autoplay: boolean) {\n this._state.autoplay = autoplay;\n\n // Apply autoplay in case a source was already set.\n // If autoplay is changed before setting a source, `onSourceChange` applies autoplay.\n this.applyAutoplay();\n }\n\n get autoplay(): boolean {\n return this._state.autoplay;\n }\n\n set preload(type: PreloadType) {\n this._state.preload = type;\n NativeModules.PlayerModule.setPreload(this._view.nativeHandle, type);\n }\n\n get preload(): PreloadType {\n return this._state.preload;\n }\n\n get seekable() {\n return this._state.seekable;\n }\n\n private seekableEnd(): number {\n const ranges = this.seekable;\n return ranges.length === 0 ? 0 : ranges[ranges.length - 1].end;\n }\n\n get buffered() {\n return this._state.buffered;\n }\n\n get cast(): CastAPI {\n return this._castAdapter;\n }\n\n get currentTime(): number {\n return this._state.currentTime;\n }\n\n set currentTime(currentTime: number) {\n if (!this.hasValidSource()) {\n return;\n }\n\n if (isNaN(currentTime)) {\n return;\n }\n\n // Sanitise currentTime\n let seekTime = currentTime;\n if (currentTime === Infinity) {\n seekTime = this.seekableEnd();\n }\n\n this._state.currentTime = seekTime;\n NativeModules.PlayerModule.setCurrentTime(this._view.nativeHandle, seekTime);\n }\n\n get duration(): number {\n return this._state.duration;\n }\n\n get pipConfiguration(): PiPConfiguration {\n return this._state.pipConfig;\n }\n\n set pipConfiguration(pipConfiguration: PiPConfiguration) {\n this._state.pipConfig = pipConfiguration;\n NativeModules.PlayerModule.setPipConfig(this._view.nativeHandle, pipConfiguration);\n }\n\n get backgroundAudioConfiguration(): BackgroundAudioConfiguration {\n return this._state.backgroundAudioConfig;\n }\n\n set backgroundAudioConfiguration(backgroundAudioConfiguration: BackgroundAudioConfiguration) {\n this._state.backgroundAudioConfig = backgroundAudioConfiguration;\n NativeModules.PlayerModule.setBackgroundAudioConfig(this._view.nativeHandle, backgroundAudioConfiguration);\n }\n\n get presentationMode(): PresentationMode {\n return this._state.presentationMode;\n }\n\n set presentationMode(presentationMode: PresentationMode) {\n this._state.presentationMode = presentationMode;\n NativeModules.PlayerModule.setPresentationMode(this._view.nativeHandle, presentationMode);\n }\n\n get muted(): boolean {\n return this._state.muted;\n }\n\n set muted(muted: boolean) {\n this._state.muted = muted;\n NativeModules.PlayerModule.setMuted(this._view.nativeHandle, muted);\n }\n\n get seeking(): boolean {\n return this._state.seeking;\n }\n\n get paused(): boolean {\n return this._state.paused;\n }\n\n get playbackRate(): number {\n return this._state.playbackRate;\n }\n\n set playbackRate(playbackRate: number) {\n this._state.playbackRate = playbackRate;\n NativeModules.PlayerModule.setPlaybackRate(this._view.nativeHandle, playbackRate);\n }\n\n get audioTracks(): MediaTrack[] {\n return this._state.audioTracks;\n }\n\n get selectedAudioTrack(): number | undefined {\n return this._state.selectedAudioTrack;\n }\n\n set selectedAudioTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedAudioTrack = trackUid;\n NativeModules.PlayerModule.setSelectedAudioTrack(this._view.nativeHandle, (trackUid !== undefined) ? trackUid : -1);\n }\n\n get videoTracks(): MediaTrack[] {\n return this._state.videoTracks;\n }\n\n get selectedVideoTrack(): number | undefined {\n return this._state.selectedVideoTrack;\n }\n\n set selectedVideoTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedVideoTrack = trackUid;\n this._state.targetVideoQuality = undefined;\n NativeModules.PlayerModule.setSelectedVideoTrack(this._view.nativeHandle, (trackUid !== undefined) ? trackUid : -1);\n }\n\n get textTracks(): TextTrack[] {\n return this._state.textTracks;\n }\n\n get selectedTextTrack(): number | undefined {\n return this._state.selectedTextTrack;\n }\n\n set selectedTextTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedTextTrack = trackUid;\n this.textTracks.forEach((track) => {\n if (track.uid === trackUid) {\n track.mode = TextTrackMode.showing;\n } else if (track.mode === TextTrackMode.showing) {\n track.mode = TextTrackMode.disabled;\n }\n });\n NativeModules.PlayerModule.setSelectedTextTrack(this._view.nativeHandle, (trackUid !== undefined) ? trackUid : -1);\n }\n\n get textTrackStyle(): TextTrackStyle {\n return this._textTrackStyleAdapter;\n }\n\n get source(): SourceDescription | undefined {\n return this._state.source;\n }\n\n set source(source: SourceDescription | undefined) {\n // This is to correctly reset autoplay during a source change.\n this.pause();\n this._state.source = source;\n NativeModules.PlayerModule.setSource(this._view.nativeHandle, source);\n // Reset state for play-out of new source\n Object.assign(this._state, {\n playbackRate: 1,\n seeking: false,\n audioTracks: [],\n videoTracks: [],\n textTracks: [],\n seekable: [],\n buffered: [],\n selectedTextTrack: undefined,\n selectedVideoTrack: undefined,\n selectedAudioTrack: undefined,\n targetVideoQuality: undefined,\n });\n }\n\n get targetVideoQuality(): number | number[] | undefined {\n return this._state.targetVideoQuality;\n }\n\n set targetVideoQuality(target: number | number[] | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n // Always pass an array for targetVideoQuality.\n this._state.targetVideoQuality = !target ? [] : Array.isArray(target) ? target : [target];\n\n // Update local state\n const track = findMediaTrackByUid(this._state.videoTracks, this.selectedVideoTrack);\n if (track) {\n Object.assign(track, { ...track, targetQuality: this._state.targetVideoQuality });\n }\n NativeModules.PlayerModule.setTargetVideoQuality(this._view.nativeHandle, this._state.targetVideoQuality);\n }\n\n get volume(): number {\n return this._state.volume;\n }\n\n set volume(volume: number) {\n this._state.volume = volume;\n NativeModules.PlayerModule.setVolume(this._view.nativeHandle, volume);\n }\n\n get aspectRatio(): AspectRatio {\n return this._state.aspectRatio;\n }\n\n set aspectRatio(ratio: AspectRatio) {\n this._state.aspectRatio = ratio;\n NativeModules.PlayerModule.setAspectRatio(this._view.nativeHandle, ratio);\n }\n\n get keepScreenOn(): boolean {\n return this._state.keepScreenOn;\n }\n\n set keepScreenOn(value: boolean) {\n this._state.keepScreenOn = value;\n if (Platform.OS === 'android') {\n NativeModules.PlayerModule.setKeepScreenOn(this._view.nativeHandle, value);\n }\n }\n\n pause(): void {\n if (this.hasValidSource()) {\n this._state.paused = true;\n NativeModules.PlayerModule.setPaused(this._view.nativeHandle, true);\n }\n }\n\n play(): void {\n if (this.hasValidSource()) {\n this._state.paused = false;\n NativeModules.PlayerModule.setPaused(this._view.nativeHandle, false);\n }\n }\n\n public get version(): PlayerVersion {\n return this._playerVersion;\n }\n\n // @internal\n get nativeHandle(): NativeHandleType {\n return this._view.nativeHandle;\n }\n\n // @internal\n get broadcast(): EventBroadcastAPI {\n return this._externalEventRouter ?? (this._externalEventRouter = new EventBroadcastAdapter(this));\n }\n\n initializeFromNativePlayer_(version: PlayerVersion, state: NativePlayerState | undefined) {\n this._playerVersion = version;\n if (state) {\n Object.assign(this._state, state);\n this._castAdapter.init_();\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_DefaultEventDispatcher","require","_reactNativeTheoplayer","_THEOplayerNativeAdsAdapter","_THEOplayerNativeCastAdapter","_AbrAdapter","_reactNative","_TextTrackStyleAdapter","_EventBroadcastAdapter","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","defaultPlayerState","source","autoplay","paused","seekable","buffered","pipConfig","startsAutomatically","backgroundAudioConfig","enabled","presentationMode","PresentationMode","inline","muted","seeking","volume","currentTime","duration","NaN","playbackRate","preload","aspectRatio","AspectRatio","FIT","keepScreenOn","audioTracks","videoTracks","textTracks","targetVideoQuality","selectedVideoTrack","selectedAudioTrack","selectedTextTrack","THEOplayerAdapter","DefaultEventDispatcher","constructor","view","initialState","arguments","length","applyAutoplay","_state","event","Platform","OS","StatusBar","setHidden","fullscreen","isFinite","start","end","_event$seekable","_event$buffered","sort","a","b","subType","cue","trackUid","track","findTextTrackByUid","TextTrackEventType","ADD_CUE","addTextTrackCue","REMOVE_CUE","removeTextTrackCue","TrackListEventType","ADD_TRACK","addTrack","REMOVE_TRACK","removeTrack","CHANGE_TRACK","trackType","tracks","MediaTrackType","VIDEO","findMediaTrackByUid","MediaTrackEventType","ACTIVE_QUALITY_CHANGED","assign","activeQuality","qualities","isAudio","AUDIO","_view","_adsAdapter","THEOplayerNativeAdsAdapter","_castAdapter","THEOplayerNativeCastAdapter","_abrAdapter","AbrAdapter","_textTrackStyleAdapter","TextTrackStyleAdapter","addEventListener","PlayerEventType","SOURCE_CHANGE","onSourceChange","LOADED_METADATA","onLoadedMetadata","PAUSE","onPause","PLAYING","onPlaying","TIME_UPDATE","onTimeupdate","DURATION_CHANGE","onDurationChange","RATE_CHANGE","onRateChange","SEEKING","onSeeking","SEEKED","onSeeked","PROGRESS","onProgress","TEXT_TRACK_LIST","onTextTrackList","TEXT_TRACK","onTextTrack","MEDIA_TRACK","onMediaTrack","MEDIA_TRACK_LIST","onMediaTrackList","PRESENTATIONMODE_CHANGE","onPresentationModeChange","hasValidSource","abr","ads","play","pause","type","NativeModules","PlayerModule","setPreload","nativeHandle","seekableEnd","ranges","cast","isNaN","seekTime","Infinity","setCurrentTime","pipConfiguration","setPipConfig","backgroundAudioConfiguration","setBackgroundAudioConfig","setPresentationMode","setMuted","setPlaybackRate","setSelectedAudioTrack","setSelectedVideoTrack","forEach","uid","mode","TextTrackMode","showing","disabled","setSelectedTextTrack","textTrackStyle","setSource","target","Array","isArray","targetQuality","setTargetVideoQuality","setVolume","ratio","setAspectRatio","setKeepScreenOn","setPaused","version","_playerVersion","broadcast","_externalEventRouter","EventBroadcastAdapter","initializeFromNativePlayer_","state","init_","exports"],"sources":["THEOplayerAdapter.ts"],"sourcesContent":["import { DefaultEventDispatcher } from './event/DefaultEventDispatcher';\nimport type {\n ABRConfiguration,\n AdsAPI,\n CastAPI,\n DurationChangeEvent,\n EventBroadcastAPI,\n LoadedMetadataEvent,\n MediaTrack,\n MediaTrackEvent,\n MediaTrackListEvent,\n NativeHandleType,\n PiPConfiguration,\n PlayerEventMap,\n PresentationModeChangeEvent,\n ProgressEvent,\n RateChangeEvent,\n SourceDescription,\n TextTrack,\n TextTrackEvent,\n TextTrackListEvent,\n THEOplayer,\n THEOplayerView,\n TimeUpdateEvent,\n} from 'react-native-theoplayer';\nimport {\n addTextTrackCue,\n addTrack,\n AspectRatio,\n BackgroundAudioConfiguration,\n findMediaTrackByUid,\n findTextTrackByUid,\n MediaTrackEventType,\n MediaTrackType,\n PlayerEventType,\n PlayerVersion,\n PreloadType,\n PresentationMode,\n removeTextTrackCue,\n removeTrack,\n TextTrackEventType,\n TextTrackMode,\n TextTrackStyle,\n TrackListEventType,\n} from 'react-native-theoplayer';\nimport { THEOplayerNativeAdsAdapter } from './ads/THEOplayerNativeAdsAdapter';\nimport { THEOplayerNativeCastAdapter } from './cast/THEOplayerNativeCastAdapter';\nimport { AbrAdapter } from './abr/AbrAdapter';\nimport { NativeModules, Platform, StatusBar } from 'react-native';\nimport { TextTrackStyleAdapter } from './track/TextTrackStyleAdapter';\nimport type { NativePlayerState } from './NativePlayerState';\nimport { EventBroadcastAdapter } from './broadcast/EventBroadcastAdapter';\n\nconst defaultPlayerState: NativePlayerState = {\n source: undefined,\n autoplay: false,\n paused: false,\n seekable: [],\n buffered: [],\n pipConfig: { startsAutomatically: false },\n backgroundAudioConfig: { enabled: false },\n presentationMode: PresentationMode.inline,\n muted: false,\n seeking: false,\n volume: 1,\n currentTime: 0,\n duration: NaN,\n playbackRate: 1,\n preload: 'none',\n aspectRatio: AspectRatio.FIT,\n keepScreenOn: true,\n audioTracks: [],\n videoTracks: [],\n textTracks: [],\n targetVideoQuality: undefined,\n selectedVideoTrack: undefined,\n selectedAudioTrack: undefined,\n selectedTextTrack: undefined,\n};\n\nexport class THEOplayerAdapter extends DefaultEventDispatcher<PlayerEventMap> implements THEOplayer {\n private readonly _view: THEOplayerView;\n private readonly _state: NativePlayerState;\n private readonly _adsAdapter: THEOplayerNativeAdsAdapter;\n private readonly _castAdapter: THEOplayerNativeCastAdapter;\n private readonly _abrAdapter: AbrAdapter;\n private readonly _textTrackStyleAdapter: TextTrackStyleAdapter;\n private _externalEventRouter: EventBroadcastAPI | undefined = undefined;\n private _playerVersion!: PlayerVersion;\n\n constructor(view: THEOplayerView, initialState: NativePlayerState = defaultPlayerState) {\n super();\n this._view = view;\n this._state = { ...initialState };\n this._adsAdapter = new THEOplayerNativeAdsAdapter(this._view);\n this._castAdapter = new THEOplayerNativeCastAdapter(this, this._view);\n this._abrAdapter = new AbrAdapter(this._view);\n this._textTrackStyleAdapter = new TextTrackStyleAdapter(this._view);\n\n this.addEventListener(PlayerEventType.SOURCE_CHANGE, this.onSourceChange);\n this.addEventListener(PlayerEventType.LOADED_METADATA, this.onLoadedMetadata);\n this.addEventListener(PlayerEventType.PAUSE, this.onPause);\n this.addEventListener(PlayerEventType.PLAYING, this.onPlaying);\n this.addEventListener(PlayerEventType.TIME_UPDATE, this.onTimeupdate);\n this.addEventListener(PlayerEventType.DURATION_CHANGE, this.onDurationChange);\n this.addEventListener(PlayerEventType.RATE_CHANGE, this.onRateChange);\n this.addEventListener(PlayerEventType.SEEKING, this.onSeeking);\n this.addEventListener(PlayerEventType.SEEKED, this.onSeeked);\n this.addEventListener(PlayerEventType.PROGRESS, this.onProgress);\n this.addEventListener(PlayerEventType.TEXT_TRACK_LIST, this.onTextTrackList);\n this.addEventListener(PlayerEventType.TEXT_TRACK, this.onTextTrack);\n this.addEventListener(PlayerEventType.MEDIA_TRACK, this.onMediaTrack);\n this.addEventListener(PlayerEventType.MEDIA_TRACK_LIST, this.onMediaTrackList);\n this.addEventListener(PlayerEventType.PRESENTATIONMODE_CHANGE, this.onPresentationModeChange);\n }\n\n private onSourceChange = () => {\n this.applyAutoplay();\n };\n\n private hasValidSource(): boolean {\n return this._state.source !== undefined;\n }\n\n private onPause = () => {\n this._state.paused = true;\n };\n\n private onPlaying = () => {\n this._state.paused = false;\n };\n\n private onPresentationModeChange = (event: PresentationModeChangeEvent) => {\n this._state.presentationMode = event.presentationMode;\n if (Platform.OS === 'ios') {\n StatusBar.setHidden(event.presentationMode === PresentationMode.fullscreen, 'slide');\n }\n };\n\n private onTimeupdate = (event: TimeUpdateEvent) => {\n this._state.currentTime = event.currentTime;\n };\n\n private onLoadedMetadata = (event: LoadedMetadataEvent) => {\n this._state.duration = event.duration;\n this._state.audioTracks = event.audioTracks;\n this._state.videoTracks = event.videoTracks;\n this._state.textTracks = event.textTracks;\n this._state.selectedAudioTrack = event.selectedAudioTrack;\n this._state.selectedVideoTrack = event.selectedVideoTrack;\n this._state.selectedTextTrack = event.selectedTextTrack;\n if (isFinite(this._state.duration)) {\n this._state.seekable = [{ start: 0, end: this._state.duration }];\n }\n };\n\n private onDurationChange = (event: DurationChangeEvent) => {\n this._state.duration = event.duration;\n };\n\n private onRateChange = (event: RateChangeEvent) => {\n this._state.playbackRate = event.playbackRate;\n };\n\n private onSeeking = () => {\n this._state.seeking = true;\n };\n\n private onSeeked = () => {\n this._state.seeking = false;\n };\n\n private onProgress = (event: ProgressEvent) => {\n this._state.seekable = event.seekable?.sort((a, b) => a.end - b.end);\n this._state.buffered = event.buffered?.sort((a, b) => a.end - b.end);\n };\n\n private onTextTrack = (event: TextTrackEvent) => {\n const { subType, cue, trackUid } = event;\n const track = findTextTrackByUid(this._state.textTracks, trackUid);\n switch (subType) {\n case TextTrackEventType.ADD_CUE:\n addTextTrackCue(track, cue);\n break;\n case TextTrackEventType.REMOVE_CUE:\n removeTextTrackCue(track, cue);\n break;\n }\n };\n\n private onTextTrackList = (event: TextTrackListEvent) => {\n const { subType, track } = event;\n switch (subType) {\n case TrackListEventType.ADD_TRACK:\n this._state.textTracks = addTrack(this._state.textTracks, track);\n break;\n case TrackListEventType.REMOVE_TRACK:\n this._state.textTracks = removeTrack(this._state.textTracks, track);\n break;\n case TrackListEventType.CHANGE_TRACK:\n this._state.textTracks = removeTrack(this._state.textTracks, track);\n this._state.textTracks = addTrack(this._state.textTracks, track);\n break;\n }\n };\n\n private onMediaTrack = (event: MediaTrackEvent) => {\n const { subType, trackType, trackUid } = event;\n const tracks = trackType === MediaTrackType.VIDEO ? this._state.videoTracks : this._state.audioTracks;\n const track = findMediaTrackByUid(tracks, trackUid);\n switch (subType) {\n case MediaTrackEventType.ACTIVE_QUALITY_CHANGED:\n // Update local state\n if (track) {\n Object.assign(track, { ...track, activeQuality: event.qualities });\n }\n break;\n }\n };\n\n private onMediaTrackList = (event: MediaTrackListEvent) => {\n const { subType, trackType, track } = event;\n const isAudio = trackType === MediaTrackType.AUDIO;\n switch (subType) {\n case TrackListEventType.ADD_TRACK:\n if (isAudio) {\n this._state.audioTracks = addTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = addTrack(this._state.videoTracks, track);\n }\n break;\n case TrackListEventType.REMOVE_TRACK:\n if (isAudio) {\n this._state.audioTracks = removeTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = removeTrack(this._state.videoTracks, track);\n }\n break;\n case TrackListEventType.CHANGE_TRACK:\n if (isAudio) {\n this._state.audioTracks = removeTrack(this._state.audioTracks, track);\n this._state.audioTracks = addTrack(this._state.audioTracks, track);\n } else {\n this._state.videoTracks = removeTrack(this._state.videoTracks, track);\n this._state.videoTracks = addTrack(this._state.videoTracks, track);\n }\n break;\n }\n };\n\n get abr(): ABRConfiguration | undefined {\n return Platform.OS === 'android' ? this._abrAdapter : undefined;\n }\n\n get ads(): AdsAPI {\n return this._adsAdapter;\n }\n\n private applyAutoplay() {\n if (!this.hasValidSource()) {\n return;\n }\n if (this._state.autoplay) {\n this.play();\n } else {\n this.pause();\n }\n }\n\n set autoplay(autoplay: boolean) {\n this._state.autoplay = autoplay;\n\n // Apply autoplay in case a source was already set.\n // If autoplay is changed before setting a source, `onSourceChange` applies autoplay.\n this.applyAutoplay();\n }\n\n get autoplay(): boolean {\n return this._state.autoplay;\n }\n\n set preload(type: PreloadType) {\n this._state.preload = type;\n NativeModules.PlayerModule.setPreload(this._view.nativeHandle, type);\n }\n\n get preload(): PreloadType {\n return this._state.preload;\n }\n\n get seekable() {\n return this._state.seekable;\n }\n\n private seekableEnd(): number {\n const ranges = this.seekable;\n return ranges.length === 0 ? 0 : ranges[ranges.length - 1].end;\n }\n\n get buffered() {\n return this._state.buffered;\n }\n\n get cast(): CastAPI {\n return this._castAdapter;\n }\n\n get currentTime(): number {\n return this._state.currentTime;\n }\n\n set currentTime(currentTime: number) {\n if (!this.hasValidSource()) {\n return;\n }\n\n if (isNaN(currentTime)) {\n return;\n }\n\n // Sanitise currentTime\n let seekTime = currentTime;\n if (currentTime === Infinity) {\n seekTime = this.seekableEnd();\n }\n\n this._state.currentTime = seekTime;\n NativeModules.PlayerModule.setCurrentTime(this._view.nativeHandle, seekTime);\n }\n\n get duration(): number {\n return this._state.duration;\n }\n\n get pipConfiguration(): PiPConfiguration {\n return this._state.pipConfig;\n }\n\n set pipConfiguration(pipConfiguration: PiPConfiguration) {\n this._state.pipConfig = pipConfiguration;\n NativeModules.PlayerModule.setPipConfig(this._view.nativeHandle, pipConfiguration);\n }\n\n get backgroundAudioConfiguration(): BackgroundAudioConfiguration {\n return this._state.backgroundAudioConfig;\n }\n\n set backgroundAudioConfiguration(backgroundAudioConfiguration: BackgroundAudioConfiguration) {\n this._state.backgroundAudioConfig = backgroundAudioConfiguration;\n NativeModules.PlayerModule.setBackgroundAudioConfig(this._view.nativeHandle, backgroundAudioConfiguration);\n }\n\n get presentationMode(): PresentationMode {\n return this._state.presentationMode;\n }\n\n set presentationMode(presentationMode: PresentationMode) {\n this._state.presentationMode = presentationMode;\n NativeModules.PlayerModule.setPresentationMode(this._view.nativeHandle, presentationMode);\n }\n\n get muted(): boolean {\n return this._state.muted;\n }\n\n set muted(muted: boolean) {\n this._state.muted = muted;\n NativeModules.PlayerModule.setMuted(this._view.nativeHandle, muted);\n }\n\n get seeking(): boolean {\n return this._state.seeking;\n }\n\n get paused(): boolean {\n return this._state.paused;\n }\n\n get playbackRate(): number {\n return this._state.playbackRate;\n }\n\n set playbackRate(playbackRate: number) {\n this._state.playbackRate = playbackRate;\n NativeModules.PlayerModule.setPlaybackRate(this._view.nativeHandle, playbackRate);\n }\n\n get audioTracks(): MediaTrack[] {\n return this._state.audioTracks;\n }\n\n get selectedAudioTrack(): number | undefined {\n return this._state.selectedAudioTrack;\n }\n\n set selectedAudioTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedAudioTrack = trackUid;\n NativeModules.PlayerModule.setSelectedAudioTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get videoTracks(): MediaTrack[] {\n return this._state.videoTracks;\n }\n\n get selectedVideoTrack(): number | undefined {\n return this._state.selectedVideoTrack;\n }\n\n set selectedVideoTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedVideoTrack = trackUid;\n this._state.targetVideoQuality = undefined;\n NativeModules.PlayerModule.setSelectedVideoTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get textTracks(): TextTrack[] {\n return this._state.textTracks;\n }\n\n get selectedTextTrack(): number | undefined {\n return this._state.selectedTextTrack;\n }\n\n set selectedTextTrack(trackUid: number | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n this._state.selectedTextTrack = trackUid;\n this.textTracks.forEach((track) => {\n if (track.uid === trackUid) {\n track.mode = TextTrackMode.showing;\n } else if (track.mode === TextTrackMode.showing) {\n track.mode = TextTrackMode.disabled;\n }\n });\n NativeModules.PlayerModule.setSelectedTextTrack(this._view.nativeHandle, trackUid !== undefined ? trackUid : -1);\n }\n\n get textTrackStyle(): TextTrackStyle {\n return this._textTrackStyleAdapter;\n }\n\n get source(): SourceDescription | undefined {\n return this._state.source;\n }\n\n set source(source: SourceDescription | undefined) {\n // This is to correctly reset autoplay during a source change.\n this.pause();\n this._state.source = source;\n NativeModules.PlayerModule.setSource(this._view.nativeHandle, source);\n // Reset state for play-out of new source\n Object.assign(this._state, {\n playbackRate: 1,\n seeking: false,\n audioTracks: [],\n videoTracks: [],\n textTracks: [],\n seekable: [],\n buffered: [],\n selectedTextTrack: undefined,\n selectedVideoTrack: undefined,\n selectedAudioTrack: undefined,\n targetVideoQuality: undefined,\n });\n }\n\n get targetVideoQuality(): number | number[] | undefined {\n return this._state.targetVideoQuality;\n }\n\n set targetVideoQuality(target: number | number[] | undefined) {\n if (!this.hasValidSource()) {\n return;\n }\n // Always pass an array for targetVideoQuality.\n this._state.targetVideoQuality = !target ? [] : Array.isArray(target) ? target : [target];\n\n // Update local state\n const track = findMediaTrackByUid(this._state.videoTracks, this.selectedVideoTrack);\n if (track) {\n Object.assign(track, { ...track, targetQuality: this._state.targetVideoQuality });\n }\n NativeModules.PlayerModule.setTargetVideoQuality(this._view.nativeHandle, this._state.targetVideoQuality);\n }\n\n get volume(): number {\n return this._state.volume;\n }\n\n set volume(volume: number) {\n this._state.volume = volume;\n NativeModules.PlayerModule.setVolume(this._view.nativeHandle, volume);\n }\n\n get aspectRatio(): AspectRatio {\n return this._state.aspectRatio;\n }\n\n set aspectRatio(ratio: AspectRatio) {\n this._state.aspectRatio = ratio;\n NativeModules.PlayerModule.setAspectRatio(this._view.nativeHandle, ratio);\n }\n\n get keepScreenOn(): boolean {\n return this._state.keepScreenOn;\n }\n\n set keepScreenOn(value: boolean) {\n this._state.keepScreenOn = value;\n if (Platform.OS === 'android') {\n NativeModules.PlayerModule.setKeepScreenOn(this._view.nativeHandle, value);\n }\n }\n\n pause(): void {\n if (this.hasValidSource()) {\n this._state.paused = true;\n NativeModules.PlayerModule.setPaused(this._view.nativeHandle, true);\n }\n }\n\n play(): void {\n if (this.hasValidSource()) {\n this._state.paused = false;\n NativeModules.PlayerModule.setPaused(this._view.nativeHandle, false);\n }\n }\n\n public get version(): PlayerVersion {\n return this._playerVersion;\n }\n\n // @internal\n get nativeHandle(): NativeHandleType {\n return this._view.nativeHandle;\n }\n\n // @internal\n get broadcast(): EventBroadcastAPI {\n return this._externalEventRouter ?? (this._externalEventRouter = new EventBroadcastAdapter(this));\n }\n\n initializeFromNativePlayer_(version: PlayerVersion, state: NativePlayerState | undefined) {\n this._playerVersion = version;\n if (state) {\n Object.assign(this._state, state);\n this._castAdapter.init_();\n }\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getFullscreenSize = getFullscreenSize;
7
+ var _reactNative = require("react-native");
8
+ /**
9
+ * Calculate the device's screen dimensions, while taking into account the statusBar height and orientation on Android.
10
+ */
11
+ function getFullscreenSize() {
12
+ const screenSize = _reactNative.Dimensions.get('screen');
13
+
14
+ // Adjust for statusBar height on Android, depending on the device's current orientation.
15
+ if (_reactNative.Platform.OS === 'android' && _reactNative.Platform.Version >= 29) {
16
+ const statusBarHeight = _reactNative.StatusBar.currentHeight || 0;
17
+ if (screenSize.width < screenSize.height) {
18
+ // portrait
19
+ if (screenSize.height !== _reactNative.Dimensions.get('window').height + statusBarHeight) {
20
+ screenSize.height = screenSize.height - statusBarHeight;
21
+ }
22
+ } else {
23
+ // landscape
24
+ if (screenSize.width !== _reactNative.Dimensions.get('window').width) {
25
+ screenSize.width = screenSize.width - statusBarHeight;
26
+ }
27
+ }
28
+ }
29
+ return screenSize;
30
+ }
31
+ //# sourceMappingURL=Dimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","getFullscreenSize","screenSize","Dimensions","get","Platform","OS","Version","statusBarHeight","StatusBar","currentHeight","width","height"],"sources":["Dimensions.ts"],"sourcesContent":["import type { ScaledSize } from 'react-native/Libraries/Utilities/Dimensions';\nimport { Dimensions, Platform, StatusBar } from 'react-native';\n\n/**\n * Calculate the device's screen dimensions, while taking into account the statusBar height and orientation on Android.\n */\nexport function getFullscreenSize(): ScaledSize {\n const screenSize = Dimensions.get('screen');\n\n // Adjust for statusBar height on Android, depending on the device's current orientation.\n if (Platform.OS === 'android' && Platform.Version >= 29) {\n const statusBarHeight = (StatusBar.currentHeight || 0);\n if (screenSize.width < screenSize.height) { // portrait\n if (screenSize.height !== Dimensions.get('window').height + statusBarHeight) {\n screenSize.height = screenSize.height - statusBarHeight;\n }\n } else { // landscape\n if (screenSize.width !== Dimensions.get('window').width) {\n screenSize.width = screenSize.width - statusBarHeight;\n }\n }\n }\n return screenSize;\n}\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACO,SAASC,iBAAiBA,CAAA,EAAe;EAC9C,MAAMC,UAAU,GAAGC,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC;;EAE3C;EACA,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAID,qBAAQ,CAACE,OAAO,IAAI,EAAE,EAAE;IACvD,MAAMC,eAAe,GAAIC,sBAAS,CAACC,aAAa,IAAI,CAAE;IACtD,IAAIR,UAAU,CAACS,KAAK,GAAGT,UAAU,CAACU,MAAM,EAAE;MAAE;MAC1C,IAAIV,UAAU,CAACU,MAAM,KAAKT,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACQ,MAAM,GAAGJ,eAAe,EAAE;QAC3EN,UAAU,CAACU,MAAM,GAAGV,UAAU,CAACU,MAAM,GAAGJ,eAAe;MACzD;IACF,CAAC,MAAM;MAAE;MACP,IAAIN,UAAU,CAACS,KAAK,KAAKR,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACO,KAAK,EAAE;QACvDT,UAAU,CAACS,KAAK,GAAGT,UAAU,CAACS,KAAK,GAAGH,eAAe;MACvD;IACF;EACF;EACA,OAAON,UAAU;AACnB"}
@@ -2,8 +2,8 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
2
2
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
3
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
4
  import React, { PureComponent } from 'react';
5
- import { findNodeHandle, Platform, requireNativeComponent, StyleSheet, UIManager, View } from 'react-native';
6
- import { isDateRangeCue } from 'react-native-theoplayer';
5
+ import { Dimensions, findNodeHandle, Platform, requireNativeComponent, StyleSheet, UIManager, View } from 'react-native';
6
+ import { isDateRangeCue, PresentationMode } from 'react-native-theoplayer';
7
7
  import { CastEventType, PlayerEventType } from 'react-native-theoplayer';
8
8
  import styles from './THEOplayerView.style';
9
9
  import { decodeNanInf } from './utils/TypeUtils';
@@ -11,12 +11,19 @@ import { BaseEvent } from './adapter/event/BaseEvent';
11
11
  import { DefaultAdEvent, DefaultAirplayStateChangeEvent, DefaultChromecastChangeEvent, DefaultChromecastErrorEvent, DefaultDurationChangeEvent, DefaultErrorEvent, DefaultLoadedMetadataEvent, DefaultMediaTrackEvent, DefaultMediaTrackListEvent, DefaultPresentationModeChangeEvent, DefaultProgressEvent, DefaultRateChangeEvent, DefaultReadyStateChangeEvent, DefaultSegmentNotFoundEvent, DefaultTextTrackEvent, DefaultTextTrackListEvent, DefaultVolumeChangeEvent, DefaultTimeupdateEvent } from './adapter/event/PlayerEvents';
12
12
  import { toMediaTrackType, toMediaTrackTypeEventType, toTextTrackEventType, toTrackListEventType } from './adapter/event/native/NativeTrackEvent';
13
13
  import { THEOplayerAdapter } from './adapter/THEOplayerAdapter';
14
+ import { getFullscreenSize } from './utils/Dimensions';
14
15
  const INVALID_HANDLE = -1;
15
16
  export class THEOplayerView extends PureComponent {
16
17
  constructor(props) {
17
18
  super(props);
18
19
  _defineProperty(this, "_root", void 0);
19
20
  _defineProperty(this, "_facade", void 0);
21
+ _defineProperty(this, "_dimensionsHandler", undefined);
22
+ _defineProperty(this, "_onDimensionsChanged", () => {
23
+ this.setState({
24
+ screenSize: getFullscreenSize()
25
+ });
26
+ });
20
27
  _defineProperty(this, "_onNativePlayerReady", event => {
21
28
  var _this$props$onPlayerR, _this$props;
22
29
  // Optionally apply an initial player state
@@ -134,13 +141,20 @@ export class THEOplayerView extends PureComponent {
134
141
  }
135
142
  });
136
143
  _defineProperty(this, "_onPresentationModeChange", event => {
144
+ this.setState({
145
+ presentationMode: event.nativeEvent.presentationMode
146
+ });
137
147
  this._facade.dispatchEvent(new DefaultPresentationModeChangeEvent(event.nativeEvent.presentationMode, event.nativeEvent.previousPresentationMode, event.nativeEvent.context));
138
148
  });
139
149
  this._root = /*#__PURE__*/React.createRef();
140
150
  this.state = THEOplayerView.initialState;
141
151
  this._facade = new THEOplayerAdapter(this);
142
152
  }
153
+ componentDidMount() {
154
+ this._dimensionsHandler = Dimensions.addEventListener('change', this._onDimensionsChanged);
155
+ }
143
156
  componentWillUnmount() {
157
+ var _this$_dimensionsHand;
144
158
  // Notify the player will be destroyed.
145
159
  const {
146
160
  onPlayerDestroy
@@ -149,6 +163,7 @@ export class THEOplayerView extends PureComponent {
149
163
  onPlayerDestroy(this._facade);
150
164
  }
151
165
  this._facade.dispatchEvent(new BaseEvent(PlayerEventType.DESTROY));
166
+ (_this$_dimensionsHand = this._dimensionsHandler) === null || _this$_dimensionsHand === void 0 || _this$_dimensionsHand.remove();
152
167
  if (Platform.OS === 'ios') {
153
168
  // TODO: move to native module
154
169
  // on iOS, we trigger an explicit 'destroy' to clean up the underlying THEOplayer
@@ -185,8 +200,12 @@ export class THEOplayerView extends PureComponent {
185
200
  style,
186
201
  children
187
202
  } = this.props;
203
+ const {
204
+ presentationMode,
205
+ screenSize: fullscreenSize
206
+ } = this.state;
188
207
  return /*#__PURE__*/React.createElement(View, {
189
- style: [styles.base, style]
208
+ style: [styles.base, style, presentationMode === PresentationMode.fullscreen ? fullscreenSize : {}]
190
209
  }, /*#__PURE__*/React.createElement(THEOplayerRCTView, {
191
210
  ref: this._root,
192
211
  style: StyleSheet.absoluteFill,
@@ -223,10 +242,12 @@ export class THEOplayerView extends PureComponent {
223
242
  }
224
243
  }
225
244
  _defineProperty(THEOplayerView, "initialState", {
226
- error: undefined
245
+ error: undefined,
246
+ presentationMode: PresentationMode.inline,
247
+ screenSize: getFullscreenSize()
227
248
  });
228
249
  const LINKING_ERROR = `The package 'react-native-theoplayer' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
229
- ios: "- You have run 'pod install'\n",
250
+ ios: '- You have run \'pod install\'\n',
230
251
  default: ''
231
252
  }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo managed workflow\n';
232
253
  const ComponentName = 'THEOplayerRCTView';