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

implement M69 Native RTCPeerConnection.(addTrack|removeTrack) and sdpSemantics unified-plan support #407

Merged
merged 20 commits into from
Nov 5, 2019

Conversation

hthetiot
Copy link
Contributor

@hthetiot hthetiot commented Oct 11, 2019

Using sdpSementics unified-plan is causing this error

On Chrome side:

[Deprecation] "Complex" Plan B SDP detected! Chrome will switch the default sdpSemantics in M72, around January 2019 from 'plan-b' to the standardized 'unified-plan' format and this peer connection is relying on the default sdpSemantics. This SDP is not compatible with Unified Plan and will be rejected by clients expecting Unified Plan. For more information about how to prepare for the switch, see https://webrtc.org/web-apis/chrome/unified-plan/.

On iOSRTC side:

# Fatal error in: ../../pc/peerconnection.cc, line 1098
# last system error: 22
# Check failed: !IsUnifiedPlan()
# AddStream is not available with Unified Plan SdpSemantics. Please use AddTrack

This PR set SdpSemantics to UnifiedPlan by default and also handle PlanB.

To test task/libwebrtc-update-m69-unified-plan branch

cordova plugin remove cordova-plugin-iosrtc --verbose
cordova plugin add https://github.com/cordova-rtc/cordova-plugin-iosrtc#task/libwebrtc-update-m69-unified-plan
cordova platform remove ios --no-save
cordova platform add ios --no-save

@hthetiot
Copy link
Contributor Author

@cah-dunn if you may check this, I think you going to like/need it.

@hthetiot hthetiot added this to the 6.0.x milestone Oct 11, 2019
@hthetiot
Copy link
Contributor Author

ba3900f fix issue with RTCPeerConnection.addTrack|removeTrack.

Swift Camera confirmed (RTCPeerConnection.removeTrack, RTCPeerConnection.addTrack, renegotiate Offer/Awnser)

@hthetiot hthetiot modified the milestones: 6.0.x, 6.0.1 Oct 15, 2019
@cah-kyle-dunn
Copy link
Contributor

@hthetiot Apologies, just saw your comment. I'll take a look today.

@hthetiot hthetiot changed the base branch from task/libwebrtc-update-m69 to master October 15, 2019 17:11
@menelike menelike mentioned this pull request Oct 26, 2019
1 task
@akilude
Copy link
Contributor

akilude commented Oct 29, 2019

Hi,

Tried this branch with task/preferredCodec and it works well with iOS 12. We have specified Unified plan in our peer constraints.

Thanks for your work.

@akilude
Copy link
Contributor

akilude commented Oct 30, 2019

Hi,

Is it possible to add replaceTrack as well in addition to addTrack/removeTrack?

@hthetiot
Copy link
Contributor Author

hthetiot commented Nov 1, 2019

@akilude I will look into replaceTrack keep you posted.

@hthetiot
Copy link
Contributor Author

hthetiot commented Nov 5, 2019

@akilude ReplaceTrack is too recent, I will need more work and possibly to update WebRTC for that.
In the mean time, addTrack+removeTrack+renegociate work great.

@hthetiot hthetiot merged commit 2c05625 into master Nov 5, 2019
@akilude
Copy link
Contributor

akilude commented Nov 5, 2019

I understand @hthetiot , thanks for the update

@hthetiot hthetiot deleted the task/libwebrtc-update-m69-unified-plan branch June 30, 2020 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants