#include "pc/rtp_transport.h"
#include <errno.h>
#include <cstdint>
#include <utility>
#include "api/array_view.h"
#include "api/units/timestamp.h"
#include "media/base/rtp_utils.h"
#include "modules/rtp_rtcp/source/rtp_packet_received.h"
#include "rtc_base/checks.h"
#include "rtc_base/copy_on_write_buffer.h"
#include "rtc_base/logging.h"
#include "rtc_base/trace_event.h"
namespace webrtc {
void RtpTransport::SetRtcpMuxEnabled(bool enable) { … }
const std::string& RtpTransport::transport_name() const { … }
int RtpTransport::SetRtpOption(rtc::Socket::Option opt, int value) { … }
int RtpTransport::SetRtcpOption(rtc::Socket::Option opt, int value) { … }
void RtpTransport::SetRtpPacketTransport(
rtc::PacketTransportInternal* new_packet_transport) { … }
void RtpTransport::SetRtcpPacketTransport(
rtc::PacketTransportInternal* new_packet_transport) { … }
bool RtpTransport::IsWritable(bool rtcp) const { … }
bool RtpTransport::SendRtpPacket(rtc::CopyOnWriteBuffer* packet,
const rtc::PacketOptions& options,
int flags) { … }
bool RtpTransport::SendRtcpPacket(rtc::CopyOnWriteBuffer* packet,
const rtc::PacketOptions& options,
int flags) { … }
bool RtpTransport::SendPacket(bool rtcp,
rtc::CopyOnWriteBuffer* packet,
const rtc::PacketOptions& options,
int flags) { … }
void RtpTransport::UpdateRtpHeaderExtensionMap(
const cricket::RtpHeaderExtensions& header_extensions) { … }
bool RtpTransport::RegisterRtpDemuxerSink(const RtpDemuxerCriteria& criteria,
RtpPacketSinkInterface* sink) { … }
bool RtpTransport::UnregisterRtpDemuxerSink(RtpPacketSinkInterface* sink) { … }
flat_set<uint32_t> RtpTransport::GetSsrcsForSink(RtpPacketSinkInterface* sink) { … }
void RtpTransport::DemuxPacket(rtc::CopyOnWriteBuffer packet,
webrtc::Timestamp arrival_time,
rtc::EcnMarking ecn) { … }
bool RtpTransport::IsTransportWritable() { … }
void RtpTransport::OnReadyToSend(rtc::PacketTransportInternal* transport) { … }
void RtpTransport::OnNetworkRouteChanged(
absl::optional<rtc::NetworkRoute> network_route) { … }
void RtpTransport::OnWritableState(
rtc::PacketTransportInternal* packet_transport) { … }
void RtpTransport::OnSentPacket(rtc::PacketTransportInternal* packet_transport,
const rtc::SentPacket& sent_packet) { … }
void RtpTransport::OnRtpPacketReceived(
const rtc::ReceivedPacket& received_packet) { … }
void RtpTransport::OnRtcpPacketReceived(
const rtc::ReceivedPacket& received_packet) { … }
void RtpTransport::OnReadPacket(rtc::PacketTransportInternal* transport,
const rtc::ReceivedPacket& received_packet) { … }
void RtpTransport::SetReadyToSend(bool rtcp, bool ready) { … }
void RtpTransport::MaybeSignalReadyToSend() { … }
}