Adds negotiation of rtx codecs for red and vp9. To keep backwards compatibility with older Chrome versions, this change includes two hacks: 1. Red packets will be retransmitted over the rtx codec associated with vp8 if no rtx codec is associated with red. This is how Chrome does it today and ensures that we still can send red over rtx to older versions. 2. If rtx packets associated with the media codec (vp8/vp9 etc) are received and red has been negotiated, we will assume that the sender incorrectly has packetized red inside the rtx header associated with media. We will therefore restore it with the red payload type instead, which ensures that we can still receive rtx associated with red from old versions. Offering multiple rtx codecs to older versions should not be a problem since old versions themselves only try to negotiate rtx for vp8. R=pbos@webrtc.org TBR=mflodman@webrtc.org BUG=webrtc:4024 TEST=Verified by running apprtc and emulating packet loss between Chrome with and without the patch. Review URL: https://codereview.webrtc.org/1649493004 . Cr-Commit-Position: refs/heads/master@{#11472}
Name: WebRTC URL: http://www.webrtc.org Version: 90 License: BSD License File: LICENSE Description: WebRTC provides real time voice and video processing functionality to enable the implementation of PeerConnection/MediaStream. Third party code used in this project is described in the file LICENSE_THIRD_PARTY.