#define MS_CLASS "RTC::RTCP::FeedbackPsTst"
#include "RTC/RTCP/FeedbackPsTst.hpp"
#include "Logger.hpp"
#include <cstring>
namespace RTC
{
namespace RTCP
{
template<typename T>
FeedbackPsTstItem<T>::FeedbackPsTstItem(uint32_t ssrc, uint8_t sequenceNumber, uint8_t index)
{
MS_TRACE();
this->raw = new uint8_t[HeaderSize];
this->header = reinterpret_cast<Header*>(this->raw);
std::memset(this->header, 0, HeaderSize);
this->header->ssrc = htonl(ssrc);
this->header->sequenceNumber = sequenceNumber;
this->header->index = index;
}
template<typename T>
size_t FeedbackPsTstItem<T>::Serialize(uint8_t* buffer)
{
MS_TRACE();
std::memcpy(buffer, this->header, HeaderSize);
return HeaderSize;
}
template<typename T>
void FeedbackPsTstItem<T>::Dump(int indentation) const
{
MS_TRACE();
MS_DUMP_CLEAN(indentation, "<FeedbackPsTstItem>");
MS_DUMP_CLEAN(indentation, " ssrc: %" PRIu32, this->GetSsrc());
MS_DUMP_CLEAN(indentation, " sequence number: %" PRIu32, this->GetSequenceNumber());
MS_DUMP_CLEAN(indentation, " index: %" PRIu32, this->GetIndex());
MS_DUMP_CLEAN(indentation, "</FeedbackPsTstItem>");
}
template<>
const FeedbackPs::MessageType FeedbackPsTstItem<Tstr>::MessageType =
FeedbackPs::MessageType::TSTR;
template<>
const FeedbackPs::MessageType FeedbackPsTstItem<Tstn>::MessageType =
FeedbackPs::MessageType::TSTN;
template class FeedbackPsTstItem<Tstr>;
template class FeedbackPsTstItem<Tstn>;
} }