@bluebillywig/react-native-bb-player 8.42.9 → 8.42.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +14 -0
- package/android/src/main/java/com/bluebillywig/bbplayer/BBPlayerModule.kt +37 -36
- 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/lib/commonjs/NativeCommands.js +14 -3
- package/lib/commonjs/NativeCommands.js.map +1 -1
- package/lib/commonjs/specs/NativeBBPlayerModule.js +9 -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 +5 -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 +9 -1
- package/react-native-bb-player.podspec +23 -3
- package/src/NativeCommands.ts +16 -1
- package/src/specs/NativeBBPlayerModule.ts +85 -0
package/android/build.gradle
CHANGED
|
@@ -7,6 +7,10 @@ def safeExtGet(prop, fallback) {
|
|
|
7
7
|
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
def isNewArchitectureEnabled() {
|
|
11
|
+
return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
|
|
12
|
+
}
|
|
13
|
+
|
|
10
14
|
group = 'com.bluebillywig.bbplayer'
|
|
11
15
|
version = '2.0.0'
|
|
12
16
|
|
|
@@ -19,6 +23,11 @@ android {
|
|
|
19
23
|
targetSdk safeExtGet('targetSdkVersion', 36)
|
|
20
24
|
versionCode 1
|
|
21
25
|
versionName "2.0.0"
|
|
26
|
+
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
buildFeatures {
|
|
30
|
+
buildConfig true
|
|
22
31
|
}
|
|
23
32
|
|
|
24
33
|
buildTypes {
|
|
@@ -39,6 +48,11 @@ android {
|
|
|
39
48
|
sourceSets {
|
|
40
49
|
main {
|
|
41
50
|
java.srcDirs = ['src/main/java']
|
|
51
|
+
if (isNewArchitectureEnabled()) {
|
|
52
|
+
java.srcDirs += ['src/newarch/java']
|
|
53
|
+
} else {
|
|
54
|
+
java.srcDirs += ['src/paper/java']
|
|
55
|
+
}
|
|
42
56
|
}
|
|
43
57
|
}
|
|
44
58
|
}
|
|
@@ -4,21 +4,22 @@ import android.util.Log
|
|
|
4
4
|
import com.facebook.react.bridge.Arguments
|
|
5
5
|
import com.facebook.react.bridge.Promise
|
|
6
6
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
7
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
8
7
|
import com.facebook.react.bridge.ReactMethod
|
|
9
8
|
import com.facebook.react.bridge.UiThreadUtil
|
|
9
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
10
10
|
import com.facebook.react.uimanager.UIManagerHelper
|
|
11
11
|
import com.facebook.react.uimanager.common.UIManagerType
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Native Module for BBPlayer commands.
|
|
15
|
-
* Works with both Old Architecture and New Architecture (Fabric).
|
|
15
|
+
* Works with both Old Architecture (Paper) and New Architecture (Fabric/TurboModules).
|
|
16
16
|
*
|
|
17
|
-
* This module
|
|
18
|
-
* commands to them
|
|
17
|
+
* This module looks up BBPlayerView instances by their React view tag and dispatches
|
|
18
|
+
* commands to them.
|
|
19
19
|
*/
|
|
20
|
+
@ReactModule(name = BBPlayerModule.NAME)
|
|
20
21
|
class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
21
|
-
|
|
22
|
+
NativeBBPlayerModuleSpec(reactContext) {
|
|
22
23
|
|
|
23
24
|
override fun getName(): String = NAME
|
|
24
25
|
|
|
@@ -60,77 +61,77 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
@ReactMethod
|
|
63
|
-
fun play(viewTag: Int) {
|
|
64
|
+
override fun play(viewTag: Int) {
|
|
64
65
|
runOnUiThread(viewTag) { it.play() }
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
@ReactMethod
|
|
68
|
-
fun pause(viewTag: Int) {
|
|
69
|
+
override fun pause(viewTag: Int) {
|
|
69
70
|
runOnUiThread(viewTag) { it.pause() }
|
|
70
71
|
}
|
|
71
72
|
|
|
72
73
|
@ReactMethod
|
|
73
|
-
fun seek(viewTag: Int, position: Double) {
|
|
74
|
+
override fun seek(viewTag: Int, position: Double) {
|
|
74
75
|
runOnUiThread(viewTag) { it.seek(position) }
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
@ReactMethod
|
|
78
|
-
fun seekRelative(viewTag: Int, offsetSeconds: Double) {
|
|
79
|
+
override fun seekRelative(viewTag: Int, offsetSeconds: Double) {
|
|
79
80
|
runOnUiThread(viewTag) { it.seekRelative(offsetSeconds) }
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
@ReactMethod
|
|
83
|
-
fun setVolume(viewTag: Int, volume: Double) {
|
|
84
|
+
override fun setVolume(viewTag: Int, volume: Double) {
|
|
84
85
|
runOnUiThread(viewTag) { it.setVolume(volume) }
|
|
85
86
|
}
|
|
86
87
|
|
|
87
88
|
@ReactMethod
|
|
88
|
-
fun setMuted(viewTag: Int, muted: Boolean) {
|
|
89
|
+
override fun setMuted(viewTag: Int, muted: Boolean) {
|
|
89
90
|
runOnUiThread(viewTag) { it.setMuted(muted) }
|
|
90
91
|
}
|
|
91
92
|
|
|
92
93
|
@ReactMethod
|
|
93
|
-
fun enterFullscreen(viewTag: Int) {
|
|
94
|
+
override fun enterFullscreen(viewTag: Int) {
|
|
94
95
|
runOnUiThread(viewTag) { it.enterFullscreen() }
|
|
95
96
|
}
|
|
96
97
|
|
|
97
98
|
@ReactMethod
|
|
98
|
-
fun enterFullscreenLandscape(viewTag: Int) {
|
|
99
|
+
override fun enterFullscreenLandscape(viewTag: Int) {
|
|
99
100
|
runOnUiThread(viewTag) { it.enterFullscreenLandscape() }
|
|
100
101
|
}
|
|
101
102
|
|
|
102
103
|
@ReactMethod
|
|
103
|
-
fun exitFullscreen(viewTag: Int) {
|
|
104
|
+
override fun exitFullscreen(viewTag: Int) {
|
|
104
105
|
runOnUiThread(viewTag) { it.exitFullscreen() }
|
|
105
106
|
}
|
|
106
107
|
|
|
107
108
|
@ReactMethod
|
|
108
|
-
fun collapse(viewTag: Int) {
|
|
109
|
+
override fun collapse(viewTag: Int) {
|
|
109
110
|
runOnUiThread(viewTag) { it.collapse() }
|
|
110
111
|
}
|
|
111
112
|
|
|
112
113
|
@ReactMethod
|
|
113
|
-
fun expand(viewTag: Int) {
|
|
114
|
+
override fun expand(viewTag: Int) {
|
|
114
115
|
runOnUiThread(viewTag) { it.expand() }
|
|
115
116
|
}
|
|
116
117
|
|
|
117
118
|
@ReactMethod
|
|
118
|
-
fun autoPlayNextCancel(viewTag: Int) {
|
|
119
|
+
override fun autoPlayNextCancel(viewTag: Int) {
|
|
119
120
|
runOnUiThread(viewTag) { it.autoPlayNextCancel() }
|
|
120
121
|
}
|
|
121
122
|
|
|
122
123
|
@ReactMethod
|
|
123
|
-
fun destroy(viewTag: Int) {
|
|
124
|
+
override fun destroy(viewTag: Int) {
|
|
124
125
|
runOnUiThread(viewTag) { it.destroy() }
|
|
125
126
|
}
|
|
126
127
|
|
|
127
128
|
@ReactMethod
|
|
128
|
-
fun showCastPicker(viewTag: Int) {
|
|
129
|
+
override fun showCastPicker(viewTag: Int) {
|
|
129
130
|
runOnUiThread(viewTag) { it.showCastPicker() }
|
|
130
131
|
}
|
|
131
132
|
|
|
132
133
|
@ReactMethod
|
|
133
|
-
fun loadWithClipId(
|
|
134
|
+
override fun loadWithClipId(
|
|
134
135
|
viewTag: Int,
|
|
135
136
|
clipId: String,
|
|
136
137
|
initiator: String?,
|
|
@@ -149,7 +150,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
149
150
|
}
|
|
150
151
|
|
|
151
152
|
@ReactMethod
|
|
152
|
-
fun loadWithClipListId(
|
|
153
|
+
override fun loadWithClipListId(
|
|
153
154
|
viewTag: Int,
|
|
154
155
|
clipListId: String,
|
|
155
156
|
initiator: String?,
|
|
@@ -167,7 +168,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
167
168
|
}
|
|
168
169
|
|
|
169
170
|
@ReactMethod
|
|
170
|
-
fun loadWithProjectId(
|
|
171
|
+
override fun loadWithProjectId(
|
|
171
172
|
viewTag: Int,
|
|
172
173
|
projectId: String,
|
|
173
174
|
initiator: String?,
|
|
@@ -185,7 +186,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
185
186
|
}
|
|
186
187
|
|
|
187
188
|
@ReactMethod
|
|
188
|
-
fun loadWithClipJson(
|
|
189
|
+
override fun loadWithClipJson(
|
|
189
190
|
viewTag: Int,
|
|
190
191
|
clipJson: String,
|
|
191
192
|
initiator: String?,
|
|
@@ -203,7 +204,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
203
204
|
}
|
|
204
205
|
|
|
205
206
|
@ReactMethod
|
|
206
|
-
fun loadWithClipListJson(
|
|
207
|
+
override fun loadWithClipListJson(
|
|
207
208
|
viewTag: Int,
|
|
208
209
|
clipListJson: String,
|
|
209
210
|
initiator: String?,
|
|
@@ -221,7 +222,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
221
222
|
}
|
|
222
223
|
|
|
223
224
|
@ReactMethod
|
|
224
|
-
fun loadWithProjectJson(
|
|
225
|
+
override fun loadWithProjectJson(
|
|
225
226
|
viewTag: Int,
|
|
226
227
|
projectJson: String,
|
|
227
228
|
initiator: String?,
|
|
@@ -239,7 +240,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
239
240
|
}
|
|
240
241
|
|
|
241
242
|
@ReactMethod
|
|
242
|
-
fun loadWithJsonUrl(
|
|
243
|
+
override fun loadWithJsonUrl(
|
|
243
244
|
viewTag: Int,
|
|
244
245
|
jsonUrl: String,
|
|
245
246
|
autoPlay: Boolean
|
|
@@ -254,7 +255,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
254
255
|
|
|
255
256
|
// Getter methods with Promise support
|
|
256
257
|
@ReactMethod
|
|
257
|
-
fun getDuration(viewTag: Int, promise: Promise) {
|
|
258
|
+
override fun getDuration(viewTag: Int, promise: Promise) {
|
|
258
259
|
UiThreadUtil.runOnUiThread {
|
|
259
260
|
val view = findPlayerView(viewTag)
|
|
260
261
|
if (view != null) {
|
|
@@ -267,7 +268,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
267
268
|
}
|
|
268
269
|
|
|
269
270
|
@ReactMethod
|
|
270
|
-
fun getCurrentTime(viewTag: Int, promise: Promise) {
|
|
271
|
+
override fun getCurrentTime(viewTag: Int, promise: Promise) {
|
|
271
272
|
UiThreadUtil.runOnUiThread {
|
|
272
273
|
val view = findPlayerView(viewTag)
|
|
273
274
|
if (view != null) {
|
|
@@ -280,7 +281,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
280
281
|
}
|
|
281
282
|
|
|
282
283
|
@ReactMethod
|
|
283
|
-
fun getMuted(viewTag: Int, promise: Promise) {
|
|
284
|
+
override fun getMuted(viewTag: Int, promise: Promise) {
|
|
284
285
|
UiThreadUtil.runOnUiThread {
|
|
285
286
|
val view = findPlayerView(viewTag)
|
|
286
287
|
if (view != null) {
|
|
@@ -293,7 +294,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
293
294
|
}
|
|
294
295
|
|
|
295
296
|
@ReactMethod
|
|
296
|
-
fun getVolume(viewTag: Int, promise: Promise) {
|
|
297
|
+
override fun getVolume(viewTag: Int, promise: Promise) {
|
|
297
298
|
UiThreadUtil.runOnUiThread {
|
|
298
299
|
val view = findPlayerView(viewTag)
|
|
299
300
|
if (view != null) {
|
|
@@ -306,7 +307,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
306
307
|
}
|
|
307
308
|
|
|
308
309
|
@ReactMethod
|
|
309
|
-
fun getPhase(viewTag: Int, promise: Promise) {
|
|
310
|
+
override fun getPhase(viewTag: Int, promise: Promise) {
|
|
310
311
|
UiThreadUtil.runOnUiThread {
|
|
311
312
|
val view = findPlayerView(viewTag)
|
|
312
313
|
if (view != null) {
|
|
@@ -319,7 +320,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
319
320
|
}
|
|
320
321
|
|
|
321
322
|
@ReactMethod
|
|
322
|
-
fun getState(viewTag: Int, promise: Promise) {
|
|
323
|
+
override fun getState(viewTag: Int, promise: Promise) {
|
|
323
324
|
UiThreadUtil.runOnUiThread {
|
|
324
325
|
val view = findPlayerView(viewTag)
|
|
325
326
|
if (view != null) {
|
|
@@ -332,7 +333,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
332
333
|
}
|
|
333
334
|
|
|
334
335
|
@ReactMethod
|
|
335
|
-
fun getMode(viewTag: Int, promise: Promise) {
|
|
336
|
+
override fun getMode(viewTag: Int, promise: Promise) {
|
|
336
337
|
UiThreadUtil.runOnUiThread {
|
|
337
338
|
val view = findPlayerView(viewTag)
|
|
338
339
|
if (view != null) {
|
|
@@ -345,7 +346,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
345
346
|
}
|
|
346
347
|
|
|
347
348
|
@ReactMethod
|
|
348
|
-
fun getClipData(viewTag: Int, promise: Promise) {
|
|
349
|
+
override fun getClipData(viewTag: Int, promise: Promise) {
|
|
349
350
|
UiThreadUtil.runOnUiThread {
|
|
350
351
|
val view = findPlayerView(viewTag)
|
|
351
352
|
if (view != null) {
|
|
@@ -368,7 +369,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
368
369
|
}
|
|
369
370
|
|
|
370
371
|
@ReactMethod
|
|
371
|
-
fun getProjectData(viewTag: Int, promise: Promise) {
|
|
372
|
+
override fun getProjectData(viewTag: Int, promise: Promise) {
|
|
372
373
|
UiThreadUtil.runOnUiThread {
|
|
373
374
|
val view = findPlayerView(viewTag)
|
|
374
375
|
if (view != null) {
|
|
@@ -389,7 +390,7 @@ class BBPlayerModule(private val reactContext: ReactApplicationContext) :
|
|
|
389
390
|
}
|
|
390
391
|
|
|
391
392
|
@ReactMethod
|
|
392
|
-
fun getPlayoutData(viewTag: Int, promise: Promise) {
|
|
393
|
+
override fun getPlayoutData(viewTag: Int, promise: Promise) {
|
|
393
394
|
UiThreadUtil.runOnUiThread {
|
|
394
395
|
val view = findPlayerView(viewTag)
|
|
395
396
|
if (view != null) {
|
|
@@ -1,13 +1,34 @@
|
|
|
1
1
|
package com.bluebillywig.bbplayer
|
|
2
2
|
|
|
3
|
-
import com.facebook.react.
|
|
3
|
+
import com.facebook.react.BaseReactPackage
|
|
4
4
|
import com.facebook.react.bridge.NativeModule
|
|
5
5
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
|
+
import com.facebook.react.module.model.ReactModuleInfo
|
|
7
|
+
import com.facebook.react.module.model.ReactModuleInfoProvider
|
|
6
8
|
import com.facebook.react.uimanager.ViewManager
|
|
7
9
|
|
|
8
|
-
class BBPlayerPackage :
|
|
9
|
-
override fun
|
|
10
|
-
return
|
|
10
|
+
class BBPlayerPackage : BaseReactPackage() {
|
|
11
|
+
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
|
|
12
|
+
return when (name) {
|
|
13
|
+
BBPlayerModule.NAME -> BBPlayerModule(reactContext)
|
|
14
|
+
else -> null
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
|
|
19
|
+
return ReactModuleInfoProvider {
|
|
20
|
+
mapOf(
|
|
21
|
+
BBPlayerModule.NAME to ReactModuleInfo(
|
|
22
|
+
BBPlayerModule.NAME,
|
|
23
|
+
BBPlayerModule::class.java.name,
|
|
24
|
+
false, // canOverrideExistingModule
|
|
25
|
+
false, // needsEagerInit
|
|
26
|
+
true, // hasConstants - deprecated but still needed
|
|
27
|
+
false, // isCxxModule
|
|
28
|
+
BuildConfig.IS_NEW_ARCHITECTURE_ENABLED // isTurboModule
|
|
29
|
+
)
|
|
30
|
+
)
|
|
31
|
+
}
|
|
11
32
|
}
|
|
12
33
|
|
|
13
34
|
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
package com.bluebillywig.bbplayer;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Placeholder for New Architecture (Fabric/TurboModules).
|
|
5
|
+
* The actual spec is generated by React Native codegen during build.
|
|
6
|
+
* This file allows the project to compile before codegen runs.
|
|
7
|
+
*
|
|
8
|
+
* During New Architecture builds, this file is replaced by the codegen-generated spec.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// The codegen-generated spec will be in:
|
|
12
|
+
// android/build/generated/source/codegen/java/com/bluebillywig/bbplayer/NativeBBPlayerModuleSpec.java
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
package com.bluebillywig.bbplayer;
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Promise;
|
|
4
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
5
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Abstract base class for BBPlayerModule on Old Architecture (Paper).
|
|
9
|
+
* This is used when codegen is not available (Old Architecture builds).
|
|
10
|
+
* The actual implementation extends this class.
|
|
11
|
+
*/
|
|
12
|
+
public abstract class NativeBBPlayerModuleSpec extends ReactContextBaseJavaModule {
|
|
13
|
+
public NativeBBPlayerModuleSpec(ReactApplicationContext reactContext) {
|
|
14
|
+
super(reactContext);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Void methods - playback control
|
|
18
|
+
public abstract void play(int viewTag);
|
|
19
|
+
public abstract void pause(int viewTag);
|
|
20
|
+
public abstract void seek(int viewTag, double position);
|
|
21
|
+
public abstract void seekRelative(int viewTag, double offsetSeconds);
|
|
22
|
+
public abstract void setMuted(int viewTag, boolean muted);
|
|
23
|
+
public abstract void setVolume(int viewTag, double volume);
|
|
24
|
+
|
|
25
|
+
// Void methods - fullscreen control
|
|
26
|
+
public abstract void enterFullscreen(int viewTag);
|
|
27
|
+
public abstract void enterFullscreenLandscape(int viewTag);
|
|
28
|
+
public abstract void exitFullscreen(int viewTag);
|
|
29
|
+
|
|
30
|
+
// Void methods - layout control
|
|
31
|
+
public abstract void collapse(int viewTag);
|
|
32
|
+
public abstract void expand(int viewTag);
|
|
33
|
+
|
|
34
|
+
// Void methods - other commands
|
|
35
|
+
public abstract void autoPlayNextCancel(int viewTag);
|
|
36
|
+
public abstract void destroy(int viewTag);
|
|
37
|
+
public abstract void showCastPicker(int viewTag);
|
|
38
|
+
|
|
39
|
+
// Load methods
|
|
40
|
+
public abstract void loadWithClipId(int viewTag, String clipId, String initiator, boolean autoPlay, double seekTo);
|
|
41
|
+
public abstract void loadWithClipListId(int viewTag, String clipListId, String initiator, boolean autoPlay, double seekTo);
|
|
42
|
+
public abstract void loadWithProjectId(int viewTag, String projectId, String initiator, boolean autoPlay, double seekTo);
|
|
43
|
+
public abstract void loadWithClipJson(int viewTag, String clipJson, String initiator, boolean autoPlay, double seekTo);
|
|
44
|
+
public abstract void loadWithClipListJson(int viewTag, String clipListJson, String initiator, boolean autoPlay, double seekTo);
|
|
45
|
+
public abstract void loadWithProjectJson(int viewTag, String projectJson, String initiator, boolean autoPlay, double seekTo);
|
|
46
|
+
public abstract void loadWithJsonUrl(int viewTag, String jsonUrl, boolean autoPlay);
|
|
47
|
+
|
|
48
|
+
// Promise getters
|
|
49
|
+
public abstract void getDuration(int viewTag, Promise promise);
|
|
50
|
+
public abstract void getCurrentTime(int viewTag, Promise promise);
|
|
51
|
+
public abstract void getMuted(int viewTag, Promise promise);
|
|
52
|
+
public abstract void getVolume(int viewTag, Promise promise);
|
|
53
|
+
public abstract void getPhase(int viewTag, Promise promise);
|
|
54
|
+
public abstract void getState(int viewTag, Promise promise);
|
|
55
|
+
public abstract void getMode(int viewTag, Promise promise);
|
|
56
|
+
public abstract void getClipData(int viewTag, Promise promise);
|
|
57
|
+
public abstract void getProjectData(int viewTag, Promise promise);
|
|
58
|
+
public abstract void getPlayoutData(int viewTag, Promise promise);
|
|
59
|
+
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
#import <React/RCTBridgeModule.h>
|
|
2
2
|
|
|
3
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
4
|
+
#import <BBPlayerModuleSpec/BBPlayerModuleSpec.h>
|
|
5
|
+
#endif
|
|
6
|
+
|
|
3
7
|
@interface RCT_EXTERN_MODULE(BBPlayerModule, NSObject)
|
|
4
8
|
|
|
5
9
|
// Playback control
|
|
@@ -45,4 +49,12 @@ RCT_EXTERN_METHOD(getClipData:(nonnull NSNumber *)viewTag resolver:(RCTPromiseRe
|
|
|
45
49
|
RCT_EXTERN_METHOD(getProjectData:(nonnull NSNumber *)viewTag resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
46
50
|
RCT_EXTERN_METHOD(getPlayoutData:(nonnull NSNumber *)viewTag resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
47
51
|
|
|
52
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
53
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
54
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
55
|
+
{
|
|
56
|
+
return std::make_shared<facebook::react::NativeBBPlayerModuleSpecJSI>(params);
|
|
57
|
+
}
|
|
58
|
+
#endif
|
|
59
|
+
|
|
48
60
|
@end
|
|
@@ -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,9 @@
|
|
|
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
|
+
var _default = exports.default = _reactNative.TurboModuleRegistry.getEnforcing("BBPlayerModule");
|
|
9
|
+
//# sourceMappingURL=NativeBBPlayerModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeBBPlayerModule.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAmFpCC,gCAAmB,CAACC,YAAY,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","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeBBPlayerModule.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAmFlD,eAAeA,mBAAmB,CAACC,YAAY,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;
|
|
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":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IAEvC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAGjD,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAG9B,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtC,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,MAAM,GACb,IAAI,CAAC;IACR,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,MAAM,GACb,IAAI,CAAC;IACR,iBAAiB,CACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,MAAM,GACb,IAAI,CAAC;IACR,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,MAAM,GACb,IAAI,CAAC;IACR,oBAAoB,CAClB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,MAAM,GACb,IAAI,CAAC;IACR,mBAAmB,CACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,MAAM,GACb,IAAI,CAAC;IACR,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAG3E,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACnD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACzD;;AAED,wBAAwE"}
|
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.10",
|
|
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",
|
|
@@ -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
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { TurboModule } from "react-native";
|
|
2
|
+
import { TurboModuleRegistry } from "react-native";
|
|
3
|
+
|
|
4
|
+
export interface Spec extends TurboModule {
|
|
5
|
+
// Void methods - playback control
|
|
6
|
+
play(viewTag: number): void;
|
|
7
|
+
pause(viewTag: number): void;
|
|
8
|
+
seek(viewTag: number, position: number): void;
|
|
9
|
+
seekRelative(viewTag: number, offsetSeconds: number): void;
|
|
10
|
+
setMuted(viewTag: number, muted: boolean): void;
|
|
11
|
+
setVolume(viewTag: number, volume: number): void;
|
|
12
|
+
|
|
13
|
+
// Void methods - fullscreen control
|
|
14
|
+
enterFullscreen(viewTag: number): void;
|
|
15
|
+
enterFullscreenLandscape(viewTag: number): void;
|
|
16
|
+
exitFullscreen(viewTag: number): void;
|
|
17
|
+
|
|
18
|
+
// Void methods - layout control
|
|
19
|
+
collapse(viewTag: number): void;
|
|
20
|
+
expand(viewTag: number): void;
|
|
21
|
+
|
|
22
|
+
// Void methods - other commands
|
|
23
|
+
autoPlayNextCancel(viewTag: number): void;
|
|
24
|
+
destroy(viewTag: number): void;
|
|
25
|
+
showCastPicker(viewTag: number): void;
|
|
26
|
+
|
|
27
|
+
// Load methods
|
|
28
|
+
loadWithClipId(
|
|
29
|
+
viewTag: number,
|
|
30
|
+
clipId: string,
|
|
31
|
+
initiator: string | null,
|
|
32
|
+
autoPlay: boolean,
|
|
33
|
+
seekTo: number
|
|
34
|
+
): void;
|
|
35
|
+
loadWithClipListId(
|
|
36
|
+
viewTag: number,
|
|
37
|
+
clipListId: string,
|
|
38
|
+
initiator: string | null,
|
|
39
|
+
autoPlay: boolean,
|
|
40
|
+
seekTo: number
|
|
41
|
+
): void;
|
|
42
|
+
loadWithProjectId(
|
|
43
|
+
viewTag: number,
|
|
44
|
+
projectId: string,
|
|
45
|
+
initiator: string | null,
|
|
46
|
+
autoPlay: boolean,
|
|
47
|
+
seekTo: number
|
|
48
|
+
): void;
|
|
49
|
+
loadWithClipJson(
|
|
50
|
+
viewTag: number,
|
|
51
|
+
clipJson: string,
|
|
52
|
+
initiator: string | null,
|
|
53
|
+
autoPlay: boolean,
|
|
54
|
+
seekTo: number
|
|
55
|
+
): void;
|
|
56
|
+
loadWithClipListJson(
|
|
57
|
+
viewTag: number,
|
|
58
|
+
clipListJson: string,
|
|
59
|
+
initiator: string | null,
|
|
60
|
+
autoPlay: boolean,
|
|
61
|
+
seekTo: number
|
|
62
|
+
): void;
|
|
63
|
+
loadWithProjectJson(
|
|
64
|
+
viewTag: number,
|
|
65
|
+
projectJson: string,
|
|
66
|
+
initiator: string | null,
|
|
67
|
+
autoPlay: boolean,
|
|
68
|
+
seekTo: number
|
|
69
|
+
): void;
|
|
70
|
+
loadWithJsonUrl(viewTag: number, jsonUrl: string, autoPlay: boolean): void;
|
|
71
|
+
|
|
72
|
+
// Promise getters
|
|
73
|
+
getDuration(viewTag: number): Promise<number | null>;
|
|
74
|
+
getCurrentTime(viewTag: number): Promise<number | null>;
|
|
75
|
+
getMuted(viewTag: number): Promise<boolean | null>;
|
|
76
|
+
getVolume(viewTag: number): Promise<number | null>;
|
|
77
|
+
getPhase(viewTag: number): Promise<string | null>;
|
|
78
|
+
getState(viewTag: number): Promise<string | null>;
|
|
79
|
+
getMode(viewTag: number): Promise<string | null>;
|
|
80
|
+
getClipData(viewTag: number): Promise<Object | null>;
|
|
81
|
+
getProjectData(viewTag: number): Promise<Object | null>;
|
|
82
|
+
getPlayoutData(viewTag: number): Promise<Object | null>;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export default TurboModuleRegistry.getEnforcing<Spec>("BBPlayerModule");
|