#include "modules/rtp_rtcp/source/rtcp_transceiver.h"
#include <memory>
#include <utility>
#include <vector>
#include "absl/cleanup/cleanup.h"
#include "api/units/timestamp.h"
#include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
#include "rtc_base/checks.h"
#include "rtc_base/event.h"
#include "system_wrappers/include/clock.h"
namespace webrtc {
RtcpTransceiver::RtcpTransceiver(const RtcpTransceiverConfig& config)
: … { … }
RtcpTransceiver::~RtcpTransceiver() { … }
void RtcpTransceiver::Stop(absl::AnyInvocable<void() &&> on_destroyed) { … }
void RtcpTransceiver::AddMediaReceiverRtcpObserver(
uint32_t remote_ssrc,
MediaReceiverRtcpObserver* observer) { … }
void RtcpTransceiver::RemoveMediaReceiverRtcpObserver(
uint32_t remote_ssrc,
MediaReceiverRtcpObserver* observer,
absl::AnyInvocable<void() &&> on_removed) { … }
void RtcpTransceiver::SetReadyToSend(bool ready) { … }
void RtcpTransceiver::ReceivePacket(rtc::CopyOnWriteBuffer packet) { … }
void RtcpTransceiver::SendCompoundPacket() { … }
void RtcpTransceiver::SetRemb(int64_t bitrate_bps,
std::vector<uint32_t> ssrcs) { … }
void RtcpTransceiver::UnsetRemb() { … }
void RtcpTransceiver::SendCombinedRtcpPacket(
std::vector<std::unique_ptr<rtcp::RtcpPacket>> rtcp_packets) { … }
void RtcpTransceiver::SendNack(uint32_t ssrc,
std::vector<uint16_t> sequence_numbers) { … }
void RtcpTransceiver::SendPictureLossIndication(uint32_t ssrc) { … }
void RtcpTransceiver::SendFullIntraRequest(std::vector<uint32_t> ssrcs) { … }
void RtcpTransceiver::SendFullIntraRequest(std::vector<uint32_t> ssrcs,
bool new_request) { … }
}