@byteplus/react-native-live-pull 1.4.0-rc.0 → 1.5.1-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/android/build.gradle +19 -3
  2. package/android/gradle.properties +1 -1
  3. package/android/src/main/java/com/volcengine/velive/rn/pull/EnvHelper.java +1 -1
  4. package/android/src/main/java/com/volcengine/velive/rn/pull/VeLivePullImpl.java +66 -0
  5. package/android/src/main/java/com/volcengine/velive/rn/pull/VeLivePullPackage.java +61 -0
  6. package/android/src/main/java/com/volcengine/velive/rn/pull/{VolcView.java → VeLivePullView.java} +12 -3
  7. package/android/src/main/java/com/volcengine/velive/rn/pull/{VolcViewManager.java → VeLivePullViewManager.java} +34 -19
  8. package/android/src/newarch/com/volcengine/velive/rn/pull/VeLivePullModule.java +83 -0
  9. package/android/src/{main/java/com/volcengine/velive/rn/pull/VolcLiveModule.java → oldarch/com/volcengine/velive/rn/pull/VeLivePullModule.java} +17 -47
  10. package/android/src/{main/java/com/volcengine/velive/rn/pull/VolcLiveModuleSpec.java → oldarch/com/volcengine/velive/rn/pull/VeLivePullModuleSpec.java} +4 -4
  11. package/ios/RCTVeLivePull/RCTVeLivePull.h +21 -0
  12. package/ios/RCTVeLivePull/RCTVeLivePull.mm +119 -0
  13. package/ios/VeLivePullImpl.h +29 -0
  14. package/ios/VeLivePullImpl.m +49 -0
  15. package/ios/VeLivePullView.h +3 -3
  16. package/ios/VeLivePullView.m +2 -2
  17. package/ios/VeLivePullViewManager.m +13 -9
  18. package/lib/commonjs/index.js +142 -22
  19. package/lib/module/index.js +143 -23
  20. package/lib/typescript/codegen/ios/errorcode.d.ts +2 -2
  21. package/lib/typescript/module.d.ts +4 -0
  22. package/lib/typescript/platforms/TurboModule/NativeVeLivePull.d.ts +29 -0
  23. package/lib/typescript/platforms/TurboModule/index.d.ts +1 -0
  24. package/lib/typescript/utils/index.d.ts +1 -0
  25. package/package.json +6 -5
  26. package/react-native-velive-pull.podspec +29 -24
  27. package/src/platforms/TurboModule/NativeVeLivePull.ts +38 -0
  28. package/src/platforms/TurboModule/index.ts +1 -0
  29. package/android/src/main/java/com/volcengine/velive/rn/pull/VolcLivePackage.java +0 -27
  30. package/ios/VeLivePullSDK.h +0 -24
  31. package/ios/VeLivePullSDK.m +0 -89
@@ -0,0 +1,29 @@
1
+ //
2
+ // VolcLiveImpl.h
3
+ // react-native-velive-pull
4
+ //
5
+ // Created by ByteDance on 2025/9/18.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import "VolcApiEngine/Engine.h"
10
+ #import "VolcApiEngine/VolcEventObserver.h"
11
+
12
+ NS_ASSUME_NONNULL_BEGIN
13
+
14
+ @interface VeLivePullImpl : NSObject
15
+
16
+ @property(nonatomic, strong) VolcApiEngine *volcApiEngine;
17
+ @property(nonatomic, weak) NSObject<EventObserver>* module;
18
+
19
+ - (NSDictionary *) callApiSync: (nonnull NSDictionary*) args;
20
+
21
+ - (void)callApi: (nonnull NSDictionary*) args
22
+ callback: (void (^)(id))callback;
23
+
24
+ - (instancetype) initWithModule:(NSObject<EventObserver> *)module;
25
+
26
+ - (id)newApiEngine;
27
+ @end
28
+
29
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,49 @@
1
+ //
2
+ // VolcLiveImpl.m
3
+ // react-native-velive-pull
4
+ //
5
+ // Created by ByteDance on 2025/9/18.
6
+ //
7
+
8
+ #import "VeLivePullImpl.h"
9
+ #import "VolcApiEngine/VolcEventObserver.h"
10
+ #import <React/RCTBridgeModule.h>
11
+
12
+ @interface VeLivePullImpl()
13
+
14
+ @end
15
+
16
+ @implementation VeLivePullImpl
17
+
18
+ - (instancetype) initWithModule:(NSObject<EventObserver> *)module {
19
+ self = [super init];
20
+ if (self) {
21
+ self.module = module;
22
+ }
23
+ return self;
24
+ }
25
+
26
+ - (id)newApiEngine {
27
+ if (self.volcApiEngine == nil) {
28
+ self.volcApiEngine = [[VolcApiEngine alloc] init];
29
+ [self.volcApiEngine setObserver:self.module];
30
+ }
31
+ return nil;
32
+ }
33
+
34
+ - (NSDictionary *)callApiSync:(NSDictionary *)args {
35
+ [self newApiEngine];
36
+ return [self.volcApiEngine callApi:args];
37
+ }
38
+
39
+ //callback 是OC的回调函数,外层需要进一步封装,接收一个NSDictionary类型的参数
40
+ - (void)callApi:(NSDictionary *)args callback:(void (^)(id))callback {
41
+ [self newApiEngine];
42
+ dispatch_async(dispatch_get_main_queue(), ^{
43
+ id _val = [self.volcApiEngine callApi:args];
44
+ callback(_val);
45
+ });
46
+
47
+ }
48
+
49
+ @end
@@ -9,10 +9,10 @@
9
9
  #import <UIKit/UIKit.h>
