-
Notifications
You must be signed in to change notification settings - Fork 4
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
media: add Safari17 device handler #499
media: add Safari17 device handler #499
Conversation
🦋 Changeset detectedLatest commit: 8124373 The changes in this PR will be included in the next version bump. This PR includes changesets to release 4 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
684f822
to
dec2c56
Compare
/canary |
1fb2ab0
to
02bf368
Compare
/canary |
8093032
to
b78b672
Compare
} catch (e) { | ||
if ((e as Error).message === "Type error") { | ||
console.warn("addTransceiver with encodings failed, retrying without encodings"); | ||
transceiver = this._pc.addTransceiver(track, { |
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.
Maybe if we get here we should do something like encodings = undefined
As later we use the presence of that array to do some other stuff.
But this is only here to fix a problem with the Playwright Webkit browser. using sendEncodings
in addTransceiver
works fine in 'real' safari 17.4 and 18.1.1, so maybe we don't need to worry about it?
b78b672
to
3bebbc1
Compare
/canary |
🚀 The canary releases have been published to npm. You can test the releases by installing the newly published versions: yarn add @whereby.com/browser-sdk@0.0.0-canary-20241210112249 yarn add @whereby.com/core@0.0.0-canary-20241210112249 yarn add @whereby.com/media@0.0.0-canary-20241210112249 yarn add @whereby.com/react-native-sdk@0.0.0-canary-20241210112249 |
fd7bf27
to
f32340e
Compare
f32340e
to
765a588
Compare
The handler in mediasoup-client doesn't pass our list of encodings to `peerConnection.addTransceiver`, so our rate limits weren't being applied The new version removes some problematic legacy simulcast stuff and ensures the encodings have an `rid` as `addTransceiver` requires
838fac8
to
a6a2567
Compare
This was added to support using the sdk in a node client, but now we have two custom factories it makes sense to use them in the same way
a6a2567
to
8124373
Compare
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.
LGTM 🍰
Description
Summary:
The Safari12 handler in mediasoup-client doesn't pass our list of encodings to
peerConnection.addTransceiver
, so our rate limits weren't beingapplied
The new version removes some problematic legacy simulcast stuff and
ensures the encodings have an
rid
asaddTransceiver
requiresThe updated parts of the Safari12 handler all pretty much come from the Chrome111 handler
I also removed the
deviceHandlerFactory
init option from VegaRtcManager to keep all the custom handler code in one placeRelated Issue:
https://linear.app/whereby/issue/COB-1331/mediasoup-safari-handler-not-using-simulcast-bandwidth-config
Testing
?stats
url param in Safari and ChromeScreenshots/GIFs (if applicable)
Checklist
under the terms of the MIT license.
Additional Information
Here's a diff of the changes to the Safari12 handler: