-
Notifications
You must be signed in to change notification settings - Fork 11
Updating react-native-webrtc to 124.0.6 #45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…tive-webrtc#1525) * android: remove track from remoteTracks in onRemoveTrack * don't dispose track on remove PeerConnection maintains ownership here, so no need to dispose * ios: remove track from remoteTracks in onRemoveTrack
People who are not interested in using the feature will be asked about it in the Play Console otherwise. Document what apps need to do in order to get screen-sharing working on Android.
e04497f android: don't declare foreground service permissions ( Saúl Ibarra Corretgé 2024-04-04 09:58:38 +0200) f2dbfc1 android: fix senderGetStats lookup (react-native-webrtc#1527) ( davidliu 2024-04-01 21:16:31 +0900) e4c648e android, ios: remove track when removed from peerconnection (react-native-webrtc#1525) ( davidliu 2024-04-01 14:04:57 +0900) 35e992a example: added UVC support to sample ( Tommi Ilmonen 2024-03-28 15:22:27 +0200) db081db Try and force the use of the correct event-target-shim module. (react-native-webrtc#1515) ( Johnathon Weaver 2024-03-13 18:14:35 +0800)
1a03f67 android: drop UVC camera support ( Saúl Ibarra Corretgé 2024-04-04 17:11:34 +0200)
This must have been one of the nastiest bugs to catch. The JS layer passes the encoding parameters as JSON, which includes the "active" element set to the boolean value `true`. RN converts that to an NSDictionary, but since NSDictionary doesn't support booleans (BOOL is a C type, not an Obj-C type) the boolean values get converted to NSNumber. Assigning any NSNumber to a BOOL will always result in a true value, because it's actually an object! In order to get the actual boolean value one has to use `boolValue`: `[theNumber boolValue]`, which returns BOOL. So yeah, if your simulcast layer suspension code is mysteriously not working on iOS... this is why :-P
c0c446a ios: fix not being able to deactivate encodings ( Saúl Ibarra Corretgé 2024-04-11 22:31:38 +0200) 5d85486 android,ios: don't reject promise for getStats (react-native-webrtc#1541) ( davidliu 2024-04-11 00:58:52 +0900)
882f8b1 release 118.0.6 ( Saúl Ibarra Corretgé 2024-04-11 23:03:33 +0200) 8dfc9c3 Revert "android, ios: remove track when removed from peerconnection (react-native-webrtc#1525)" (react-native-webrtc#1550) ( Johnathon Weaver 2024-04-17 14:38:36 +0800) c0c446a ios: fix not being able to deactivate encodings ( Saúl Ibarra Corretgé 2024-04-11 22:31:38 +0200) 5d85486 android,ios: don't reject promise for getStats (react-native-webrtc#1541) ( davidliu 2024-04-11 00:58:52 +0900)
* ci: fix build * Update Podfile ios version * Update Podfile
Having both as null is still an error. Fixes: react-native-webrtc#1518
The way the renderer is implemented is as follows: there is a UIView which holds on to a RTCMTLVideoView, which does the actual rendering in metal. Rather than using our own home-grown mechanism to layout the views, just make sure the Metal view takes 100% of the space of our view, and then use the `videoContentMode` property to set it to cover or contain, matching the way a browser would do it. This greatly simplifies the code because we lonnger care about the video size, the Metal renderer makes the adjustments autmagically. In addition, the mirror and object-fit properties are only applied once, when they change, not on every layout change, which is unnecessary.
…#1578) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md) - [Commits](micromatch/braces@3.0.2...3.0.3) --- updated-dependencies: - dependency-name: braces dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
160ece9 ios: fix compatibility with RN >= 0.73 ( Saúl Ibarra Corretgé 2024-06-27 23:04:49 +0200) 5fdb6ad android: declare dependency on androidx.core 1.7.0 (react-native-webrtc#1586) ( davidliu 2024-06-26 00:30:02 +0900) 0a36e9d android: release audio manager module after creating factory ( davidliu 2024-06-21 22:04:45 +0900) 54b5607 build(deps-dev): bump braces from 3.0.2 to 3.0.3 (react-native-webrtc#1578) ( dependabot[bot] 2024-06-13 17:59:14 +0800)
3e11c99 misc: ignore Android build files when releasing to npm ( Saúl Ibarra Corretgé 2024-07-08 10:42:23 +0200)
These were causing build errors recently, and were generally unneeded anyways.
- Throw TypeError if no argument passed - Stringify the label Fixes: react-native-webrtc#1605
* android: add libwebrtc consumer proguard rules * remove proguard rule instructions
359caea android: document how to set audio category to media ( Saba 2025-01-04 10:01:46 +0100) 036e374 android: add libwebrtc consumer proguard rules ( davidliu 2024-12-20 23:23:52 +0900) 996c128 ios: picture in picture implementation ( davidliu 2024-12-13 21:59:33 +0900) b62727a ios: add background camera access option ( davidliu 2024-12-02 04:44:14 -0800) 4f337cd doc: remove duplicate / confusing information about screen-sharing (react-native-webrtc#1645) ( Saúl Ibarra Corretgé 2024-11-04 13:07:11 +0100) 8bd5e0a android: don't use minSdkVersion set by app (react-native-webrtc#1625) ( davidliu 2024-09-17 12:47:59 +0900) f3f3301 ios,android: add device/groupId to MediaStreamTrack.getSettings and implement applyConstraints (react-native-webrtc#1615) ( davidliu 2024-08-26 17:50:58 +0900) 609c0b5 ios: Add RTCAudioSession helper methods needed for CallKit (react-native-webrtc#1614) ( davidliu 2024-08-16 13:51:28 +0900)
Use nvm for choosing the Node version.
It's now maintained here: https://github.com/jitsi/webrtc/blob/master/tools/build-webrtc.py
FIX resolve react-android dependency for debugging builds
…e-webrtc#1681) * Multiple video frame processors + implementation for ios * fix(ios): add missing capturer property * Early return, null frame check and leak fix * Leak fix. * Formatting
* Enables video dimension change event Adds support for an event that is triggered when the dimensions of the video stream change. This allows the application to react to changes in video size, for example, to adjust the UI accordingly. * Fix TS definition and update docs * PR feedback
2f09f2d misc: format ( Saúl Ibarra Corretgé 2025-07-28 11:16:38 +0200) cadefa5 Feature/video dimensions (react-native-webrtc#1724) ( hmeerlo 2025-07-25 15:33:31 +0200) c1ac950 ts: remove mandatory from sessionConstraints in docs, add createOffer types ( Rakesh Merugu 2025-07-25 16:23:58 +0530) f515ee5 fix(android): Compatibility with RN 0.80+ ( Oliver Lazoroski 2025-07-23 12:30:55 +0200) 94175ed Multiple video frame processors + implementation for ios (react-native-webrtc#1681) ( Johnathon Weaver 2025-06-28 05:28:52 +0800) a388aba fix: improve RTCPIPView component forwardRef type definition to remove @ts-ignore ( yoohaso 2025-04-28 14:45:15 +0900) 90c1815 refactor: improve type safety in RTCPeerConnection's getSenders and getReceivers (react-native-webrtc#1697) ( YUN HANSOL 2025-04-12 03:23:29 +0900) 8035eb5 Update build.gradle ( Dmitry 2025-04-01 17:15:32 +0300) 76bc08a tools: delete tools/build-webrtc.py ( Saúl Ibarra Corretgé 2025-02-20 17:17:36 +0100) 19ca31d ci: fix boost checksum error preventing builds (react-native-webrtc#1672) ( davidliu 2025-02-04 03:44:21 +0900) 7a0b713 ci: update GHA versions ( Saúl Ibarra Corretgé 2025-01-07 11:54:58 +0100) 918866a tools: tweak release message ( Saúl Ibarra Corretgé 2025-01-07 11:43:39 +0100) 4c5d0f9 audit: update dependencies ( Saúl Ibarra Corretgé 2025-01-07 11:43:09 +0100)
# Conflicts: # README.md # android/build.gradle # android/src/main/java/com/oney/WebRTCModule/CameraCaptureController.java # android/src/main/java/com/oney/WebRTCModule/GetUserMediaImpl.java # android/src/main/java/com/oney/WebRTCModule/PeerConnectionObserver.java # android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java # ios/RCTWebRTC/VideoCaptureController.h # ios/RCTWebRTC/VideoCaptureController.m # ios/RCTWebRTC/WebRTCModule+RTCMediaStream.m # package-lock.json # package.json # src/MediaStreamTrack.ts # tsconfig.json
| import RTCAudioSession from './lib/typescript/RTCAudioSession'; | ||
| import RTCErrorEvent from './lib/typescript/RTCErrorEvent'; | ||
| import RTCIceCandidate from './lib/typescript/RTCIceCandidate'; | ||
| import RTCPIPView, { startIOSPIP, stopIOSPIP } from './lib/typescript/RTCPIPView'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like this new version supports PIP for iOS. 🎉
kompfner
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure quite how to review this since the changes are pulled from upstream. I suppose as long as things seem to work (including things like device switching and the various options in DailyReactNativeConfig), then LGTM!
Upgraded
react-native-webrtcto 124.0.6.A couple of other interesting features have been added in this version, which we can take advantage of in the future: