react-native-theoplayer 3.5.0 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/README.md +1 -0
- package/android/src/main/java/com/theoplayer/PlayerEventEmitter.kt +1 -1
- package/android/src/main/java/com/theoplayer/broadcast/DefaultEventDispatcher.kt +2 -1
- package/android/src/main/java/com/theoplayer/cast/CastEventAdapter.kt +1 -0
- package/android/src/main/java/com/theoplayer/drm/ContentProtectionModule.kt +2 -0
- package/android/src/main/java/com/theoplayer/media/MediaNotificationBuilder.kt +11 -0
- package/android/src/main/java/com/theoplayer/media/MediaPlaybackService.kt +31 -19
- package/android/src/main/java/com/theoplayer/presentation/PresentationManager.kt +41 -1
- package/android/src/main/res/drawable/ic_notification_large.png +0 -0
- package/ios/THEOplayerRCTMainEventHandler.swift +6 -24
- package/ios/THEOplayerRCTPlayerAPI.swift +3 -16
- package/ios/THEOplayerRCTTextTrackEventHandler.swift +0 -9
- package/ios/THEOplayerRCTTrackMetadataAggregator.swift +1 -1
- package/ios/THEOplayerRCTView.swift +12 -10
- package/ios/Theoplayer-Bridging-Header.h +1 -0
- package/ios/eventBroadcasting/THEOplayerRCTBroadcastEventHandler.swift +1 -1
- package/ios/pip/THEOplayerRCTView+PipConfig.swift +2 -2
- package/ios/{THEOplayerRCTPresentationModeContext.swift → presentationMode/THEOplayerRCTPresentationModeContext.swift} +4 -8
- package/ios/presentationMode/THEOplayerRCTPresentationModeManager.swift +159 -0
- package/ios/presentationMode/THEOplayerRCTView+PresentationMode.swift +11 -0
- package/ios/{THEOplayerRCTSideloadedMetadataTrackHandler.swift → sideloadedMetadata/THEOplayerRCTSideloadedMetadataProcessor.swift} +14 -4
- package/ios/sideloadedMetadata/THEOplayerRCTSideloadedMetadataTrackEventHandler.swift +28 -0
- package/lib/commonjs/internal/THEOplayerView.js +24 -3
- package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
- package/lib/commonjs/internal/adapter/THEOplayerAdapter.js +3 -0
- package/lib/commonjs/internal/adapter/THEOplayerAdapter.js.map +1 -1
- package/lib/commonjs/internal/utils/Dimensions.js +31 -0
- package/lib/commonjs/internal/utils/Dimensions.js.map +1 -0
- package/lib/module/internal/THEOplayerView.js +26 -5
- package/lib/module/internal/THEOplayerView.js.map +1 -1
- package/lib/module/internal/adapter/THEOplayerAdapter.js +5 -2
- package/lib/module/internal/adapter/THEOplayerAdapter.js.map +1 -1
- package/lib/module/internal/utils/Dimensions.js +26 -0
- package/lib/module/internal/utils/Dimensions.js.map +1 -0
- package/lib/typescript/internal/THEOplayerView.d.ts +7 -1
- package/lib/typescript/internal/utils/Dimensions.d.ts +5 -0
- package/package.json +1 -1
- package/react-native-theoplayer.podspec +5 -5
- package/src/internal/THEOplayerView.tsx +25 -5
- package/src/internal/adapter/THEOplayerAdapter.ts +11 -7
- package/src/internal/utils/Dimensions.ts +24 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
// THEOplayerRCTPresentationModeEventHandler.swift
|
|
2
|
+
|
|
3
|
+
import Foundation
|
|
4
|
+
import THEOplayerSDK
|
|
5
|
+
|
|
6
|
+
public class THEOplayerRCTPresentationModeManager {
|
|
7
|
+
// MARK: Members
|
|
8
|
+
private weak var player: THEOplayer?
|
|
9
|
+
private weak var view: UIView?
|
|
10
|
+
var presentationModeContext = THEOplayerRCTPresentationModeContext()
|
|
11
|
+
var presentationMode: THEOplayerSDK.PresentationMode = .inline
|
|
12
|
+
|
|
13
|
+
private var containerView: UIView? // view containing the playerView and it's siblings (e.g. UI)
|
|
14
|
+
private var fullscreenParentView: UIView? // target view for fulllscreen representation
|
|
15
|
+
private var inlineParentView: UIView? // target view for inline representation
|
|
16
|
+
|
|
17
|
+
// MARK: Events
|
|
18
|
+
var onNativePresentationModeChange: RCTDirectEventBlock?
|
|
19
|
+
|
|
20
|
+
// MARK: player Listeners
|
|
21
|
+
private var presentationModeChangeListener: EventListener?
|
|
22
|
+
|
|
23
|
+
// MARK: - destruction
|
|
24
|
+
func destroy() {
|
|
25
|
+
// dettach listeners
|
|
26
|
+
self.dettachListeners()
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// MARK: - player setup / breakdown
|
|
30
|
+
func setPlayer(_ player: THEOplayer, view: UIView?) {
|
|
31
|
+
self.player = player
|
|
32
|
+
self.view = view
|
|
33
|
+
|
|
34
|
+
// attach listeners
|
|
35
|
+
self.attachListeners()
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// MARK: - logic
|
|
39
|
+
|
|
40
|
+
private func enterFullscreen() {
|
|
41
|
+
self.containerView = self.view?.findParentViewOfType(RCTView.self)
|
|
42
|
+
self.fullscreenParentView = self.view?.findParentViewOfType(RCTRootContentView.self)
|
|
43
|
+
self.inlineParentView = self.containerView?.findParentViewOfType(RCTView.self)
|
|
44
|
+
|
|
45
|
+
if let containerView = self.containerView,
|
|
46
|
+
let fullscreenParentView = self.fullscreenParentView {
|
|
47
|
+
containerView.removeFromSuperview()
|
|
48
|
+
fullscreenParentView.addSubview(containerView)
|
|
49
|
+
fullscreenParentView.bringSubviewToFront(containerView)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
private func exitFullscreen() {
|
|
54
|
+
if let containerView = self.containerView,
|
|
55
|
+
let inlineParentView = self.inlineParentView {
|
|
56
|
+
containerView.removeFromSuperview()
|
|
57
|
+
inlineParentView.addSubview(containerView)
|
|
58
|
+
inlineParentView.bringSubviewToFront(containerView)
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
func setPresentationMode(newPresentationMode: THEOplayerSDK.PresentationMode) {
|
|
63
|
+
guard newPresentationMode != self.presentationMode, let player = self.player else { return }
|
|
64
|
+
|
|
65
|
+
// store old presentationMode
|
|
66
|
+
let oldPresentationMode = self.presentationMode
|
|
67
|
+
|
|
68
|
+
// set new presentationMode
|
|
69
|
+
self.presentationMode = newPresentationMode
|
|
70
|
+
|
|
71
|
+
// change prensentationMode
|
|
72
|
+
switch oldPresentationMode {
|
|
73
|
+
case .fullscreen:
|
|
74
|
+
if newPresentationMode == .inline {
|
|
75
|
+
// get out of fullscreen via view reparenting
|
|
76
|
+
self.exitFullscreen();
|
|
77
|
+
} else if newPresentationMode == .pictureInPicture {
|
|
78
|
+
// get out of fullscreen via view reparenting
|
|
79
|
+
self.exitFullscreen();
|
|
80
|
+
// get into pip
|
|
81
|
+
player.presentationMode = .pictureInPicture
|
|
82
|
+
}
|
|
83
|
+
case .inline:
|
|
84
|
+
if newPresentationMode == .fullscreen {
|
|
85
|
+
// get into fullscreen via view reparenting
|
|
86
|
+
self.enterFullscreen();
|
|
87
|
+
} else if newPresentationMode == .pictureInPicture {
|
|
88
|
+
// get into pip
|
|
89
|
+
player.presentationMode = .pictureInPicture
|
|
90
|
+
}
|
|
91
|
+
case .pictureInPicture:
|
|
92
|
+
if newPresentationMode == .fullscreen {
|
|
93
|
+
// get out of pip
|
|
94
|
+
player.presentationMode = .inline
|
|
95
|
+
// get into fullscreen via view reparenting
|
|
96
|
+
self.enterFullscreen();
|
|
97
|
+
} else if newPresentationMode == .inline {
|
|
98
|
+
// get into pip
|
|
99
|
+
player.presentationMode = .inline
|
|
100
|
+
}
|
|
101
|
+
default:
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// notify the presentationMode change
|
|
106
|
+
self.notifyPresentationModeChange(oldPresentationMode: oldPresentationMode, newPresentationMode: newPresentationMode)
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
private func notifyPresentationModeChange(oldPresentationMode: THEOplayerSDK.PresentationMode, newPresentationMode: THEOplayerSDK.PresentationMode) {
|
|
110
|
+
// update the current presentationMode
|
|
111
|
+
self.presentationMode = newPresentationMode
|
|
112
|
+
|
|
113
|
+
if let forwardedPresentationModeChangeEvent = self.onNativePresentationModeChange {
|
|
114
|
+
forwardedPresentationModeChangeEvent(presentationModeContext.eventContextForNewPresentationMode(oldPresentationMode: oldPresentationMode, newPresentationMode: newPresentationMode))
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// MARK: - attach/dettach main player Listeners
|
|
119
|
+
private func attachListeners() {
|
|
120
|
+
guard let player = self.player else {
|
|
121
|
+
return
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// PRESENTATION_MODE_CHANGE
|
|
125
|
+
self.presentationModeChangeListener = player.addEventListener(type: PlayerEventTypes.PRESENTATION_MODE_CHANGE) { [weak self] event in
|
|
126
|
+
if let welf = self {
|
|
127
|
+
if DEBUG_THEOPLAYER_EVENTS || true { PrintUtils.printLog(logText: "[NATIVE] Received PRESENTATION_MODE_CHANGE event from THEOplayer (to \(event.presentationMode._rawValue))") }
|
|
128
|
+
welf.setPresentationMode(newPresentationMode: event.presentationMode)
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if DEBUG_EVENTHANDLER { PrintUtils.printLog(logText: "[NATIVE] PresentationModeChange listener attached to THEOplayer") }
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
private func dettachListeners() {
|
|
135
|
+
guard let player = self.player else {
|
|
136
|
+
return
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// PRESENTATION_MODE_CHANGE
|
|
140
|
+
if let presentationModeChangeListener = self.presentationModeChangeListener {
|
|
141
|
+
player.removeEventListener(type: PlayerEventTypes.PRESENTATION_MODE_CHANGE, listener: presentationModeChangeListener)
|
|
142
|
+
if DEBUG_EVENTHANDLER { PrintUtils.printLog(logText: "[NATIVE] PresentationModeChange listener dettached from THEOplayer") }
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// UIView extension to look for parent views
|
|
148
|
+
extension UIView {
|
|
149
|
+
func findParentViewOfType<T: UIView>(_ viewType: T.Type) -> T? {
|
|
150
|
+
var currentView: UIView? = self
|
|
151
|
+
while let view = currentView {
|
|
152
|
+
if let parentView = view.superview as? T {
|
|
153
|
+
return parentView
|
|
154
|
+
}
|
|
155
|
+
currentView = view.superview
|
|
156
|
+
}
|
|
157
|
+
return nil
|
|
158
|
+
}
|
|
159
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// THEOplayerRCTView+PresentationMode.swift
|
|
2
|
+
|
|
3
|
+
import Foundation
|
|
4
|
+
import THEOplayerSDK
|
|
5
|
+
|
|
6
|
+
extension THEOplayerRCTView {
|
|
7
|
+
|
|
8
|
+
func setPresentationMode(newPresentationMode: THEOplayerSDK.PresentationMode) {
|
|
9
|
+
self.presentationModeManager.setPresentationMode(newPresentationMode: newPresentationMode)
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//
|
|
1
|
+
// THEOplayerRCTSideloadedMetadataProcessor.swift
|
|
2
2
|
|
|
3
3
|
import Foundation
|
|
4
4
|
import THEOplayerSDK
|
|
@@ -9,7 +9,17 @@ struct Cue {
|
|
|
9
9
|
var cueContent: String
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
class
|
|
12
|
+
class THEOplayerRCTSideloadedMetadataProcessor {
|
|
13
|
+
|
|
14
|
+
class func loadTrackInfoFromTrackDescriptions(_ metadataTrackDescriptions: [TextTrackDescription]?, completed: (([[String:Any]]) -> Void)?) {
|
|
15
|
+
if let trackDescriptions = metadataTrackDescriptions {
|
|
16
|
+
THEOplayerRCTTrackMetadataAggregator.aggregatedMetadataTrackInfo(metadataTrackDescriptions: trackDescriptions) { tracksInfo in
|
|
17
|
+
completed?(tracksInfo)
|
|
18
|
+
}
|
|
19
|
+
} else {
|
|
20
|
+
completed?([])
|
|
21
|
+
}
|
|
22
|
+
}
|
|
13
23
|
|
|
14
24
|
class func parseVtt(_ urlString: String, completion: @escaping ([Cue]?) -> Void) {
|
|
15
25
|
guard let url = URL(string: urlString) else {
|
|
@@ -24,7 +34,7 @@ class THEOplayerRCTSideloadedMetadataTrackHandler {
|
|
|
24
34
|
}
|
|
25
35
|
|
|
26
36
|
if let vttString = String(data: data, encoding: .utf8) {
|
|
27
|
-
let cues =
|
|
37
|
+
let cues = THEOplayerRCTSideloadedMetadataProcessor.parseVTTString(vttString)
|
|
28
38
|
completion(cues)
|
|
29
39
|
} else {
|
|
30
40
|
completion(nil)
|
|
@@ -38,7 +48,7 @@ class THEOplayerRCTSideloadedMetadataTrackHandler {
|
|
|
38
48
|
var cues: [Cue] = []
|
|
39
49
|
var currentCue: Cue?
|
|
40
50
|
|
|
41
|
-
let separator =
|
|
51
|
+
let separator = THEOplayerRCTSideloadedMetadataProcessor.separatorSequence(vttString)
|
|
42
52
|
let lines = vttString.components(separatedBy: separator)
|
|
43
53
|
for line in lines {
|
|
44
54
|
if line.isEmpty { // process unprocessed cue to list
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// THEOplayerRCTSideloadedMetadataTrackEventHandler.swift
|
|
2
|
+
|
|
3
|
+
import Foundation
|
|
4
|
+
import THEOplayerSDK
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class THEOplayerRCTSideloadedMetadataTrackEventHandler {
|
|
8
|
+
private var loadedMetadataTracksInfo: [[String:Any]] = []
|
|
9
|
+
// MARK: Events
|
|
10
|
+
var onNativeTextTrackListEvent: RCTDirectEventBlock?
|
|
11
|
+
var onNativeTextTrackEvent: RCTDirectEventBlock?
|
|
12
|
+
|
|
13
|
+
func setLoadedMetadataTracksInfo(_ metadataTracksInfo: [[String:Any]]) {
|
|
14
|
+
self.loadedMetadataTracksInfo = metadataTracksInfo
|
|
15
|
+
self.triggerAddMetadataTrackEvent(metadataTracksInfo)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
func triggerAddMetadataTrackEvent(_ metadataTrackInfo: [[String:Any]]) {
|
|
19
|
+
for trackInfo in metadataTrackInfo {
|
|
20
|
+
if let addTrackEvent = self.onNativeTextTrackListEvent {
|
|
21
|
+
addTrackEvent([
|
|
22
|
+
"track" : trackInfo,
|
|
23
|
+
"type" : TrackListEventType.ADD_TRACK.rawValue
|
|
24
|
+
])
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -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:
|
|
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;
|