#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
#include <cstdint>
#include "absl/strings/string_view.h"
#include "api/array_view.h"
#include "api/rtp_parameters.h"
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "modules/rtp_rtcp/source/corruption_detection_extension.h"
#include "modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.h"
#include "modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.h"
#include "modules/rtp_rtcp/source/rtp_header_extensions.h"
#include "modules/rtp_rtcp/source/rtp_video_layers_allocation_extension.h"
#include "rtc_base/arraysize.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
namespace webrtc {
namespace {
struct ExtensionInfo { … };
template <typename Extension>
constexpr ExtensionInfo CreateExtensionInfo() { … }
constexpr ExtensionInfo kExtensions[] = …;
static_assert …;
}
constexpr RTPExtensionType RtpHeaderExtensionMap::kInvalidType;
constexpr int RtpHeaderExtensionMap::kInvalidId;
RtpHeaderExtensionMap::RtpHeaderExtensionMap() : … { … }
RtpHeaderExtensionMap::RtpHeaderExtensionMap(bool extmap_allow_mixed)
: … { … }
RtpHeaderExtensionMap::RtpHeaderExtensionMap(
rtc::ArrayView<const RtpExtension> extensions)
: … { … }
void RtpHeaderExtensionMap::Reset(
rtc::ArrayView<const RtpExtension> extensions) { … }
bool RtpHeaderExtensionMap::RegisterByType(int id, RTPExtensionType type) { … }
bool RtpHeaderExtensionMap::RegisterByUri(int id, absl::string_view uri) { … }
RTPExtensionType RtpHeaderExtensionMap::GetType(int id) const { … }
void RtpHeaderExtensionMap::Deregister(absl::string_view uri) { … }
bool RtpHeaderExtensionMap::Register(int id,
RTPExtensionType type,
absl::string_view uri) { … }
}