#define MS_CLASS "RTC::RtpHeaderExtensionParameters"
#include "Logger.hpp"
#include "MediaSoupErrors.hpp"
#include "RTC/RtpDictionaries.hpp"
namespace RTC
{
RtpHeaderExtensionParameters::RtpHeaderExtensionParameters(
const FBS::RtpParameters::RtpHeaderExtensionParameters* const data)
{
MS_TRACE();
this->type = RTC::RtpHeaderExtensionUri::TypeFromFbs(data->uri());
this->id = data->id();
if (this->id == 0u)
{
MS_THROW_TYPE_ERROR("invalid id 0");
}
this->encrypt = data->encrypt();
if (flatbuffers::IsFieldPresent(data, FBS::RtpParameters::RtpHeaderExtensionParameters::VT_PARAMETERS))
{
this->parameters.Set(data->parameters());
}
}
flatbuffers::Offset<FBS::RtpParameters::RtpHeaderExtensionParameters> RtpHeaderExtensionParameters::FillBuffer(
flatbuffers::FlatBufferBuilder& builder) const
{
MS_TRACE();
auto parameters = this->parameters.FillBuffer(builder);
return FBS::RtpParameters::CreateRtpHeaderExtensionParametersDirect(
builder, RTC::RtpHeaderExtensionUri::TypeToFbs(this->type), this->id, this->encrypt, ¶meters);
}
}