* 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
Add 'replaceTrack' method to API, make all replace track operations local (use same ssrcs so no need for source-add/source-remove)
* M1: device change now uses new flow. fundamentally "works" but may be corner cases/side effects to other flows. haven't touched ffox yet
* M1a: fixed a bug where the ssrc info of the new stream wasn't being set correctly, causing problems with video mute/unmute
* M1b: fix firefox. changing camera, video mute/unmute looks good
* M1c: 'replaceStream' processing is not integrated with the same queue as all of the other o/a-related events.
* fix typo, some deprecated code cleanup
* move the rfc4145 fix to traceablepeerconnection::createanswer so both the new and old o/a flows leverage it. also cleanup some now-unused code and change more functions to arrow functions so we can get rid of 'var self = this' workarounds.
* get rid of separately-mainted local description in JingleSessionPC. keep TraceablePeerConnection as the source of truth for the local sdp and have JingleSessionPC retrieve it from there.
* change the code in the old modifySources shim to use the _renegotiate method so both old and new flows use that method.
* split out the remote change processing from the local change processing to better set us up for individual remote and local modification queues
* move the setOfferCycle flow off of the old shim and into the new flow. also removes the new for this this.jingleOfferIq member
* move addRemoteStream (nee addSource) to the new flow. gets rid of the need for the this.addssrc member.
* move remove remote stream over to the new flow. gets rid of the need for the this.removessrc member variable
* temporary '_processRemoteChange' method is no longer needed, as all remote changes are processed directly (rather than setting member variables and calling a catch-all method which checks each member to see what needs to be done)
* M2: add 'sdp-consistency' in an attempt to separate out the restoration of the same ssrcs (also requires the changes i've made to sdp-simulcast, currently in my brian/rework branch @90aceaddb1eec4d15026efac82c140579c7af2b3, as well as a commit in jitsi-meet to change the toggle-screenshare flows over to use the new 'replace' chain). as of this point video mute, change device and toggle screenshare all happen as local operatons. there is a bug when starting as video muted i need to look into, and i haven't checked firefox yet.
* fix the bug with start-as-video-muted (relies on commit f1d8d3c831 in brian/overual sdp-simulcast branch)
* some code cleanup, marked some TODO list items. got addStream off of the old shim and onto the new flow
* change removeStream over to the new flow and off of the shim. shim is now removed!
* fix a bug when muting a stream. remove some logic from addstream/removestream that i don't think makes sense, and move the source-remove parsing logic into a helper
* move the source-add/source-remove processing into the atomic queued operation since it looks at sdp.
* remove unused code used for old ssrc replacement logic
* get rid of the need for TraceablePeerConnection::addStreamNoSideEffects
* get rid of need for TraceablePeerConnection::removeStreamNoSideEffects
* distinguish XXXStream and XXXStreamToPeerConnection (was XXXStreamNoSideEffects)
* remove shim methods for add/removeRemoteStream
* fix a bug when adding local media for the first time
* replace the old 'dispose' method with the new one
* address feedback comments. update version of sdp-simulcast.
* update sdp-simulcast version
* add missing semicolons
* move sdpconsistency to es6 style
* restore JitsiConference::removeTrack, restore JitsiLocalTrack::dispose back to how it was (doing o/a if necessary)--we get around this on replace by not disposing the track until after we do the replace)
* change removeTrack and addTrack to leverage replaceStream
* fix removeTrack to return the promise, handle an already-disposed track
* add more documentation
* remove unnecessary semicolon
* update sdp-simulcast version
* address PR feedback
* remove usage of @type in method js docs
* address (more) pr feedback. upgrades to a new sdp-simulcast version which fixes an issue in smoke tests
* more PR feedback, and clean up the success/error handling done for the work functions.
* tweak the error propagation