#include "cast/streaming/impl/compound_rtcp_builder.h"
#include <algorithm>
#include <iterator>
#include <limits>
#include "cast/streaming/impl/packet_util.h"
#include "cast/streaming/impl/rtcp_session.h"
#include "platform/base/span.h"
#include "util/integer_division.h"
#include "util/osp_logging.h"
#include "util/std_util.h"
namespace openscreen::cast {
CompoundRtcpBuilder::CompoundRtcpBuilder(RtcpSession& session)
: … { … }
CompoundRtcpBuilder::~CompoundRtcpBuilder() = default;
void CompoundRtcpBuilder::SetCheckpointFrame(FrameId frame_id) { … }
void CompoundRtcpBuilder::SetPlayoutDelay(std::chrono::milliseconds delay) { … }
void CompoundRtcpBuilder::SetPictureLossIndicator(bool picture_is_lost) { … }
void CompoundRtcpBuilder::IncludeReceiverReportInNextPacket(
const RtcpReportBlock& receiver_report) { … }
void CompoundRtcpBuilder::IncludeFeedbackInNextPacket(
std::vector<PacketNack> packet_nacks,
std::vector<FrameId> frame_acks) { … }
ByteBuffer CompoundRtcpBuilder::BuildPacket(Clock::time_point send_time,
ByteBuffer buffer) { … }
void CompoundRtcpBuilder::AppendReceiverReportPacket(ByteBuffer& buffer) { … }
void CompoundRtcpBuilder::AppendReceiverReferenceTimeReportPacket(
Clock::time_point send_time,
ByteBuffer& buffer) { … }
void CompoundRtcpBuilder::AppendPictureLossIndicatorPacket(ByteBuffer& buffer) { … }
void CompoundRtcpBuilder::AppendCastFeedbackPacket(ByteBuffer& buffer) { … }
int CompoundRtcpBuilder::AppendCastFeedbackLossFields(ByteBuffer& buffer) { … }
void CompoundRtcpBuilder::AppendCastFeedbackAckFields(ByteBuffer& buffer) { … }
}