From 15eb857c4954f45a1b061ab9f07aae2c31991e7f Mon Sep 17 00:00:00 2001 From: Santhosh Vaiyapuri Date: Tue, 17 Feb 2026 18:02:01 +0100 Subject: [PATCH 1/7] feat(ios): improved frame rendering ref: https://github.com/GetStream/webrtc/pull/70 --- ios/RCTWebRTC/RTCVideoViewManager.m | 7 ++++--- ios/RCTWebRTC/WebRTCModule.m | 2 ++ stream-react-native-webrtc.podspec | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ios/RCTWebRTC/RTCVideoViewManager.m b/ios/RCTWebRTC/RTCVideoViewManager.m index a1b74e33b..2d660b90d 100644 --- a/ios/RCTWebRTC/RTCVideoViewManager.m +++ b/ios/RCTWebRTC/RTCVideoViewManager.m @@ -8,7 +8,7 @@ #if TARGET_OS_OSX #import #else -#import +#import #endif #import #import @@ -67,7 +67,7 @@ @interface RTCVideoView : RCTView #if TARGET_OS_OSX @property(nonatomic, readonly) RTCMTLNSVideoView *videoView; #else -@property(nonatomic, readonly) RTCMTLVideoView *videoView; +@property(nonatomic, readonly) RTCVideoRenderingView *videoView; #endif /** @@ -124,7 +124,8 @@ - (instancetype)initWithFrame:(CGRect)frame { subview.wantsLayer = true; _videoView = subview; #else - RTCMTLVideoView *subview = [[RTCMTLVideoView alloc] initWithFrame:CGRectZero]; + RTCVideoRenderingView *subview = [[RTCVideoRenderingView alloc] initWithFrame:CGRectZero]; + subview.renderingBackend = RTCVideoRenderingBackendSharedMetal; _videoView = subview; #endif [self addSubview:self.videoView]; diff --git a/ios/RCTWebRTC/WebRTCModule.m b/ios/RCTWebRTC/WebRTCModule.m index da9a335a2..acace36c3 100644 --- a/ios/RCTWebRTC/WebRTCModule.m +++ b/ios/RCTWebRTC/WebRTCModule.m @@ -111,6 +111,8 @@ - (instancetype)init { audioProcessingModule:nil]; } + _peerConnectionFactory.frameBufferPolicy = RTCFrameBufferPolicyConvertWithPoolToNV12; + _rtcAudioDeviceModuleObserver = [[AudioDeviceModuleObserver alloc] initWithWebRTCModule:self]; _audioDeviceModule = [[AudioDeviceModule alloc] initWithSource:_peerConnectionFactory.audioDeviceModule delegateObserver:_rtcAudioDeviceModuleObserver]; diff --git a/stream-react-native-webrtc.podspec b/stream-react-native-webrtc.podspec index 4f79503bf..29e707b5d 100644 --- a/stream-react-native-webrtc.podspec +++ b/stream-react-native-webrtc.podspec @@ -21,7 +21,7 @@ Pod::Spec.new do |s| s.swift_version = '5.0' s.dependency 'React-Core' # WebRTC version from https://github.com/GetStream/stream-video-swift-webrtc releases - s.dependency 'StreamWebRTC', '~>137.0.54' + s.dependency 'StreamWebRTC', '~>137.0.62' # Swift/Objective-C compatibility #https://blog.cocoapods.org/CocoaPods-1.5.0/ s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' From 6c54f08ee49ed9a21d523355e5cbfcba99d74c45 Mon Sep 17 00:00:00 2001 From: Santhosh Vaiyapuri <3846977+santhoshvai@users.noreply.github.com> Date: Tue, 28 Apr 2026 16:33:17 +0200 Subject: [PATCH 2/7] Apply suggestion from @ipavlidakis Co-authored-by: Ilias Pavlidakis <3liaspav@gmail.com> --- ios/RCTWebRTC/WebRTCModule.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/RCTWebRTC/WebRTCModule.m b/ios/RCTWebRTC/WebRTCModule.m index acace36c3..64c60898d 100644 --- a/ios/RCTWebRTC/WebRTCModule.m +++ b/ios/RCTWebRTC/WebRTCModule.m @@ -111,7 +111,7 @@ - (instancetype)init { audioProcessingModule:nil]; } - _peerConnectionFactory.frameBufferPolicy = RTCFrameBufferPolicyConvertWithPoolToNV12; + _peerConnectionFactory.frameBufferPolicy = RTCFrameBufferPolicyCopyToNV12; _rtcAudioDeviceModuleObserver = [[AudioDeviceModuleObserver alloc] initWithWebRTCModule:self]; _audioDeviceModule = [[AudioDeviceModule alloc] initWithSource:_peerConnectionFactory.audioDeviceModule From b877d250014cffb5b5eb93bc19473ce177ca4f9d Mon Sep 17 00:00:00 2001 From: Santhosh Vaiyapuri Date: Mon, 13 Apr 2026 13:25:42 +0200 Subject: [PATCH 3/7] alpha release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 03a6314ad..bccd7732c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/react-native-webrtc", - "version": "137.1.2", + "version": "137.1.3-alpha.1", "repository": { "type": "git", "url": "git+https://github.com/GetStream/react-native-webrtc.git" From d5e6e4592a876f69d356f04a1c5b83a550d96241 Mon Sep 17 00:00:00 2001 From: Santhosh Vaiyapuri Date: Wed, 29 Apr 2026 11:29:14 +0200 Subject: [PATCH 4/7] update pod dep --- stream-react-native-webrtc.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stream-react-native-webrtc.podspec b/stream-react-native-webrtc.podspec index 29e707b5d..a84324c97 100644 --- a/stream-react-native-webrtc.podspec +++ b/stream-react-native-webrtc.podspec @@ -21,7 +21,7 @@ Pod::Spec.new do |s| s.swift_version = '5.0' s.dependency 'React-Core' # WebRTC version from https://github.com/GetStream/stream-video-swift-webrtc releases - s.dependency 'StreamWebRTC', '~>137.0.62' + s.dependency 'StreamWebRTC', '~>137.0.71' # Swift/Objective-C compatibility #https://blog.cocoapods.org/CocoaPods-1.5.0/ s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' From 25df2e87ce64e1840c185a9f46dd0f55ae59e7ce Mon Sep 17 00:00:00 2001 From: Santhosh Vaiyapuri Date: Wed, 29 Apr 2026 11:32:18 +0200 Subject: [PATCH 5/7] 137.2.1-rc.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7429c421e..70f85e971 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@stream-io/react-native-webrtc", - "version": "137.2.0", + "version": "137.2.1-rc.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@stream-io/react-native-webrtc", - "version": "137.2.0", + "version": "137.2.1-rc.1", "license": "MIT", "dependencies": { "base64-js": "1.5.1", diff --git a/package.json b/package.json index 98cd717bd..06fc857a4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/react-native-webrtc", - "version": "137.2.0", + "version": "137.2.1-rc.1", "repository": { "type": "git", "url": "git+https://github.com/GetStream/react-native-webrtc.git" From a08f8c26f42f999f336358e5ec0af8b877afaab1 Mon Sep 17 00:00:00 2001 From: Santhosh Vaiyapuri Date: Thu, 30 Apr 2026 11:36:06 +0200 Subject: [PATCH 6/7] update pod dep --- stream-react-native-webrtc.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stream-react-native-webrtc.podspec b/stream-react-native-webrtc.podspec index a84324c97..937ba2171 100644 --- a/stream-react-native-webrtc.podspec +++ b/stream-react-native-webrtc.podspec @@ -21,7 +21,7 @@ Pod::Spec.new do |s| s.swift_version = '5.0' s.dependency 'React-Core' # WebRTC version from https://github.com/GetStream/stream-video-swift-webrtc releases - s.dependency 'StreamWebRTC', '~>137.0.71' + s.dependency 'StreamWebRTC', '~>137.0.75' # Swift/Objective-C compatibility #https://blog.cocoapods.org/CocoaPods-1.5.0/ s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' From c02ac3d01f7b1116429a20c42dbb6532bc0bdf20 Mon Sep 17 00:00:00 2001 From: Santhosh Vaiyapuri Date: Thu, 30 Apr 2026 11:36:38 +0200 Subject: [PATCH 7/7] 137.2.1-rc.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 70f85e971..3468f6550 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@stream-io/react-native-webrtc", - "version": "137.2.1-rc.1", + "version": "137.2.1-rc.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@stream-io/react-native-webrtc", - "version": "137.2.1-rc.1", + "version": "137.2.1-rc.2", "license": "MIT", "dependencies": { "base64-js": "1.5.1", diff --git a/package.json b/package.json index 06fc857a4..a4abfbc4c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/react-native-webrtc", - "version": "137.2.1-rc.1", + "version": "137.2.1-rc.2", "repository": { "type": "git", "url": "git+https://github.com/GetStream/react-native-webrtc.git"