Skip to content
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

Merge latest react-native-webrtc #1

Open
wants to merge 324 commits into
base: main
Choose a base branch
from

Conversation

feighter09
Copy link

No description provided.

SE2Dev and others added 29 commits May 23, 2022 22:00
* Cleanup deepClone() Return Type

* Fix Array Types

* Remove Extraneous Explicit Type Annotations

* Add Missing Return Types

* Add Explicit Overloads for RTCDataChannel.send()

* Add Explicit Return Type For Unimplemented Methods
React native no longer uses them since linking is done through CocoaPods
alone.
This is the default in WebRTC and they historically don't maintain older
versions, so it doesn't make much sense to claim we support it.
For now it does include bitcode, but in the near future (when Xcode 14
is released) bitcode will be removed entirely.
Going forward we will only supply a single XCFramework build. For a
little while this framework _will_ have bitcode, but after Xcode 14
becomes stable that framework will stop having bitcode. It will contain
the embdeed dSYMs.
As of Xcode 14 bitcode is no longer supported and WebRTC also dropped
support for it, so do we. The built XCFramework will contain embdeed
dSYM slices for evcery architecture.

Also, built artifacts use the zip format instead to facilitate releasing
as a Swift package (the iOS parts).
Plan B is no longer supported in this library.

Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
Co-authored-by: Titus Moldovan <titus.moldovan@8x8.com>
Co-authored-by: Yousif Khalid <Yousif.khalid@dolby.com>
c051b9e build: update M106 build to the final stable release  ( Saúl Ibarra Corretgé 2022-09-29 11:46:02 +0200)
db47c6b pc: fix building RTCRtpSender object  ( Saúl Ibarra Corretgé 2022-09-29 09:31:02 +0200)
56670b7 misc: fix import  ( Saúl Ibarra Corretgé 2022-09-27 14:07:53 +0200)
c97c0e2 tracks: restore mute event for remote video tracks  ( Saúl Ibarra Corretgé 2022-09-27 13:55:10 +0200)
0075c1a misc: add some spacing  ( Saúl Ibarra Corretgé 2022-09-27 13:47:23 +0200)
33e7928 pc: fix creating all objects in addTrack / addTransceiver  ( Saúl Ibarra Corretgé 2022-09-27 11:18:52 +0200)
697abb1 pc: fix not creating a proper sender instance in OnTrack  ( Saúl Ibarra Corretgé 2022-09-27 11:05:49 +0200)
b95f21d build: ignore zip files when uploading to npm  ( Saúl Ibarra Corretgé 2022-09-23 09:58:04 +0200)
saghul and others added 30 commits April 11, 2024 23:03
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 (#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 (#1525)" (#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 (#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: #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.
20cf1d5 preserve order  ( Burak KIYAK 2024-05-03 13:41:59 +0200)
64e8298 ios: add all available camera device types  ( Burak KIYAK 2024-04-30 12:30:38 +0200)
f36b6b8 ios: refactor rendering in RTCVideoView  ( Saúl Ibarra Corretgé 2024-06-11 09:35:36 +0200)
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] <support@github.com>
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 (#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 (#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: #1605
It's possible for user code to replace encodings entirely. Thus, the
resulting array will not have RTCRtpEncodingParameters object instances,
but plain objects.

Handle it by deep-cloning the objects with JSON.parse(JSON.stringify(x))
since that will take care of appropriately serializing them, no matter
the type.
Don't directly call toJSON, but rather rely on JSON serialization to do
it when cloning.
89557ca misc: make serialization more resilient  ( Saúl Ibarra Corretgé 2024-08-14 11:53:32 +0200)
6cfedd7 sender: fix serializing RTCRtpSendParameters  ( Saúl Ibarra Corretgé 2024-08-14 11:11:08 +0200)
ac7f578 android: remove no longer used replace rule from manifest (#1609)  ( Saúl Ibarra Corretgé 2024-08-07 17:17:03 +0200)
f6667c8 ios: fix exception in iOS 17+ w/ Xcode 15.4  ( mtdxc 2024-08-07 17:22:10 +0800)
4c34ae1 android: report actual size in camera MediaStreamTrack settings (#1598)  ( davidliu 2024-08-07 17:56:57 +0900)
fb02a5b pc: align createDataChannel with standard  ( Saúl Ibarra Corretgé 2024-08-06 15:28:24 +0200)
c0ddefd ci: remove flipper from gumtestapp (#1608)  ( davidliu 2024-08-07 16:00:01 +0900)
a1bb18a ios: add support for external cameras on iPad  ( mtdxc 2024-07-10 20:25:23 +0800)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.