10
10
  #import <React/RCTComponent.h>
11
11
 
12
- #ifndef VeUIView_h
13
- #define VVeUIView_h
12
+ #ifndef VeLivePullUIView_h
13
+ #define VeLivePullUIView_h
14
14
 
15
- @interface VeUIView : UIView
15
+ @interface VeLivePullUIView : UIView
16
16
 
17
17
  @property (nonatomic, strong) NSString* viewId;
18
18
 
@@ -8,7 +8,7 @@
8
8
  #import <Foundation/Foundation.h>
9
9
  #import "VeLivePullView.h"
10
10
 
11
- @implementation VeUIView
11
+ @implementation VeLivePullUIView
12
12
 
13
13
  - (instancetype) init {
14
14
  self = [super init];
@@ -25,7 +25,7 @@
25
25
 
26
26
  _viewId = viewId;
27
27
  self.hasRegister = TRUE;
28
- self.accessibilityLabel = [NSString stringWithFormat:@"VeUIView@%@", viewId];
28
+ self.accessibilityLabel = [NSString stringWithFormat:@"VeLivePullUIView@%@", viewId];
29
29
 
30
30
  [self emitLoaded];
31
31
  }
@@ -10,19 +10,23 @@
10
10
  #import "VolcApiEngine/VolcViewManager.h"
11
11
  #import "VeLivePullView.h"
12
12
 
13
- @interface VeUIViewManager : RCTViewManager
13
+ @interface VeLivePullViewManager : RCTViewManager
14
14
 
15
15
  @end
16
16
 
17
- @implementation VeUIViewManager
17
+ @implementation VeLivePullViewManager
18
18
 
19
- RCT_EXPORT_MODULE(VolcView)
19
+ + (BOOL)requiresMainQueueSetup {
20
+ return YES;
21
+ }
22
+
23
+ RCT_EXPORT_MODULE(VeLivePullView)
20
24
 
21
25
  // 导出 events
22
26
  RCT_EXPORT_VIEW_PROPERTY(onViewLoad, RCTBubblingEventBlock)
23
27
 
24
28
  // 导出 events
