-
Notifications
You must be signed in to change notification settings - Fork 848
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
Safari <=12.0 media establishing does not work due to removeExtmapAllowMixed
shim not being applied
#1082
Comments
How about using feature detection instead of user agent sniffing. All what is needed is try setRemoteDescription with extmap in a test RTCconnection, that much more reliable than user agent sniffing. |
Wouldn't this require to always override |
Any updates on this? This breaks media establishing with Safari 12.0 for us. |
removeExtmapAllowMixed
shim is not applied in iOS Safari 12.0removeExtmapAllowMixed
shim not being applied
you can always do that in the meantime on your signaling layer. // Remove extmap-allow-mixed sdp header
if (desc && desc.sdp && desc.sdp.indexOf('\na=extmap-allow-mixed') !== -1) {
desc = new RTCSessionDescription({
type: desc.type,
sdp: desc.sdp
.split('\n')
.filter((line) => {
return line.trim() !== 'a=extmap-allow-mixed';
})
.join('\n')
});
} via: https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/js/RTCPeerConnection.js#L316 |
Thanks for the workaround! |
Please read first!
Please use discuss-webrtc for general technical discussions and questions.
Note: If the checkboxes above are not checked (which you do after the issue is posted), the issue will be closed.
Versions affected
Safari 12.0
adapter.js 7.7.0, 7.7.1, 8.0
Description
removeExtmapAllowMixed
shim is not applied to iOS Safari 12.Based on this PR's comments the shim should be applied to Safari < 13.1, however it is not applied in iOS Safari 12.
I think the culprit is this check https://github.com/webrtcHacks/adapter/blob/master/src/js/common_shim.js#L327
browserDetails.version
returnsAppleWebKit
version and this version is 605 in both iOS Safari 12 and iOS Safari 13.For example here is UserAgent from iOS Safari 12:
Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1
here is UserAgent from iOS Safari 13:
Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1
Based on local testing this shim is only needed in Safari 12.0 and below, as all works correctly in Safari 12.1+
Steps to reproduce
https://appr.tc/
does not use the newest version at the moment.Expected results
2-way video is established
Actual results
Error:
setRemoteDescription: OperationError: Expects at least 2 fields.
The text was updated successfully, but these errors were encountered: