diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cb4e02b8e..31618c5cf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,3 +16,20 @@ jobs: - name: Check if the git repository is clean run: $(exit $(git status --porcelain --untracked-files=no | head -255 | wc -l)) || (echo "Dirty git tree"; git diff; exit 1) - run: npm run lint + clang: + name: Clang-Format Check + runs-on: ubuntu-latest + permissions: + contents: read + strategy: + matrix: + path: + - 'ios' + - 'android' + steps: + - uses: actions/checkout@v4 + - uses: jidicula/clang-format-action@v4.15.0 + with: + clang-format-version: '17' + check-path: ${{ matrix.path }} + include-regex: '^.*(\.h|\.m|\.java)' \ No newline at end of file diff --git a/android/src/main/java/com/oney/WebRTCModule/CameraCaptureController.java b/android/src/main/java/com/oney/WebRTCModule/CameraCaptureController.java index 94f980452..f6a6742f3 100644 --- a/android/src/main/java/com/oney/WebRTCModule/CameraCaptureController.java +++ b/android/src/main/java/com/oney/WebRTCModule/CameraCaptureController.java @@ -8,9 +8,6 @@ import androidx.annotation.Nullable; import androidx.core.util.Consumer; -import androidx.annotation.Nullable; -import androidx.core.util.Consumer; - import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableMap; diff --git a/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java b/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java index ddd2d7b99..e9337be1c 100644 --- a/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java +++ b/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java @@ -91,10 +91,10 @@ public WebRTCModule(ReactApplicationContext reactContext) { String fieldTrials = options.fieldTrials; PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions.builder(reactContext) - .setFieldTrials(fieldTrials) - .setNativeLibraryLoader(new LibraryLoader()) - .setInjectableLogger(injectableLogger, loggingSeverity) - .createInitializationOptions()); + .setFieldTrials(fieldTrials) + .setNativeLibraryLoader(new LibraryLoader()) + .setInjectableLogger(injectableLogger, loggingSeverity) + .createInitializationOptions()); if (injectableLogger == null && loggingSeverity != null) { Logging.enableLogToDebugOutput(loggingSeverity); diff --git a/ios/RCTWebRTC/WebRTCModule+Permissions.m b/ios/RCTWebRTC/WebRTCModule+Permissions.m index 82ef6ec56..4d486f60b 100644 --- a/ios/RCTWebRTC/WebRTCModule+Permissions.m +++ b/ios/RCTWebRTC/WebRTCModule+Permissions.m @@ -19,8 +19,10 @@ - (AVMediaType)avMediaType:(NSString *)mediaType { } } -RCT_EXPORT_METHOD(checkPermission : (NSString *)mediaType resolver : (RCTPromiseResolveBlock) - resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(checkPermission + : (NSString *)mediaType resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { #if TARGET_OS_TV resolve(@"tvOS is not supported"); return; @@ -48,8 +50,10 @@ - (AVMediaType)avMediaType:(NSString *)mediaType { #endif } -RCT_EXPORT_METHOD(requestPermission : (NSString *)mediaType resolver : (RCTPromiseResolveBlock) - resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(requestPermission + : (NSString *)mediaType resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { #if TARGET_OS_TV resolve(@"tvOS is not supported"); return; diff --git a/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.m b/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.m index 1c5678ba9..18811f04d 100644 --- a/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.m +++ b/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.m @@ -14,8 +14,10 @@ @implementation WebRTCModule (RTCDataChannel) * Thuis methos is implemented synchronously since we need to create the DataChannel on the spot * and where is no good way to report an error at creation time. */ -RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(createDataChannel : (nonnull NSNumber *)peerConnectionId label : (NSString *) - label config : (RTCDataChannelConfiguration *)config) { +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(createDataChannel + : (nonnull NSNumber *)peerConnectionId label + : (NSString *)label config + : (RTCDataChannelConfiguration *)config) { __block id channelInfo; dispatch_sync(self.workerQueue, ^{ @@ -57,35 +59,42 @@ @implementation WebRTCModule (RTCDataChannel) return channelInfo; } -RCT_EXPORT_METHOD(dataChannelClose : (nonnull NSNumber *)peerConnectionId reactTag : (nonnull NSString *)tag { - RTCPeerConnection *peerConnection = self.peerConnections[peerConnectionId]; - DataChannelWrapper *dcw = peerConnection.dataChannels[tag]; - if (dcw) { - [dcw.channel close]; - } -}) - -RCT_EXPORT_METHOD(dataChannelDispose : (nonnull NSNumber *)peerConnectionId reactTag : (nonnull NSString *)tag { - RTCPeerConnection *peerConnection = self.peerConnections[peerConnectionId]; - DataChannelWrapper *dcw = peerConnection.dataChannels[tag]; - if (dcw) { - dcw.delegate = nil; - [peerConnection.dataChannels removeObjectForKey:tag]; - } -}) - -RCT_EXPORT_METHOD(dataChannelSend : (nonnull NSNumber *)peerConnectionId reactTag : (nonnull NSString *) - tag data : (NSString *)data type : (NSString *)type { - RTCPeerConnection *peerConnection = self.peerConnections[peerConnectionId]; - DataChannelWrapper *dcw = peerConnection.dataChannels[tag]; - if (dcw) { - BOOL isBinary = [type isEqualToString:@"binary"]; - NSData *bytes = isBinary ? [[NSData alloc] initWithBase64EncodedString:data options:0] - : [data dataUsingEncoding:NSUTF8StringEncoding]; - RTCDataBuffer *buffer = [[RTCDataBuffer alloc] initWithData:bytes isBinary:isBinary]; - [dcw.channel sendData:buffer]; - } - }) +RCT_EXPORT_METHOD(dataChannelClose + : (nonnull NSNumber *)peerConnectionId reactTag + : (nonnull NSString *)tag { + RTCPeerConnection *peerConnection = self.peerConnections[peerConnectionId]; + DataChannelWrapper *dcw = peerConnection.dataChannels[tag]; + if (dcw) { + [dcw.channel close]; + } + }) + +RCT_EXPORT_METHOD(dataChannelDispose + : (nonnull NSNumber *)peerConnectionId reactTag + : (nonnull NSString *)tag { + RTCPeerConnection *peerConnection = self.peerConnections[peerConnectionId]; + DataChannelWrapper *dcw = peerConnection.dataChannels[tag]; + if (dcw) { + dcw.delegate = nil; + [peerConnection.dataChannels removeObjectForKey:tag]; + } + }) + +RCT_EXPORT_METHOD(dataChannelSend + : (nonnull NSNumber *)peerConnectionId reactTag + : (nonnull NSString *)tag data + : (NSString *)data type + : (NSString *)type { + RTCPeerConnection *peerConnection = self.peerConnections[peerConnectionId]; + DataChannelWrapper *dcw = peerConnection.dataChannels[tag]; + if (dcw) { + BOOL isBinary = [type isEqualToString:@"binary"]; + NSData *bytes = isBinary ? [[NSData alloc] initWithBase64EncodedString:data options:0] + : [data dataUsingEncoding:NSUTF8StringEncoding]; + RTCDataBuffer *buffer = [[RTCDataBuffer alloc] initWithData:bytes isBinary:isBinary]; + [dcw.channel sendData:buffer]; + } + }) - (NSString *)stringForDataChannelState:(RTCDataChannelState)state { switch (state) { diff --git a/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.m b/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.m index fb7fc9609..89bbf14d7 100644 --- a/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.m +++ b/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.m @@ -224,8 +224,10 @@ - (RTCVideoTrack *)createScreenCaptureVideoTrack { * if audio permission was not granted, there will be no "audio" key in * the constraints dictionary. */ -RCT_EXPORT_METHOD(getUserMedia : (NSDictionary *)constraints successCallback : (RCTResponseSenderBlock) - successCallback errorCallback : (RCTResponseSenderBlock)errorCallback) { +RCT_EXPORT_METHOD(getUserMedia + : (NSDictionary *)constraints successCallback + : (RCTResponseSenderBlock)successCallback errorCallback + : (RCTResponseSenderBlock)errorCallback) { #if TARGET_OS_TV errorCallback(@[ @"PlatformNotSupported", @"getUserMedia is not supported on tvOS." ]); return; @@ -363,8 +365,10 @@ - (RTCVideoTrack *)createScreenCaptureVideoTrack { self.localStreams[streamID] = mediaStream; } -RCT_EXPORT_METHOD(mediaStreamAddTrack : (nonnull NSString *)streamID : (nonnull NSNumber *)pcId : (nonnull NSString *) - trackID) { +RCT_EXPORT_METHOD(mediaStreamAddTrack + : (nonnull NSString *)streamID + : (nonnull NSNumber *)pcId + : (nonnull NSString *)trackID) { RTCMediaStream *mediaStream = self.localStreams[streamID]; if (mediaStream == nil) { return; @@ -382,8 +386,10 @@ - (RTCVideoTrack *)createScreenCaptureVideoTrack { } } -RCT_EXPORT_METHOD(mediaStreamRemoveTrack : (nonnull NSString *)streamID : (nonnull NSNumber *) - pcId : (nonnull NSString *)trackID) { +RCT_EXPORT_METHOD(mediaStreamRemoveTrack + : (nonnull NSString *)streamID + : (nonnull NSNumber *)pcId + : (nonnull NSString *)trackID) { RTCMediaStream *mediaStream = self.localStreams[streamID]; if (mediaStream == nil) { return; @@ -440,8 +446,11 @@ - (RTCVideoTrack *)createScreenCaptureVideoTrack { #endif } -RCT_EXPORT_METHOD(mediaStreamTrackApplyConstraints : (nonnull NSString *)trackID : (NSDictionary *) - constraints : (RCTPromiseResolveBlock)resolve : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(mediaStreamTrackApplyConstraints + : (nonnull NSString *)trackID + : (NSDictionary *)constraints + : (RCTPromiseResolveBlock)resolve + : (RCTPromiseRejectBlock)reject) { #if TARGET_OS_TV reject(@"unsupported_platform", @"tvOS is not supported", nil); return; @@ -479,8 +488,9 @@ - (RTCVideoTrack *)createScreenCaptureVideoTrack { } } -RCT_EXPORT_METHOD(mediaStreamTrackSetVideoEffects : (nonnull NSString *)trackID names : (nonnull NSArray *) - names) { +RCT_EXPORT_METHOD(mediaStreamTrackSetVideoEffects + : (nonnull NSString *)trackID names + : (nonnull NSArray *)names) { RTCMediaStreamTrack *track = self.localTracks[trackID]; if (track == nil) { return; diff --git a/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.m b/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.m index e9be084a0..856696df3 100644 --- a/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.m +++ b/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.m @@ -126,8 +126,9 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb * This method is synchronous and blocking. This is done so we can implement createDataChannel * in the same way (synchronous) since the peer connection needs to exist before. */ -RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(peerConnectionInit : (RTCConfiguration *) - configuration objectID : (nonnull NSNumber *)objectID) { +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(peerConnectionInit + : (RTCConfiguration *)configuration objectID + : (nonnull NSNumber *)objectID) { __block BOOL ret = YES; dispatch_sync(self.workerQueue, ^{ @@ -154,8 +155,9 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb return @(ret); } -RCT_EXPORT_METHOD(peerConnectionSetConfiguration : (RTCConfiguration *)configuration objectID : (nonnull NSNumber *) - objectID) { +RCT_EXPORT_METHOD(peerConnectionSetConfiguration + : (RTCConfiguration *)configuration objectID + : (nonnull NSNumber *)objectID) { RTCPeerConnection *peerConnection = self.peerConnections[objectID]; if (!peerConnection) { return; @@ -163,8 +165,11 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb [peerConnection setConfiguration:configuration]; } -RCT_EXPORT_METHOD(peerConnectionCreateOffer : (nonnull NSNumber *)objectID options : (NSDictionary *) - options resolver : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(peerConnectionCreateOffer + : (nonnull NSNumber *)objectID options + : (NSDictionary *)options resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { RTCPeerConnection *peerConnection = self.peerConnections[objectID]; if (!peerConnection) { reject(@"E_INVALID", @"PeerConnection not found", nil); @@ -208,8 +213,11 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb [peerConnection offerForConstraints:constraints completionHandler:handler]; } -RCT_EXPORT_METHOD(peerConnectionCreateAnswer : (nonnull NSNumber *)objectID options : (NSDictionary *) - options resolver : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(peerConnectionCreateAnswer + : (nonnull NSNumber *)objectID options + : (NSDictionary *)options resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { RTCPeerConnection *peerConnection = self.peerConnections[objectID]; if (!peerConnection) { reject(@"E_INVALID", @"PeerConnection not found", nil); @@ -237,8 +245,11 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb [peerConnection answerForConstraints:constraints completionHandler:handler]; } -RCT_EXPORT_METHOD(peerConnectionSetLocalDescription : (nonnull NSNumber *)objectID desc : (RTCSessionDescription *) - desc resolver : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(peerConnectionSetLocalDescription + : (nonnull NSNumber *)objectID desc + : (RTCSessionDescription *)desc resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { RTCPeerConnection *peerConnection = self.peerConnections[objectID]; if (!peerConnection) { reject(@"E_INVALID", @"PeerConnection not found", nil); @@ -273,8 +284,11 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb } } -RCT_EXPORT_METHOD(peerConnectionSetRemoteDescription : (nonnull NSNumber *)objectID desc : (RTCSessionDescription *) - desc resolver : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(peerConnectionSetRemoteDescription + : (nonnull NSNumber *)objectID desc + : (RTCSessionDescription *)desc resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { RTCPeerConnection *peerConnection = self.peerConnections[objectID]; if (!peerConnection) { reject(@"E_INVALID", @"PeerConnection not found", nil); @@ -322,8 +336,11 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb [peerConnection setRemoteDescription:desc completionHandler:handler]; } -RCT_EXPORT_METHOD(peerConnectionAddICECandidate : (nonnull NSNumber *)objectID candidate : (RTCIceCandidate *) - candidate resolver : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(peerConnectionAddICECandidate + : (nonnull NSNumber *)objectID candidate + : (RTCIceCandidate *)candidate resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { RTCPeerConnection *peerConnection = self.peerConnections[objectID]; if (!peerConnection) { reject(@"E_INVALID", @"PeerConnection not found", nil); @@ -384,8 +401,10 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb [self.peerConnections removeObjectForKey:objectID]; } -RCT_EXPORT_METHOD(peerConnectionGetStats : (nonnull NSNumber *)objectID resolver : (RCTPromiseResolveBlock) - resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(peerConnectionGetStats + : (nonnull NSNumber *)objectID resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { RTCPeerConnection *peerConnection = self.peerConnections[objectID]; if (!peerConnection) { RCTLogWarn(@"PeerConnection %@ not found in peerConnectionGetStats()", objectID); @@ -398,8 +417,11 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb }]; } -RCT_EXPORT_METHOD(receiverGetStats : (nonnull NSNumber *)pcId receiverId : (nonnull NSString *) - receiverId resolver : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(receiverGetStats + : (nonnull NSNumber *)pcId receiverId + : (nonnull NSString *)receiverId resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { RTCPeerConnection *peerConnection = self.peerConnections[pcId]; if (!peerConnection) { RCTLogWarn(@"PeerConnection %@ not found in receiverGetStats()", pcId); @@ -427,8 +449,11 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb }]; } -RCT_EXPORT_METHOD(senderGetStats : (nonnull NSNumber *)pcId senderId : (nonnull NSString *) - senderId resolver : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(senderGetStats + : (nonnull NSNumber *)pcId senderId + : (nonnull NSString *)senderId resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { RTCPeerConnection *peerConnection = self.peerConnections[pcId]; if (!peerConnection) { RCTLogWarn(@"PeerConnection %@ not found in senderGetStats()", pcId); @@ -465,8 +490,10 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb [peerConnection restartIce]; } -RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(peerConnectionAddTrack : (nonnull NSNumber *)objectID trackId : (NSString *) - trackId options : (NSDictionary *)options) { +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(peerConnectionAddTrack + : (nonnull NSNumber *)objectID trackId + : (NSString *)trackId options + : (NSDictionary *)options) { __block id params = nil; dispatch_sync(self.workerQueue, ^{ @@ -504,8 +531,9 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb return params; } -RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(peerConnectionAddTransceiver : (nonnull NSNumber *) - objectID options : (NSDictionary *)options) { +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(peerConnectionAddTransceiver + : (nonnull NSNumber *)objectID options + : (NSDictionary *)options) { __block id params = nil; dispatch_sync(self.workerQueue, ^{ @@ -561,8 +589,9 @@ - (nullable RTCRtpTransceiver *)getTransceiverByPeerConnectionId:(nonnull NSNumb return params; } -RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(peerConnectionRemoveTrack : (nonnull NSNumber *) - objectID senderId : (nonnull NSString *)senderId) { +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(peerConnectionRemoveTrack + : (nonnull NSNumber *)objectID senderId + : (nonnull NSString *)senderId) { __block BOOL ret = NO; dispatch_sync(self.workerQueue, ^{ diff --git a/ios/RCTWebRTC/WebRTCModule+Transceivers.m b/ios/RCTWebRTC/WebRTCModule+Transceivers.m index eb2f6efa9..72ba0036f 100644 --- a/ios/RCTWebRTC/WebRTCModule+Transceivers.m +++ b/ios/RCTWebRTC/WebRTCModule+Transceivers.m @@ -34,8 +34,12 @@ @implementation WebRTCModule (Transceivers) return params; } -RCT_EXPORT_METHOD(senderReplaceTrack : (nonnull NSNumber *)objectID senderId : (NSString *)senderId trackId : ( - NSString *)trackId resolver : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(senderReplaceTrack + : (nonnull NSNumber *)objectID senderId + : (NSString *)senderId trackId + : (NSString *)trackId resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { RTCPeerConnection *peerConnection = self.peerConnections[objectID]; if (peerConnection == nil) { @@ -62,8 +66,12 @@ @implementation WebRTCModule (Transceivers) resolve(@true); } -RCT_EXPORT_METHOD(senderSetParameters : (nonnull NSNumber *)objectID senderId : (NSString *)senderId options : ( - NSDictionary *)options resolver : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(senderSetParameters + : (nonnull NSNumber *)objectID senderId + : (NSString *)senderId options + : (NSDictionary *)options resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { RTCPeerConnection *peerConnection = self.peerConnections[objectID]; if (peerConnection == nil) { @@ -93,8 +101,12 @@ @implementation WebRTCModule (Transceivers) resolve([SerializeUtils parametersToJSON:sender.parameters]); } -RCT_EXPORT_METHOD(transceiverSetDirection : (nonnull NSNumber *)objectID senderId : (NSString *)senderId direction : ( - NSString *)direction resolver : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(transceiverSetDirection + : (nonnull NSNumber *)objectID senderId + : (NSString *)senderId direction + : (NSString *)direction resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { RTCPeerConnection *peerConnection = self.peerConnections[objectID]; if (peerConnection == nil) { @@ -127,8 +139,11 @@ @implementation WebRTCModule (Transceivers) } } -RCT_EXPORT_METHOD(transceiverStop : (nonnull NSNumber *)objectID senderId : (NSString *) - senderId resolver : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) { +RCT_EXPORT_METHOD(transceiverStop + : (nonnull NSNumber *)objectID senderId + : (NSString *)senderId resolver + : (RCTPromiseResolveBlock)resolve rejecter + : (RCTPromiseRejectBlock)reject) { RTCPeerConnection *peerConnection = self.peerConnections[objectID]; if (peerConnection == nil) { @@ -156,8 +171,10 @@ @implementation WebRTCModule (Transceivers) resolve(@true); } -RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(transceiverSetCodecPreferences : (nonnull NSNumber *)objectID senderId : ( - NSString *)senderId codecPreferences : (NSArray *)codecPreferences) { +RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(transceiverSetCodecPreferences + : (nonnull NSNumber *)objectID senderId + : (NSString *)senderId codecPreferences + : (NSArray *)codecPreferences) { RTCPeerConnection *peerConnection = self.peerConnections[objectID]; if (peerConnection == nil) {