25
- RCT_CUSTOM_VIEW_PROPERTY(viewId, NSString, VeUIView)
29
+ RCT_CUSTOM_VIEW_PROPERTY(viewId, NSString, VeLivePullUIView)
26
30
  {
27
31
  if (json == nil) {
28
32
  return;
@@ -34,7 +38,7 @@ RCT_CUSTOM_VIEW_PROPERTY(viewId, NSString, VeUIView)
34
38
  NSLog(@"[View] register view success viewId=%@", viewId);
35
39
  }
36
40
 
37
- RCT_CUSTOM_VIEW_PROPERTY(kind, NSString, VeUIView)
41
+ RCT_CUSTOM_VIEW_PROPERTY(kind, NSString, VeLivePullUIView)
38
42
  {
39
43
  if (json == nil) {
40
44
  return;
@@ -48,11 +52,11 @@ RCT_CUSTOM_VIEW_PROPERTY(kind, NSString, VeUIView)
48
52
  // }
49
53
  }
50
54
 
51
- - (VeUIView *)view
55
+ - (VeLivePullUIView *)view
52
56
  {
53
- VeUIView *view = [[VeUIView alloc] init];
54
- view.accessibilityLabel = @"VolcView";
55
- NSLog(@"[View] create VolcView success");
57
+ VeLivePullUIView *view = [[VeLivePullUIView alloc] init];
58
+ view.accessibilityLabel = @"VeLivePullUIView";
59
+ NSLog(@"[View] create VeLivePullUIView success");
56
60
  return view;
57
61
  }
58
62
 
@@ -2575,6 +2575,7 @@ var MessageProtoImpl = function () {
2575
2575
  var buf = bufferLike.buffer || bufferLike;
2576
2576
  return {
2577
2577
  _type: "base64" /* ARG_TYPE.BASE64 */,
2578
+ // @ts-ignore
2578
2579
  _value: buf2base64(buf),
2579
2580
  };
2580
2581
  };
@@ -2916,6 +2917,77 @@ var ReactNativeBridge = /** @class */ (function () {
2916
2917
  return ReactNativeBridge;
2917
2918
  }());
2918
2919
 
2920
+ var ReactNativeTurboBridge = /** @class */ (function () {
2921
+ function ReactNativeTurboBridge(BridgeModule, NativeEventName) {
2922
+ this.BridgeModule = BridgeModule;
2923
+ this.NativeEventName = NativeEventName;
2924
+ this._handlers = {};
2925
+ if (BridgeModule === undefined) {
2926
+ throw new Error("can't find module \"".concat(BridgeModule, "\", please enure install the module correctly"));
2927
+ }
2928
+ // this._nativeEventEmitter = new NativeEventEmitter(BridgeModule);
2929
+ this._nativeEventEmitter = new reactNative.NativeEventEmitter(BridgeModule);
2930
+ this._init();
2931
+ }
2932
+ ReactNativeTurboBridge.prototype._init = function () {
2933
+ var _this = this;
2934
+ this._nativeEventEmitter.addListener(this.NativeEventName, function (ev) {
2935
+ var _a, _b;
2936
+ try {
2937
+ var eventName = ev.event;
2938
+ var eventData = typeof ev.data === 'string' ? JSON.parse(ev.data) : ev.data;
2939
+ (_b = (_a = _this._handlers)[eventName]) === null || _b === void 0 ? void 0 : _b.call(_a, eventData);
2940
+ }
2941
+ catch (err) {
2942
+ console.error('handle native event fail:', err);
2943
+ }
2944
+ });
2945
+ };
2946
+ ReactNativeTurboBridge.prototype.call = function (params) {
2947
+ var _this = this;
2948
+ return new Promise(function (resolve, reject) {
2949
+ try {
2950
+ var resolved_1 = false;
2951
+ _this.BridgeModule.call(JSON.stringify(params), function (res) {
2952
+ var val = typeof res === 'string' ? JSON.parse(res) : res;
2953
+ resolved_1 = true;
2954
+ resolve(val);
2955
+ });
2956
+ setTimeout(function () {
2957
+ if (resolved_1) {
2958
+ return;
2959
+ }
2960
+ resolve({
2961
+ status: RETURN_STATUS.SUCCESS,
2962
+ msg: 'over timeout and auto success',
2963
+ });
2964
+ }, 1000 * 60 * 5);
2965
+ }
2966
+ catch (err) {
2967
+ // console.error(`<RNBridge> call native "${handlerName}()" fail`, err);
2968
+ reject(err);
2969
+ }
2970
+ });
2971
+ };
2972
+ ReactNativeTurboBridge.prototype.callSync = function (params) {
2973
+ try {
2974
+ var res = this.BridgeModule.callSync(JSON.stringify(params));
2975
+ return typeof res === 'string' ? JSON.parse(res) : res;
2976
+ }
2977
+ catch (err) {
2978
+ // console.error(`<RNBridge> call native "${handlerName}()" fail`, err);
2979
+ throw err;
2980
+ }
2981
+ };
2982
+ ReactNativeTurboBridge.prototype.registerHandler = function (handlerName, handler) {
2983
+ this._handlers[handlerName] = handler;
2984
+ };
2985
+ ReactNativeTurboBridge.prototype.registerAsyncHandler = function (handlerName, handler) {
2986
+ this._handlers[handlerName] = handler;
2987
+ };
2988
+ return ReactNativeTurboBridge;
2989
+ }());
2990
+
2919
2991
  /******************************************************************************
2920
2992
  Copyright (c) Microsoft Corporation.
2921
2993
 
@@ -2962,6 +3034,42 @@ var ReactNativeEnv = /** @class */ (function () {
2962
3034
  return ReactNativeEnv;
2963
3035
  }());
2964
3036
 
3037
+ /**
3038
+ * 获取NativeBridgeModule实例
3039
+ */
3040
+ var NativeVeLivePull = reactNative.TurboModuleRegistry.get('VeLivePull');
3041
+
3042
+ var _isNewArch;
3043
+ function isNewArch() {
3044
+ if (_isNewArch !== undefined) {
3045
+ return _isNewArch;
3046
+ }
3047
+ else {
3048
+ try {
3049
+ // Check for Fabric UI Manager
3050
+ var hasFabricUIManager = Boolean(global === null || global === void 0 ? void 0 : global.nativeFabricUIManager);
3051
+ // Check for TurboModule system
3052
+ var hasTurboModule = Boolean(global === null || global === void 0 ? void 0 : global.__turboModuleProxy);
3053
+ _isNewArch = hasFabricUIManager || hasTurboModule;
3054
+ }
3055
+ catch (_a) {
3056
+ _isNewArch = true;
3057
+ }
3058
+ }
3059
+ return _isNewArch;
3060
+ }
3061
+
3062
+ var isTurboModuleEnabled = isNewArch();
3063
+ var VeLivePull = isTurboModuleEnabled
3064
+ ? NativeVeLivePull
3065
+ : reactNative.NativeModules.VeLivePull;
3066
+ if (isTurboModuleEnabled) {
3067
+ console.log('[RN Module] TurboModule Enable', NativeVeLivePull);
3068
+ }
3069
+ else {
3070
+ console.log('[RN Module] NativeModule Enable', reactNative.NativeModules.VeLivePull);
3071
+ }
3072
+
2965
3073
  /******************************************************************************
2966
3074
  Copyright (c) Microsoft Corporation.
2967
3075
 
@@ -3107,7 +3215,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
3107
3215
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
3108
3216
  };
3109
3217
 
3110
- var VolcView = reactNative.requireNativeComponent('VolcView');
3218
+ var VolcView = reactNative.requireNativeComponent('VeLivePullView');
3111
3219
  var NativeViewComponent = /** @class */ (function (_super) {
3112
3220
  __extends(NativeViewComponent, _super);
3113
3221
  function NativeViewComponent() {
@@ -6748,12 +6856,12 @@ var VeLivePlayerObserver = function () {
6748
6856
  var _classExtraInitializers = [];
6749
6857
  var _classThis;
6750
6858
  var _instanceExtraInitializers = [];
6751
- var _errorCode_decorators;
6752
- var _errorCode_initializers = [];
6753
- var _errorCode_extraInitializers = [];
6754
- var _errorMsg_decorators;
6755
- var _errorMsg_initializers = [];
6756
- var _errorMsg_extraInitializers = [];
6859
+ var _code_decorators;
6860
+ var _code_initializers = [];
6861
+ var _code_extraInitializers = [];
6862
+ var _message_decorators;
6863
+ var _message_initializers = [];
6864
+ var _message_extraInitializers = [];
6757
6865
  var _init_decorators;
6758
6866
  _classThis = /** @class */ (function () {
6759
6867
  function VeLivePlayerError_1() {
@@ -6763,15 +6871,15 @@ var VeLivePlayerObserver = function () {
6763
6871
  /** {en}
6764
6872
  * @brief The error code.
6765
6873
  */
6766
- this.errorCode = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _errorCode_initializers, void 0));
6874
+ this.code = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _code_initializers, void 0));
6767
6875
  /** {zh}
6768
6876
  * @brief 直播播放错误信息。
6769
6877
  */
6770
6878
  /** {en}
6771
6879
  * @brief The error message.
6772
6880
  */
6773
- this.errorMsg = (__runInitializers(this, _errorCode_extraInitializers), __runInitializers(this, _errorMsg_initializers, void 0));
6774
- __runInitializers(this, _errorMsg_extraInitializers);
6881
+ this.message = (__runInitializers(this, _code_extraInitializers), __runInitializers(this, _message_initializers, void 0));
6882
+ __runInitializers(this, _message_extraInitializers);
6775
6883
  }
6776
6884
  VeLivePlayerError_1.prototype.init = function () {
6777
6885
  throw new Error('not implement');
@@ -6781,12 +6889,12 @@ var VeLivePlayerObserver = function () {
6781
6889
  __setFunctionName(_classThis, "VeLivePlayerError");
6782
6890
  (function () {
6783
6891
  var _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
6784
- _errorCode_decorators = [NativeMember()];
6785
- _errorMsg_decorators = [NativeMember()];
6892
+ _code_decorators = [NativeMember()];
6893
+ _message_decorators = [NativeMember()];
6786
6894
  _init_decorators = [NativeMethodSync('init')];
6787
6895
  __esDecorate(_classThis, null, _init_decorators, { kind: "method", name: "init", static: false, private: false, access: { has: function (obj) { return "init" in obj; }, get: function (obj) { return obj.init; } }, metadata: _metadata }, null, _instanceExtraInitializers);
6788
- __esDecorate(null, null, _errorCode_decorators, { kind: "field", name: "errorCode", static: false, private: false, access: { has: function (obj) { return "errorCode" in obj; }, get: function (obj) { return obj.errorCode; }, set: function (obj, value) { obj.errorCode = value; } }, metadata: _metadata }, _errorCode_initializers, _errorCode_extraInitializers);
6789
- __esDecorate(null, null, _errorMsg_decorators, { kind: "field", name: "errorMsg", static: false, private: false, access: { has: function (obj) { return "errorMsg" in obj; }, get: function (obj) { return obj.errorMsg; }, set: function (obj, value) { obj.errorMsg = value; } }, metadata: _metadata }, _errorMsg_initializers, _errorMsg_extraInitializers);
6896
+ __esDecorate(null, null, _code_decorators, { kind: "field", name: "code", static: false, private: false, access: { has: function (obj) { return "code" in obj; }, get: function (obj) { return obj.code; }, set: function (obj, value) { obj.code = value; } }, metadata: _metadata }, _code_initializers, _code_extraInitializers);
6897
+ __esDecorate(null, null, _message_decorators, { kind: "field", name: "message", static: false, private: false, access: { has: function (obj) { return "message" in obj; }, get: function (obj) { return obj.message; }, set: function (obj, value) { obj.message = value; } }, metadata: _metadata }, _message_initializers, _message_extraInitializers);
6790
6898
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
6791
6899
  _classThis = _classDescriptor.value;
6792
6900
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -12374,7 +12482,7 @@ var VeLivePlayerError = function () {
12374
12482
  return Number(this._instance.mErrorCode);
12375
12483
  }
12376
12484
  else if ($os === 'ios') {
12377
- return Number(this._instance.errorCode);
12485
+ return Number(this._instance.code);
12378
12486
  }
12379
12487
  else {
12380
12488
  throw new Error('Not Support Platform ' + $os);
@@ -12398,7 +12506,7 @@ var VeLivePlayerError = function () {
12398
12506
  return String(this._instance.mErrorMsg);
12399
12507
  }
12400
12508
  else if ($os === 'ios') {
12401
- return String(this._instance.errorMsg);
12509
+ return String(this._instance.message);
12402
12510
  }
12403
12511
  else {
12404
12512
  throw new Error('Not Support Platform ' + $os);
@@ -14118,6 +14226,7 @@ function removePlayer(player) {
14118
14226
  playerPool.delete(player);
14119
14227
  }
14120
14228
 
14229
+ var defaultHeaders = { 'User-Agent': 'rn' };
14121
14230
  function runImpl(context, androidImpl, iosImpl) {
14122
14231
  if (env.getOS() === 'android') {
14123
14232
  var androidEngine = unpackObject(context);
@@ -14264,7 +14373,8 @@ extendsClassMethod(VeLivePlayer, 'setEnableIgnoreAudioInterruption', function ()
14264
14373
  });
14265
14374
  extendsClassMethod(VeLivePlayer, 'addExtraHttpRequestHeadersByUser', function () {
14266
14375
  return function addExtraHttpRequestHeadersByUser(headers) {
14267
- var defaultHeaders = { 'User-Agent': 'rn' };
14376
+ // @ts-ignore
14377
+ this._customHeaders = headers || {};
14268
14378
  return runImpl(this, function (engine) {
14269
14379
  engine.addExtraHttpRequestHeadersByUser(__assign(__assign({}, defaultHeaders), headers));
14270
14380
  }, function (engine) {
@@ -14274,11 +14384,13 @@ extendsClassMethod(VeLivePlayer, 'addExtraHttpRequestHeadersByUser', function ()
14274
14384
  });
14275
14385
  extendsClassMethod(VeLivePlayer, 'play', function () {
14276
14386
  return function play() {
14387
+ // @ts-ignore
14388
+ var headers = __assign(__assign({}, defaultHeaders), (this._customHeaders || {}));
14277
14389
  return runImpl(this, function (engine) {
14278
- engine.addExtraHttpRequestHeadersByUser({});
14390
+ engine.addExtraHttpRequestHeadersByUser(headers);
14279
14391
  engine.play();
14280
14392
  }, function (engine) {
14281
- engine.addExtraHttpRequestHeadersByUser({});
14393
+ engine.addExtraHttpRequestHeadersByUser(headers);
14282
14394
  engine.play();
14283
14395
  });
14284
14396
  };
@@ -14446,7 +14558,7 @@ function initAndroidEnv(config) {
14446
14558
  .setLicenseUri(config.LicenseUri.android);
14447
14559
  androidEnv = builder.build();
14448
14560
  EnvHelper.init(androidEnv, {
14449
- hybrid_ua: "rn|pull|".concat("1.3.1"),
14561
+ hybrid_ua: "rn|pull|".concat("1.5.0"),
14450
14562
  });
14451
14563
  Env.openAppLog(config.openLog);
14452
14564
  return [2 /*return*/];
@@ -14457,7 +14569,7 @@ function initAndroidEnv(config) {
14457
14569
  function initIOSEnv(config) {
14458
14570
  return __awaiter(this, void 0, void 0, function () {
14459
14571
  return __generator(this, function (_a) {
14460
- VeLivePlayerHelper.startWithConfiguration(__assign(__assign({}, config), { LicenseUri: config.LicenseUri.ios, appLogAid: '500808' , hybrid_ua: "rn|pull|".concat("1.3.1") }));
14572
+ VeLivePlayerHelper.startWithConfiguration(__assign(__assign({}, config), { LicenseUri: config.LicenseUri.ios, appLogAid: '500808' , hybrid_ua: "rn|pull|".concat("1.5.0") }));
14461
14573
  return [2 /*return*/];
14462
14574
  });
14463
14575
  });
@@ -14498,6 +14610,7 @@ function initEnv(config) {
14498
14610
 
14499
14611
  var defaultConfig = {
14500
14612
  enableStatisticsCallback: true,
14613
+ enableLiveDNS: false,
14501
14614
  };
14502
14615
  function initAndroidPlayer(options) {
14503
14616
  return __awaiter(this, void 0, void 0, function () {
@@ -14604,7 +14717,14 @@ function initPlayer(options) {
14604
14717
  });
14605
14718
  }
14606
14719
 
14607
- setupJSBridge(new ReactNativeBridge(reactNative.NativeModules.VolcLiveModule, 'VolcLive:onEvent'));
14720
+ if (isTurboModuleEnabled) {
14721
+ console.log('[VeLivePull] TurboModule Enable', VeLivePull);
14722
+ setupJSBridge(new ReactNativeTurboBridge(VeLivePull, 'VeLivePull:onEvent'));
14723
+ }
14724
+ else {
14725
+ console.log('[VeLivePull] NativeModule Enable', reactNative.NativeModules.VeLivePull);
14726
+ setupJSBridge(new ReactNativeBridge(VeLivePull, 'VeLivePull:onEvent'));
14727
+ }
14608
14728
  setupEnv(new ReactNativeEnv());
14609
14729
 
14610
14730
  exports.NativeViewComponent = NativeViewComponent;