Implement the mixer-to-client per CSRC audio level extension (RFC 6465).

This is loosely based on the similar implementation in gecko.

Bug: webrtc:9965
Change-Id: I5203a05e1c34ca6f97bd1b143790f95ff245e340
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219791
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Doudou Kisabaka <doudouk@google.com>
Cr-Commit-Position: refs/heads/master@{#34102}
This commit is contained in:
Doudou Kisabaka
2021-05-24 13:04:45 +02:00
committed by WebRTC LUCI CQ
parent 096ad02c02
commit ae0d117d51
9 changed files with 89 additions and 0 deletions

View File

@ -357,6 +357,11 @@ struct RTC_EXPORT RtpExtension {
static constexpr char kVideoFrameTrackingIdUri[] =
"http://www.webrtc.org/experiments/rtp-hdrext/video-frame-tracking-id";
// Header extension for Mixer-to-Client audio levels per CSRC as defined in
// https://tools.ietf.org/html/rfc6465
static constexpr char kCsrcAudioLevelsUri[] =
"urn:ietf:params:rtp-hdrext:csrc-audio-level";
// Inclusive min and max IDs for two-byte header extensions and one-byte
// header extensions, per RFC8285 Section 4.2-4.3.
static constexpr int kMinId = 1;