@bluebillywig/react-native-bb-player 8.42.9 → 8.42.14
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 +22 -0
- package/README.md +58 -1
- package/android/build.gradle +20 -0
- package/android/src/main/java/com/bluebillywig/bbplayer/BBPlayerModule.kt +75 -74
- package/android/src/main/java/com/bluebillywig/bbplayer/BBPlayerPackage.kt +25 -4
- package/android/src/newarch/java/com/bluebillywig/bbplayer/NativeBBPlayerModuleSpec.java +12 -0
- package/android/src/paper/java/com/bluebillywig/bbplayer/NativeBBPlayerModuleSpec.java +59 -0
- package/ios/{BBPlayerModule.m → BBPlayerModule.mm} +12 -0
- package/ios/BBPlayerView.swift +66 -24
- package/ios/BBPlayerViewController.swift +19 -42
- package/lib/commonjs/NativeCommands.js +14 -3
- package/lib/commonjs/NativeCommands.js.map +1 -1
- package/lib/commonjs/specs/NativeBBPlayerModule.js +10 -0
- package/lib/commonjs/specs/NativeBBPlayerModule.js.map +1 -0
- package/lib/module/NativeCommands.js +14 -3
- package/lib/module/NativeCommands.js.map +1 -1
- package/lib/module/specs/NativeBBPlayerModule.js +6 -0
- package/lib/module/specs/NativeBBPlayerModule.js.map +1 -0
- package/lib/typescript/src/NativeCommands.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeBBPlayerModule.d.ts +37 -0
- package/lib/typescript/src/specs/NativeBBPlayerModule.d.ts.map +1 -0
- package/package.json +12 -4
- package/react-native-bb-player.podspec +23 -3
- package/src/NativeCommands.ts +16 -1
- package/src/specs/NativeBBPlayerModule.ts +86 -0
package/ios/BBPlayerView.swift
CHANGED
|
@@ -42,9 +42,11 @@ class BBPlayerView: UIView, BBPlayerViewControllerDelegate {
|
|
|
42
42
|
private var isPlaying: Bool = false
|
|
43
43
|
private var currentDuration: Double = 0.0
|
|
44
44
|
private var lastKnownTime: Double = 0.0
|
|
45
|
-
private var playbackStartTimestamp:
|
|
45
|
+
private var playbackStartTimestamp: CFTimeInterval = 0 // Use CFTimeInterval for CACurrentMediaTime
|
|
46
46
|
private var lastEmittedTime: Double = 0.0
|
|
47
47
|
private var isInFullscreen: Bool = false
|
|
48
|
+
private var backgroundObserver: NSObjectProtocol?
|
|
49
|
+
private var foregroundObserver: NSObjectProtocol?
|
|
48
50
|
// Independent Google Cast button for showing the cast picker
|
|
49
51
|
private var independentCastButton: GCKUICastButton?
|
|
50
52
|
|
|
@@ -144,6 +146,9 @@ class BBPlayerView: UIView, BBPlayerViewControllerDelegate {
|
|
|
144
146
|
// Ensure this view respects its frame from React Native layout
|
|
145
147
|
self.clipsToBounds = false // Allow settings overlay to render outside bounds
|
|
146
148
|
|
|
149
|
+
// Set up lifecycle observers to pause timer when app goes to background (saves battery)
|
|
150
|
+
setupAppLifecycleObservers()
|
|
151
|
+
|
|
147
152
|
// Find the parent view controller from the responder chain
|
|
148
153
|
var parentVC: UIViewController?
|
|
149
154
|
var responder = self.next
|
|
@@ -211,8 +216,8 @@ class BBPlayerView: UIView, BBPlayerViewControllerDelegate {
|
|
|
211
216
|
timeUpdateTimer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { [weak self] _ in
|
|
212
217
|
guard let self = self, self.isPlaying else { return }
|
|
213
218
|
|
|
214
|
-
//
|
|
215
|
-
let elapsedSeconds =
|
|
219
|
+
// Use CACurrentMediaTime() instead of Date() - much more efficient (no system call overhead)
|
|
220
|
+
let elapsedSeconds = CACurrentMediaTime() - self.playbackStartTimestamp
|
|
216
221
|
let estimatedTime = self.lastKnownTime + elapsedSeconds
|
|
217
222
|
let currentTime = min(estimatedTime, self.currentDuration)
|
|
218
223
|
|
|
@@ -234,13 +239,62 @@ class BBPlayerView: UIView, BBPlayerViewControllerDelegate {
|
|
|
234
239
|
timeUpdateTimer = nil
|
|
235
240
|
}
|
|
236
241
|
|
|
237
|
-
// Clean up timers and views to prevent memory leaks
|
|
242
|
+
// Clean up timers, observers, and views to prevent memory leaks
|
|
238
243
|
deinit {
|
|
239
244
|
stopTimeUpdates()
|
|
245
|
+
removeAppLifecycleObservers()
|
|
240
246
|
independentCastButton?.removeFromSuperview()
|
|
241
247
|
independentCastButton = nil
|
|
242
248
|
}
|
|
243
249
|
|
|
250
|
+
// MARK: - App Lifecycle Management (Battery Optimization)
|
|
251
|
+
|
|
252
|
+
private func setupAppLifecycleObservers() {
|
|
253
|
+
// Only set up once
|
|
254
|
+
guard backgroundObserver == nil else { return }
|
|
255
|
+
|
|
256
|
+
// Pause timer when app goes to background to save battery
|
|
257
|
+
backgroundObserver = NotificationCenter.default.addObserver(
|
|
258
|
+
forName: UIApplication.didEnterBackgroundNotification,
|
|
259
|
+
object: nil,
|
|
260
|
+
queue: .main
|
|
261
|
+
) { [weak self] _ in
|
|
262
|
+
guard let self = self else { return }
|
|
263
|
+
// Save current time before pausing timer so we can resume accurately
|
|
264
|
+
if self.isPlaying {
|
|
265
|
+
self.lastKnownTime = self.calculateCurrentTime()
|
|
266
|
+
}
|
|
267
|
+
self.stopTimeUpdates()
|
|
268
|
+
log("Timer paused - app entered background", level: .debug)
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
// Resume timer when app comes back to foreground
|
|
272
|
+
foregroundObserver = NotificationCenter.default.addObserver(
|
|
273
|
+
forName: UIApplication.willEnterForegroundNotification,
|
|
274
|
+
object: nil,
|
|
275
|
+
queue: .main
|
|
276
|
+
) { [weak self] _ in
|
|
277
|
+
guard let self = self else { return }
|
|
278
|
+
if self.isPlaying && self.enableTimeUpdates {
|
|
279
|
+
// Reset timestamp to now for accurate time calculation after background
|
|
280
|
+
self.playbackStartTimestamp = CACurrentMediaTime()
|
|
281
|
+
self.startTimeUpdates()
|
|
282
|
+
log("Timer resumed - app entered foreground", level: .debug)
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
private func removeAppLifecycleObservers() {
|
|
288
|
+
if let observer = backgroundObserver {
|
|
289
|
+
NotificationCenter.default.removeObserver(observer)
|
|
290
|
+
backgroundObserver = nil
|
|
291
|
+
}
|
|
292
|
+
if let observer = foregroundObserver {
|
|
293
|
+
NotificationCenter.default.removeObserver(observer)
|
|
294
|
+
foregroundObserver = nil
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
|
|
244
298
|
func bbPlayerViewController(
|
|
245
299
|
_ controller: BBPlayerViewController, didTriggerEvent event: BBPlayerEvent
|
|
246
300
|
) {
|
|
@@ -341,7 +395,7 @@ class BBPlayerView: UIView, BBPlayerViewControllerDelegate {
|
|
|
341
395
|
|
|
342
396
|
case .playing:
|
|
343
397
|
isPlaying = true
|
|
344
|
-
playbackStartTimestamp = Date()
|
|
398
|
+
playbackStartTimestamp = CACurrentMediaTime() // More efficient than Date()
|
|
345
399
|
lastEmittedTime = 0.0 // Reset to ensure immediate time update on play
|
|
346
400
|
lastKnownTime = calculateCurrentTime() // Update to ensure accuracy between events
|
|
347
401
|
startTimeUpdates()
|
|
@@ -352,21 +406,14 @@ class BBPlayerView: UIView, BBPlayerViewControllerDelegate {
|
|
|
352
406
|
|
|
353
407
|
case .retractFullscreen:
|
|
354
408
|
isInFullscreen = false
|
|
355
|
-
|
|
356
|
-
//
|
|
357
|
-
if #available(iOS 16.0, *) {
|
|
358
|
-
if let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
|
|
359
|
-
windowScene.requestGeometryUpdate(.iOS(interfaceOrientations: .portrait))
|
|
360
|
-
log("Requested portrait rotation on retractFullscreen event", level: .info)
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
|
|
409
|
+
// Note: Orientation reset is handled by BBPlayerViewController.bbNativePlayerView(didTriggerRetractFullscreen:)
|
|
410
|
+
// to avoid duplicate calls which cause unnecessary CPU/GPU work
|
|
364
411
|
onDidTriggerRetractFullscreen?([:])
|
|
365
412
|
|
|
366
413
|
case .seeked(let seekOffset):
|
|
367
414
|
// Update lastKnownTime based on seek and reset playback timestamp
|
|
368
415
|
lastKnownTime = seekOffset ?? 0.0
|
|
369
|
-
playbackStartTimestamp = Date()
|
|
416
|
+
playbackStartTimestamp = CACurrentMediaTime() // More efficient than Date()
|
|
370
417
|
lastEmittedTime = 0.0 // Reset to ensure immediate time update after seek
|
|
371
418
|
onDidTriggerSeeked?(["payload": seekOffset as Any])
|
|
372
419
|
|
|
@@ -482,7 +529,8 @@ class BBPlayerView: UIView, BBPlayerViewControllerDelegate {
|
|
|
482
529
|
/// iOS SDK doesn't expose direct currentTime property, so we estimate it
|
|
483
530
|
private func calculateCurrentTime() -> Double {
|
|
484
531
|
if isPlaying && playbackStartTimestamp > 0 {
|
|
485
|
-
|
|
532
|
+
// Use CACurrentMediaTime() - more efficient than Date() (no system call overhead)
|
|
533
|
+
let elapsedSeconds = CACurrentMediaTime() - playbackStartTimestamp
|
|
486
534
|
let estimatedTime = lastKnownTime + elapsedSeconds
|
|
487
535
|
return min(estimatedTime, currentDuration)
|
|
488
536
|
} else {
|
|
@@ -596,15 +644,9 @@ class BBPlayerView: UIView, BBPlayerViewControllerDelegate {
|
|
|
596
644
|
}
|
|
597
645
|
|
|
598
646
|
func exitFullscreen() {
|
|
599
|
-
// Force rotation back to portrait before exiting fullscreen
|
|
600
|
-
if #available(iOS 16.0, *) {
|
|
601
|
-
if let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
|
|
602
|
-
windowScene.requestGeometryUpdate(.iOS(interfaceOrientations: .portrait))
|
|
603
|
-
log("Requested portrait rotation before exitFullscreen", level: .info)
|
|
604
|
-
}
|
|
605
|
-
}
|
|
606
|
-
|
|
607
647
|
// iOS SDK Note: The iOS SDK uses exitFullScreen() method
|
|
648
|
+
// Orientation reset is handled by BBPlayerViewController.bbNativePlayerView(didTriggerRetractFullscreen:)
|
|
649
|
+
// to avoid duplicate orientation update calls which cause unnecessary CPU/GPU work
|
|
608
650
|
playerController.playerView?.player.exitFullScreen()
|
|
609
651
|
}
|
|
610
652
|
|
|
@@ -30,37 +30,8 @@ class BBPlayerViewController: UIViewController, BBNativePlayerViewDelegate {
|
|
|
30
30
|
/// Don't override preferredInterfaceOrientationForPresentation
|
|
31
31
|
/// Let the fullscreen modal (AVPlayerViewController) use its own preferred orientation
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
print("BBPlayer: refreshPlayerViewHierarchy - no playerView")
|
|
36
|
-
return
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
print("BBPlayer: Starting view hierarchy refresh")
|
|
40
|
-
|
|
41
|
-
// Force all sublayers to redraw by traversing the entire layer hierarchy
|
|
42
|
-
func refreshLayerTree(_ layer: CALayer) {
|
|
43
|
-
layer.setNeedsDisplay()
|
|
44
|
-
layer.displayIfNeeded()
|
|
45
|
-
for sublayer in layer.sublayers ?? [] {
|
|
46
|
-
refreshLayerTree(sublayer)
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Refresh the entire layer tree of the player view
|
|
51
|
-
refreshLayerTree(playerView.layer)
|
|
52
|
-
|
|
53
|
-
// Force the player view and all its subviews to re-layout
|
|
54
|
-
playerView.setNeedsLayout()
|
|
55
|
-
playerView.layoutIfNeeded()
|
|
56
|
-
|
|
57
|
-
for subview in playerView.subviews {
|
|
58
|
-
subview.setNeedsLayout()
|
|
59
|
-
subview.layoutIfNeeded()
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
print("BBPlayer: View hierarchy refresh complete")
|
|
63
|
-
}
|
|
33
|
+
// NOTE: Removed refreshPlayerViewHierarchy() - it was unused dead code that forced
|
|
34
|
+
// GPU redraw on every layer in the hierarchy, which would cause severe heat/battery drain
|
|
64
35
|
|
|
65
36
|
override func viewDidLayoutSubviews() {
|
|
66
37
|
super.viewDidLayoutSubviews()
|
|
@@ -308,23 +279,29 @@ class BBPlayerViewController: UIViewController, BBNativePlayerViewDelegate {
|
|
|
308
279
|
NSLog("BBPlayer: Refreshing view hierarchy after fullscreen exit")
|
|
309
280
|
|
|
310
281
|
// Reset any transforms that might be lingering from fullscreen
|
|
311
|
-
//
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
282
|
+
// Use iterative approach instead of recursion to avoid deep stack calls
|
|
283
|
+
// Only reset views that actually have non-identity transforms to save CPU
|
|
284
|
+
var viewsToProcess: [UIView] = [playerView]
|
|
285
|
+
var transformsReset = 0
|
|
286
|
+
|
|
287
|
+
while !viewsToProcess.isEmpty {
|
|
288
|
+
let view = viewsToProcess.removeLast()
|
|
289
|
+
// Only reset if transform is not already identity (avoids unnecessary work)
|
|
290
|
+
if view.transform != .identity {
|
|
291
|
+
view.transform = .identity
|
|
292
|
+
transformsReset += 1
|
|
318
293
|
}
|
|
294
|
+
viewsToProcess.append(contentsOf: view.subviews)
|
|
319
295
|
}
|
|
320
296
|
|
|
321
|
-
|
|
297
|
+
if transformsReset > 0 {
|
|
298
|
+
NSLog("BBPlayer: Reset \(transformsReset) non-identity transforms")
|
|
299
|
+
}
|
|
322
300
|
|
|
323
|
-
//
|
|
301
|
+
// Single batched layout update instead of multiple calls
|
|
324
302
|
playerView.setNeedsLayout()
|
|
325
|
-
playerView.layoutIfNeeded()
|
|
326
303
|
self.view.setNeedsLayout()
|
|
327
|
-
self.view.layoutIfNeeded()
|
|
304
|
+
self.view.layoutIfNeeded() // This will also layout playerView as it's a subview
|
|
328
305
|
|
|
329
306
|
// Log the player state for debugging
|
|
330
307
|
let player = playerView.player
|
|
@@ -5,9 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createCommands = createCommands;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
// Try TurboModule first, fallback to legacy NativeModules
|
|
9
|
+
let BBPlayerModule = null;
|
|
10
|
+
try {
|
|
11
|
+
// Try to use TurboModule (New Architecture)
|
|
12
|
+
BBPlayerModule = require("./specs/NativeBBPlayerModule").default;
|
|
13
|
+
} catch {
|
|
14
|
+
// Fallback to legacy NativeModules (Old Architecture)
|
|
15
|
+
BBPlayerModule = _reactNative.NativeModules.BBPlayerModule;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Final fallback if both fail
|
|
19
|
+
if (!BBPlayerModule) {
|
|
20
|
+
BBPlayerModule = _reactNative.NativeModules.BBPlayerModule;
|
|
21
|
+
}
|
|
11
22
|
|
|
12
23
|
/**
|
|
13
24
|
* Get the view tag (node handle) for a ref
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","BBPlayerModule","NativeModules","getViewTag","viewRef","node","current","console","warn","nodeHandle","findNodeHandle","createCommands","play","tag","pause","seek","position","seekRelative","offsetSeconds","setMuted","muted","setVolume","volume","enterFullscreen","enterFullscreenLandscape","exitFullscreen","collapse","expand","autoPlayNextCancel","destroy","showCastPicker","loadClip","clipId","options","loadWithClipId","initiator","playout","autoPlay","seekTo","loadWithClipListId","clipListId","loadWithProjectId","projectId","loadWithClipJson","clipJson","loadWithClipListJson","clipListJson","loadWithProjectJson","projectJson","loadWithJsonUrl","jsonUrl","getDuration","getCurrentTime","getMuted","getVolume","getPhase","getState","getMode","getClipData","getProjectData","getPlayoutData","getPlayerState","state","phase","mode","currentTime","duration","clipData","projectData","playoutData","Promise","all","clip","project","error"],"sourceRoot":"../../src","sources":["NativeCommands.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAKA,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","BBPlayerModule","default","NativeModules","getViewTag","viewRef","node","current","console","warn","nodeHandle","findNodeHandle","createCommands","play","tag","pause","seek","position","seekRelative","offsetSeconds","setMuted","muted","setVolume","volume","enterFullscreen","enterFullscreenLandscape","exitFullscreen","collapse","expand","autoPlayNextCancel","destroy","showCastPicker","loadClip","clipId","options","loadWithClipId","initiator","playout","autoPlay","seekTo","loadWithClipListId","clipListId","loadWithProjectId","projectId","loadWithClipJson","clipJson","loadWithClipListJson","clipListJson","loadWithProjectJson","projectJson","loadWithJsonUrl","jsonUrl","getDuration","getCurrentTime","getMuted","getVolume","getPhase","getState","getMode","getClipData","getProjectData","getPlayoutData","getPlayerState","state","phase","mode","currentTime","duration","clipData","projectData","playoutData","Promise","all","clip","project","error"],"sourceRoot":"../../src","sources":["NativeCommands.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
// Use get() instead of getEnforcing() to avoid crash when module not registered
|
|
9
|
+
var _default = exports.default = _reactNative.TurboModuleRegistry.get("BBPlayerModule");
|
|
10
|
+
//# sourceMappingURL=NativeBBPlayerModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeBBPlayerModule.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAmFA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACeC,gCAAmB,CAACC,GAAG,CAAO,gBAAgB,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { NativeModules, findNodeHandle } from "react-native";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
// Try TurboModule first, fallback to legacy NativeModules
|
|
5
|
+
let BBPlayerModule = null;
|
|
6
|
+
try {
|
|
7
|
+
// Try to use TurboModule (New Architecture)
|
|
8
|
+
BBPlayerModule = require("./specs/NativeBBPlayerModule").default;
|
|
9
|
+
} catch {
|
|
10
|
+
// Fallback to legacy NativeModules (Old Architecture)
|
|
11
|
+
BBPlayerModule = NativeModules.BBPlayerModule;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Final fallback if both fail
|
|
15
|
+
if (!BBPlayerModule) {
|
|
16
|
+
BBPlayerModule = NativeModules.BBPlayerModule;
|
|
17
|
+
}
|
|
7
18
|
|
|
8
19
|
/**
|
|
9
20
|
* Get the view tag (node handle) for a ref
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","findNodeHandle","BBPlayerModule","getViewTag","viewRef","node","current","console","warn","nodeHandle","createCommands","play","tag","pause","seek","position","seekRelative","offsetSeconds","setMuted","muted","setVolume","volume","enterFullscreen","enterFullscreenLandscape","exitFullscreen","collapse","expand","autoPlayNextCancel","destroy","showCastPicker","loadClip","clipId","options","loadWithClipId","initiator","playout","autoPlay","seekTo","loadWithClipListId","clipListId","loadWithProjectId","projectId","loadWithClipJson","clipJson","loadWithClipListJson","clipListJson","loadWithProjectJson","projectJson","loadWithJsonUrl","jsonUrl","getDuration","getCurrentTime","getMuted","getVolume","getPhase","getState","getMode","getClipData","getProjectData","getPlayoutData","getPlayerState","state","phase","mode","currentTime","duration","clipData","projectData","playoutData","Promise","all","clip","project","error"],"sourceRoot":"../../src","sources":["NativeCommands.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,cAAc,QAAQ,cAAc;AAK5D,
|
|
1
|
+
{"version":3,"names":["NativeModules","findNodeHandle","BBPlayerModule","require","default","getViewTag","viewRef","node","current","console","warn","nodeHandle","createCommands","play","tag","pause","seek","position","seekRelative","offsetSeconds","setMuted","muted","setVolume","volume","enterFullscreen","enterFullscreenLandscape","exitFullscreen","collapse","expand","autoPlayNextCancel","destroy","showCastPicker","loadClip","clipId","options","loadWithClipId","initiator","playout","autoPlay","seekTo","loadWithClipListId","clipListId","loadWithProjectId","projectId","loadWithClipJson","clipJson","loadWithClipListJson","clipListJson","loadWithProjectJson","projectJson","loadWithJsonUrl","jsonUrl","getDuration","getCurrentTime","getMuted","getVolume","getPhase","getState","getMode","getClipData","getProjectData","getPlayoutData","getPlayerState","state","phase","mode","currentTime","duration","clipData","projectData","playoutData","Promise","all","clip","project","error"],"sourceRoot":"../../src","sources":["NativeCommands.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeBBPlayerModule.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAmFlD;AACA,eAAeA,mBAAmB,CAACC,GAAG,CAAO,gBAAgB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeCommands.d.ts","sourceRoot":"","sources":["../../../src/NativeCommands.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeCommands.d.ts","sourceRoot":"","sources":["../../../src/NativeCommands.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAuCvE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;;;qBAUvC,MAAM;kCAIO,MAAM;sBAIlB,OAAO;wBAIL,MAAM;;;;;;;;;IAqC1B;;;OAGG;uBACgB,MAAM,YAAY,eAAe;6BAgB1C,MAAM,cACF,MAAM,aACP,OAAO,WACT,MAAM;qCAcH,MAAM,cACN,MAAM,aACP,OAAO,WACT,MAAM;mCAcJ,MAAM,cACL,MAAM,aACP,OAAO,WACT,MAAM;iCAcL,MAAM,cACJ,MAAM,aACP,OAAO,WACT,MAAM;yCAcD,MAAM,cACR,MAAM,aACP,OAAO,WACT,MAAM;uCAcF,MAAM,cACP,MAAM,aACP,OAAO,WACT,MAAM;+BAaU,MAAM,aAAa,OAAO;uBAU9B,QAAQ,MAAM,GAAG,IAAI,CAAC;0BAOnB,QAAQ,MAAM,GAAG,IAAI,CAAC;oBAO5B,QAAQ,OAAO,GAAG,IAAI,CAAC;qBAOtB,QAAQ,MAAM,GAAG,IAAI,CAAC;oBAOvB,QAAQ,MAAM,GAAG,IAAI,CAAC;oBAOtB,QAAQ,MAAM,GAAG,IAAI,CAAC;mBAOvB,QAAQ,MAAM,GAAG,IAAI,CAAC;uBAOlB,QAAQ;QAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;0BAOiB,QAAQ;QAChC,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;0BAOiB,QAAQ;QAChC,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IAQT;;;OAGG;0BACuB,QAAQ,aAAa,GAAG,IAAI,CAAC;EAkD1D"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { TurboModule } from "react-native";
|
|
2
|
+
export interface Spec extends TurboModule {
|
|
3
|
+
play(viewTag: number): void;
|
|
4
|
+
pause(viewTag: number): void;
|
|
5
|
+
seek(viewTag: number, position: number): void;
|
|
6
|
+
seekRelative(viewTag: number, offsetSeconds: number): void;
|
|
7
|
+
setMuted(viewTag: number, muted: boolean): void;
|
|
8
|
+
setVolume(viewTag: number, volume: number): void;
|
|
9
|
+
enterFullscreen(viewTag: number): void;
|
|
10
|
+
enterFullscreenLandscape(viewTag: number): void;
|
|
11
|
+
exitFullscreen(viewTag: number): void;
|
|
12
|
+
collapse(viewTag: number): void;
|
|
13
|
+
expand(viewTag: number): void;
|
|
14
|
+
autoPlayNextCancel(viewTag: number): void;
|
|
15
|
+
destroy(viewTag: number): void;
|
|
16
|
+
showCastPicker(viewTag: number): void;
|
|
17
|
+
loadWithClipId(viewTag: number, clipId: string, initiator: string | null, autoPlay: boolean, seekTo: number): void;
|
|
18
|
+
loadWithClipListId(viewTag: number, clipListId: string, initiator: string | null, autoPlay: boolean, seekTo: number): void;
|
|
19
|
+
loadWithProjectId(viewTag: number, projectId: string, initiator: string | null, autoPlay: boolean, seekTo: number): void;
|
|
20
|
+
loadWithClipJson(viewTag: number, clipJson: string, initiator: string | null, autoPlay: boolean, seekTo: number): void;
|
|
21
|
+
loadWithClipListJson(viewTag: number, clipListJson: string, initiator: string | null, autoPlay: boolean, seekTo: number): void;
|
|
22
|
+
loadWithProjectJson(viewTag: number, projectJson: string, initiator: string | null, autoPlay: boolean, seekTo: number): void;
|
|
23
|
+
loadWithJsonUrl(viewTag: number, jsonUrl: string, autoPlay: boolean): void;
|
|
24
|
+
getDuration(viewTag: number): Promise<number | null>;
|
|
25
|
+
getCurrentTime(viewTag: number): Promise<number | null>;
|
|
26
|
+
getMuted(viewTag: number): Promise<boolean | null>;
|
|
27
|
+
getVolume(viewTag: number): Promise<number | null>;
|
|
28
|
+
getPhase(viewTag: number): Promise<string | null>;
|
|
29
|
+
getState(viewTag: number): Promise<string | null>;
|
|
30
|
+
getMode(viewTag: number): Promise<string | null>;
|
|
31
|
+
getClipData(viewTag: number): Promise<Object | null>;
|
|
32
|
+
getProjectData(viewTag: number): Promise<Object | null>;
|
|
33
|
+
getPlayoutData(viewTag: number): Promise<Object | null>;
|
|
34
|
+
}
|
|
35
|
+
declare const _default: Spec | null;
|
|
36
|
+
export default _default;
|
|
37
|
+
//# sourceMappingURL=NativeBBPlayerModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeBBPlayerModule.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeBBPlayerModule.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bluebillywig/react-native-bb-player",
|
|
3
|
-
"version": "8.42.
|
|
3
|
+
"version": "8.42.14",
|
|
4
4
|
"description": "Blue Billywig Native Video Player for React Native - iOS AVPlayer and Android ExoPlayer integration",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -79,10 +79,10 @@
|
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
82
|
-
"@types/react": "~19.
|
|
82
|
+
"@types/react": "~19.2.0",
|
|
83
83
|
"expo": "~51.0.0",
|
|
84
|
-
"react": "19.
|
|
85
|
-
"react-native": "0.
|
|
84
|
+
"react": "19.2.0",
|
|
85
|
+
"react-native": "0.83.1",
|
|
86
86
|
"react-native-builder-bob": "^0.31.0",
|
|
87
87
|
"typedoc": "^0.28.16",
|
|
88
88
|
"typedoc-plugin-markdown": "^4.9.0",
|
|
@@ -101,5 +101,13 @@
|
|
|
101
101
|
}
|
|
102
102
|
]
|
|
103
103
|
]
|
|
104
|
+
},
|
|
105
|
+
"codegenConfig": {
|
|
106
|
+
"name": "BBPlayerModuleSpec",
|
|
107
|
+
"type": "modules",
|
|
108
|
+
"jsSrcsDir": "./src/specs",
|
|
109
|
+
"android": {
|
|
110
|
+
"javaPackageName": "com.bluebillywig.bbplayer"
|
|
111
|
+
}
|
|
104
112
|
}
|
|
105
113
|
}
|
|
@@ -2,6 +2,9 @@ require 'json'
|
|
|
2
2
|
|
|
3
3
|
package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
|
|
4
4
|
|
|
5
|
+
# Check if New Architecture is enabled
|
|
6
|
+
new_arch_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == '1'
|
|
7
|
+
|
|
5
8
|
Pod::Spec.new do |s|
|
|
6
9
|
s.name = 'react-native-bb-player'
|
|
7
10
|
s.version = package['version']
|
|
@@ -16,14 +19,31 @@ Pod::Spec.new do |s|
|
|
|
16
19
|
s.static_framework = true
|
|
17
20
|
|
|
18
21
|
s.dependency 'React-Core'
|
|
19
|
-
s.dependency 'BlueBillywigNativePlayerKit-iOS', '~> 8.
|
|
20
|
-
s.dependency 'BlueBillywigNativePlayerKit-iOS/GoogleCastSDK', '~> 8.
|
|
22
|
+
s.dependency 'BlueBillywigNativePlayerKit-iOS', '~> 8.42.0'
|
|
23
|
+
s.dependency 'BlueBillywigNativePlayerKit-iOS/GoogleCastSDK', '~> 8.42.0'
|
|
24
|
+
|
|
25
|
+
# TurboModule dependencies for New Architecture
|
|
26
|
+
if new_arch_enabled
|
|
27
|
+
s.dependency 'React-Codegen'
|
|
28
|
+
s.dependency 'RCT-Folly'
|
|
29
|
+
s.dependency 'RCTRequired'
|
|
30
|
+
s.dependency 'RCTTypeSafety'
|
|
31
|
+
s.dependency 'ReactCommon/turbomodule/core'
|
|
32
|
+
end
|
|
21
33
|
|
|
22
34
|
# Swift/Objective-C compatibility
|
|
23
|
-
|
|
35
|
+
xcconfig = {
|
|
24
36
|
'DEFINES_MODULE' => 'YES',
|
|
25
37
|
'SWIFT_COMPILATION_MODE' => 'wholemodule'
|
|
26
38
|
}
|
|
27
39
|
|
|
40
|
+
# Add compiler flag for New Architecture
|
|
41
|
+
if new_arch_enabled
|
|
42
|
+
xcconfig['OTHER_CPLUSPLUSFLAGS'] = '$(inherited) -DRCT_NEW_ARCH_ENABLED'
|
|
43
|
+
xcconfig['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17'
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
s.pod_target_xcconfig = xcconfig
|
|
47
|
+
|
|
28
48
|
s.source_files = "ios/**/*.{h,m,mm,swift,hpp,cpp}"
|
|
29
49
|
end
|
package/src/NativeCommands.ts
CHANGED
|
@@ -3,7 +3,22 @@ import { NativeModules, findNodeHandle } from "react-native";
|
|
|
3
3
|
import type { LoadClipOptions, BBPlayerState } from "./BBPlayer.types";
|
|
4
4
|
import type { State, Phase } from "./types";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// Try TurboModule first, fallback to legacy NativeModules
|
|
7
|
+
let BBPlayerModule: typeof import("./specs/NativeBBPlayerModule").default | null =
|
|
8
|
+
null;
|
|
9
|
+
|
|
10
|
+
try {
|
|
11
|
+
// Try to use TurboModule (New Architecture)
|
|
12
|
+
BBPlayerModule = require("./specs/NativeBBPlayerModule").default;
|
|
13
|
+
} catch {
|
|
14
|
+
// Fallback to legacy NativeModules (Old Architecture)
|
|
15
|
+
BBPlayerModule = NativeModules.BBPlayerModule;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Final fallback if both fail
|
|
19
|
+
if (!BBPlayerModule) {
|
|
20
|
+
BBPlayerModule = NativeModules.BBPlayerModule;
|
|
21
|
+
}
|
|
7
22
|
|
|
8
23
|
/**
|
|
9
24
|
* Get the view tag (node handle) for a ref
|