Fix issue where codec fallback skips first codec in list. Before this CL, `ApplyEncoderSwitch` implicitly assumed that `send_codec()` is the first codec in `negotiated_codecs_`, but this is a very outdated assumption that assumes that the only way to pick a codec is with the SDP preference order (e.g. `SetCodecPreferences()` or SDP munging). But it has long been the case that `SetParameters()` can pick another codec. This CL updates the logic to remove the `send_codec()` where ever it is located, resulting in the next codec to test being the first one in the list should the current one not be the first one already. Bug: chromium:556170878 Change-Id: I7c8f50537ef52cae3af2c0d460096a4b97045703 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/498561 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Henrik Boström <hbos@webrtc.org> Cr-Commit-Position: refs/heads/main@{#48477}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.