#include "third_party/blink/renderer/modules/peerconnection/intercepting_network_controller.h"
#include "third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h"
#include "third_party/blink/renderer/platform/scheduler/public/post_cross_thread_task.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_copier_base.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
namespace blink {
namespace {
webrtc::TargetTransferRate CreateTargetTransferRate(
webrtc::Timestamp at_time,
uint64_t custom_max_bitrate_bps) { … }
webrtc::NetworkControlUpdate OverwriteTargetRate(
webrtc::NetworkControlUpdate fallback_update,
std::optional<uint64_t> custom_max_bitrate_bps) { … }
}
InterceptingNetworkController::InterceptingNetworkController(
std::unique_ptr<webrtc::NetworkControllerInterface> fallback_controller,
CrossThreadWeakHandle<RTCRtpTransport> rtp_transport_handle,
scoped_refptr<base::SequencedTaskRunner> task_runner)
: … { … }
webrtc::NetworkControlUpdate
InterceptingNetworkController::OnNetworkAvailability(
webrtc::NetworkAvailability na) { … }
webrtc::NetworkControlUpdate
InterceptingNetworkController::OnNetworkRouteChange(
webrtc::NetworkRouteChange nrc) { … }
webrtc::NetworkControlUpdate InterceptingNetworkController::OnProcessInterval(
webrtc::ProcessInterval pi) { … }
webrtc::NetworkControlUpdate
InterceptingNetworkController::OnRemoteBitrateReport(
webrtc::RemoteBitrateReport rbr) { … }
webrtc::NetworkControlUpdate
InterceptingNetworkController::OnRoundTripTimeUpdate(
webrtc::RoundTripTimeUpdate rttu) { … }
webrtc::NetworkControlUpdate InterceptingNetworkController::OnSentPacket(
webrtc::SentPacket sp) { … }
webrtc::NetworkControlUpdate InterceptingNetworkController::OnReceivedPacket(
webrtc::ReceivedPacket rp) { … }
webrtc::NetworkControlUpdate InterceptingNetworkController::OnStreamsConfig(
webrtc::StreamsConfig sc) { … }
webrtc::NetworkControlUpdate
InterceptingNetworkController::OnTargetRateConstraints(
webrtc::TargetRateConstraints trc) { … }
webrtc::NetworkControlUpdate
InterceptingNetworkController::OnTransportLossReport(
webrtc::TransportLossReport tlr) { … }
webrtc::NetworkControlUpdate
InterceptingNetworkController::OnTransportPacketsFeedback(
webrtc::TransportPacketsFeedback tpf) { … }
webrtc::NetworkControlUpdate
InterceptingNetworkController::OnNetworkStateEstimate(
webrtc::NetworkStateEstimate nse) { … }
void InterceptingNetworkController::FeedbackProviderImpl::OnFeedback(
webrtc::TransportPacketsFeedback feedback) { … }
void InterceptingNetworkController::FeedbackProviderImpl::
OnFeedbackOnDestinationTaskRunner(
webrtc::TransportPacketsFeedback feedback,
RTCRtpTransportProcessor* rtp_transport_processor) { … }
void InterceptingNetworkController::FeedbackProviderImpl::OnSentPacket(
webrtc::SentPacket sp) { … }
void InterceptingNetworkController::FeedbackProviderImpl::
OnSentPacketOnDestinationTaskRunner(
webrtc::SentPacket sp,
RTCRtpTransportProcessor* rtp_transport_processor) { … }
void InterceptingNetworkController::FeedbackProviderImpl::SetProcessor(
CrossThreadWeakHandle<RTCRtpTransportProcessor>
rtp_transport_processor_handle,
scoped_refptr<base::SequencedTaskRunner>
rtp_transport_processor_task_runner) { … }
}