aboutsummaryrefslogtreecommitdiff
path: root/modules/rtp_rtcp/source/rtp_header_extensions.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/rtp_rtcp/source/rtp_header_extensions.h')
-rw-r--r--modules/rtp_rtcp/source/rtp_header_extensions.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/rtp_rtcp/source/rtp_header_extensions.h b/modules/rtp_rtcp/source/rtp_header_extensions.h
index f6e7a579ab..b47824afdb 100644
--- a/modules/rtp_rtcp/source/rtp_header_extensions.h
+++ b/modules/rtp_rtcp/source/rtp_header_extensions.h
@@ -14,6 +14,7 @@
#include <stdint.h>
#include <string>
+#include <vector>
#include "api/array_view.h"
#include "api/rtp_headers.h"
@@ -77,6 +78,20 @@ class AudioLevel {
uint8_t audio_level);
};
+class CsrcAudioLevel {
+ public:
+ static constexpr RTPExtensionType kId = kRtpExtensionCsrcAudioLevel;
+ static constexpr uint8_t kMaxValueSizeBytes = 15;
+ static constexpr const char kUri[] =
+ "urn:ietf:params:rtp-hdrext:csrc-audio-level";
+
+ static bool Parse(rtc::ArrayView<const uint8_t> data,
+ std::vector<uint8_t>* csrc_audio_levels);
+ static size_t ValueSize(rtc::ArrayView<const uint8_t> csrc_audio_levels);
+ static bool Write(rtc::ArrayView<uint8_t> data,
+ rtc::ArrayView<const uint8_t> csrc_audio_levels);
+};
+
class TransmissionOffset {
public:
using value_type = int32_t;