@@ -170,7 +170,7 @@ - (void)addParticipantView:(TVIVideoView *)view sid:(NSString *)sid trackSid:(NS
170170 if (self.camera == nil ) {
171171 return ;
172172 }
173- self.localVideoTrack = [TVILocalVideoTrack trackWithSource: self .camera enabled: YES name: @" camera" ];
173+ self.localVideoTrack = [TVILocalVideoTrack trackWithSource: self .camera enabled: NO name: @" camera" ];
174174}
175175
176176- (void )startCameraCapture {
@@ -233,19 +233,25 @@ - (void)startCameraCapture {
233233 resolve (@(enabled));
234234}
235235
236- RCT_REMAP_METHOD (setLocalVideoEnabled, enabled:(BOOL )enabled setLocalVideoEnabledWithResolver:(RCTPromiseResolveBlock)resolve
237- rejecter:(RCTPromiseRejectBlock)reject) {
236+ - (bool )_setLocalVideoEnabled : (bool )enabled {
238237 if (self.localVideoTrack != nil ) {
239238 [self .localVideoTrack setEnabled: enabled];
240- if (self.camera && self. camera . device ) {
239+ if (self.camera ) {
241240 if (enabled) {
242241 [self startCameraCapture ];
243242 } else {
244243 [self clearCameraInstance ];
245244 }
245+ return enabled;
246246 }
247- resolve (@(enabled));
248247 }
248+ return false ;
249+ }
250+
251+ RCT_REMAP_METHOD (setLocalVideoEnabled, enabled:(BOOL )enabled setLocalVideoEnabledWithResolver:(RCTPromiseResolveBlock)resolve
252+ rejecter:(RCTPromiseRejectBlock)reject) {
253+ bool result = [self _setLocalVideoEnabled: enabled];
254+ resolve (@(result));
249255}
250256
251257RCT_EXPORT_METHOD (flipCamera) {
@@ -378,9 +384,7 @@ -(NSMutableDictionary*)convertLocalVideoTrackStats:(TVILocalVideoTrackStats *)st
378384}
379385
380386RCT_EXPORT_METHOD (connect:(NSString *)accessToken roomName:(NSString *)roomName enableVideo:(BOOL *)enableVideo encodingParameters:(NSDictionary *)encodingParameters enableNetworkQualityReporting:(BOOL *)enableNetworkQualityReporting) {
381- if (enableVideo) {
382- [self startCameraCapture ];
383- }
387+ [self _setLocalVideoEnabled: enableVideo];
384388
385389 TVIConnectOptions *connectOptions = [TVIConnectOptions optionsWithToken: accessToken block: ^(TVIConnectOptionsBuilder * _Nonnull builder) {
386390 if (self.localVideoTrack ) {
@@ -391,7 +395,6 @@ -(NSMutableDictionary*)convertLocalVideoTrackStats:(TVILocalVideoTrackStats *)st
391395 builder.audioTracks = @[self .localAudioTrack];
392396 }
393397
394-
395398 self.localDataTrack = [TVILocalDataTrack track ];
396399
397400 if (self.localDataTrack ) {
@@ -409,12 +412,12 @@ -(NSMutableDictionary*)convertLocalVideoTrackStats:(TVILocalVideoTrackStats *)st
409412 NSInteger videoBitrate = [encodingParameters[@" videoBitrate" ] integerValue ];
410413 builder.encodingParameters = [[TVIEncodingParameters alloc ] initWithAudioBitrate: (audioBitrate) ? audioBitrate : 40 videoBitrate: (videoBitrate) ? videoBitrate : 1500 ];
411414 }
412-
415+
413416 if (enableNetworkQualityReporting) {
414417 builder.networkQualityEnabled = true ;
415418 builder.networkQualityConfiguration = [ [TVINetworkQualityConfiguration alloc ] initWithLocalVerbosity: TVINetworkQualityVerbosityMinimal remoteVerbosity: TVINetworkQualityVerbosityMinimal];
416419 }
417-
420+
418421 }];
419422
420423 self.room = [TwilioVideoSDK connectWithOptions: connectOptions delegate: self ];
@@ -490,7 +493,7 @@ - (void)didConnectToRoom:(TVIRoom *)room {
490493 }
491494 self.localParticipant = room.localParticipant ;
492495 self.localParticipant .delegate = self;
493-
496+
494497 [participants addObject: [self .localParticipant toJSON ]];
495498 [self sendEventCheckingListenerWithName: roomDidConnect body: @{ @" roomName" : room.name , @" roomSid" : room.sid , @" participants" : participants }];
496499
0 commit comments