* ref(SDPDiffer) Convert to ES6 class.
Make it work directly with unified plan SDP that has multiple m-lines and add more unit tests.
* ref(xmpp) translate unified-plan SDP->Jingle directly.
Without having to run it through the SDPInterop.toPlanB cycle.
* ref(SDP) Always generate the MSID for signaling it to Jicofo.
* fix(SDPDiffer) Check explicitly for ssrc changes
* fix(SDP): Fix comments and cleanup.
Remove LOCAL_TRACK_SSRC_UPDATED event as the application ignores the event and no additional action needs to be taken when that event is fired.
* ref(SDP) Add a helper function for parsing the 'a=ssrc-group' line.
* squash: Address review comments
* feat(signaling) Only include 'msid' in the source description.
'cname', 'label' and 'mslabel' attributes that are included in the source description of the signaling messages are ignored by Jicofo. Only 'msid' is used for source validation.
Therefore, drop those attributes and make sure 'msid' is always included and in the format '<endpoint_id>-<mediaType>-<trackIndex>-<tpcId>'.
* fix(p2p) Enable p2p for Firefox.
Set the senders attribute correctly in the outgoing jingle message. Ignore the media direction from the session, only look for the direction in the media desccription. This fixes an issue where Firefox rejects an answer because the direction is not set correctly.
fix(SDP): Reset sources to MSID map for plan-b clients.
When source-name signaling is enabbled on plan-b clients, the sources to MSID map needs to be cleared after every transformation since browser in plan-b mode produces a new set of SSRCs and trackID when a track is removed and new track is added to the peerconnection. This fixes an issue where the track index in the source-name gets incremented after a track replace operation.
feat(multi-stream-support) Handle SDP munging for multiple local/remote streams per ep. (#1868)
* feat(multi-stream-support) Handle SDP munging for multiple local/remote streams/ep.
A new SDPSimulcast class is added for handling SDP munging for local and remote descriptions to handle multiple streams for both local and remote endpoints. This new class will be used only for unified plan implentation. The sdp-simucast npm package will be used for plan-b and deprecated later when all the clients switch to unified plan.
* fix(build) fix building with TS code
Use the Babel preset for the webpack bundle since Babel 7 already
understands TS and ts-loader uses tsc instead, which we configure
differently.
* squash: Add unit test and address review comments.
Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
This PR switches to generating sctp-port based SDP.
It also adds support for parsing sctp-port, but can handle
fallback to old-style sctpmap as well.
Fixes: #1778
* re-enable setting for enabling/disabling rtx
* add tests for rtxmodifier. (and a bugfix found by the tests)
* remove rtx handling from sdp-consistency (it will be handled separately)
* better error printing in JingleSessionPC around renegotiation
* add rtx modifier to handle inserting local rtx ssrcs, keeping local rtx ssrcs consistent, and imploding remote rtx ssrcs
* jsdoc, es6 cleanup, logging tweaks
* fix line that's too long
* add a 'parseGroupSsrcs' helper function
* fix a bug when passing group ssrcs to be parsed
* address pr feedback
* address pr feedback
* fix for loop
* address pr feedback
* better const in SampleSdpStrings