This is a backwards-compatible change. It makes WebRTC use the Opus multistream decoder for all Opus packets. Single-stream packets are a special case of multistream ones (with stream=1). The tricky parts are 'WebRtcOpus_GetMaxPlaybackRate' and 'WebRtcOpus_GetSurroundParameters'. GetMaxPlaybackRate is supposed to do what opus_encoder_ctl(encoder, OPUS_GET_MAX_BANDWIDTH(&bandwidth)) did when we had single-stream encoders. Now there may be several independent encoders with possibly different BANDWIDTH. The new GetMaxPlaybackRate queries all of them, and returns a playback rate if all the encoder's rates are equal. WebRtcOpus_GetSurroundParameters is a configuration convention. It maps the number of channels to a multi-stream encoder/decoder configuration. As described in RFC 7845 https://tools.ietf.org/html/rfc7845#section-5.1.1, a multi-stream encoder/decoder needs a number of streams, number of coupled streams and a 255-byte mapping array. The function GetSurroundParameters computes all of these from the number of channels. [1, 2, 4, 6, 8] channels are supported. Bug: webrtc:8649 Change-Id: I271de8e387d738254d6aa53af7fcf8644a53edb5 Reviewed-on: https://webrtc-review.googlesource.com/c/111750 Commit-Queue: Alex Loiko <aleloi@webrtc.org> Reviewed-by: Minyue Li <minyue@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26293}
…
…
…
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.
Development
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.
More info
- Official web site: http://www.webrtc.org
- Master source code repo: https://webrtc.googlesource.com/src
- Samples and reference apps: https://github.com/webrtc
- Mailing list: http://groups.google.com/group/discuss-webrtc
- Continuous build: http://build.chromium.org/p/client.webrtc
- Coding style guide
- Code of conduct
Description
The idea is to make CMake build for WebRTC m130 version - for audio processing module
Languages
C++
90.3%
Java
2.9%
C
2.2%
Objective-C++
2%
Python
1.3%
Other
1%