diff --git a/api/transport/BUILD.gn b/api/transport/BUILD.gn index c1fa928782..9f89df5d80 100644 --- a/api/transport/BUILD.gn +++ b/api/transport/BUILD.gn @@ -85,10 +85,10 @@ rtc_library("goog_cc") { deps = [ ":network_control", "..:network_state_predictor_api", - "../../api:field_trials_view", + "../../api/units:time_delta", "../../modules/congestion_controller/goog_cc", + "../../rtc_base:checks", ] - absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ] } rtc_source_set("sctp_transport_factory_interface") { diff --git a/api/transport/goog_cc_factory.cc b/api/transport/goog_cc_factory.cc index fd1189901f..fa1c486dd2 100644 --- a/api/transport/goog_cc_factory.cc +++ b/api/transport/goog_cc_factory.cc @@ -13,18 +13,11 @@ #include #include +#include "api/units/time_delta.h" #include "modules/congestion_controller/goog_cc/goog_cc_network_control.h" +#include "rtc_base/checks.h" namespace webrtc { -GoogCcNetworkControllerFactory::GoogCcNetworkControllerFactory( - RtcEventLog* event_log) - : event_log_(event_log) {} - -GoogCcNetworkControllerFactory::GoogCcNetworkControllerFactory( - NetworkStatePredictorFactoryInterface* network_state_predictor_factory) { - factory_config_.network_state_predictor_factory = - network_state_predictor_factory; -} GoogCcNetworkControllerFactory::GoogCcNetworkControllerFactory( GoogCcFactoryConfig config) @@ -32,8 +25,6 @@ GoogCcNetworkControllerFactory::GoogCcNetworkControllerFactory( std::unique_ptr GoogCcNetworkControllerFactory::Create(NetworkControllerConfig config) { - if (event_log_) - config.event_log = event_log_; GoogCcConfig goog_cc_config; goog_cc_config.feedback_only = factory_config_.feedback_only; if (factory_config_.network_state_estimator_factory) { @@ -56,10 +47,4 @@ TimeDelta GoogCcNetworkControllerFactory::GetProcessInterval() const { return TimeDelta::Millis(kUpdateIntervalMs); } -GoogCcFeedbackNetworkControllerFactory::GoogCcFeedbackNetworkControllerFactory( - RtcEventLog* event_log) - : GoogCcNetworkControllerFactory(event_log) { - factory_config_.feedback_only = true; -} - } // namespace webrtc diff --git a/api/transport/goog_cc_factory.h b/api/transport/goog_cc_factory.h index e12755d745..80d1341d8a 100644 --- a/api/transport/goog_cc_factory.h +++ b/api/transport/goog_cc_factory.h @@ -10,18 +10,17 @@ #ifndef API_TRANSPORT_GOOG_CC_FACTORY_H_ #define API_TRANSPORT_GOOG_CC_FACTORY_H_ + #include -#include "absl/base/attributes.h" #include "api/network_state_predictor.h" #include "api/transport/network_control.h" +#include "api/units/time_delta.h" namespace webrtc { -class RtcEventLog; struct GoogCcFactoryConfig { - std::unique_ptr - network_state_estimator_factory = nullptr; + std::unique_ptr network_state_estimator_factory; NetworkStatePredictorFactoryInterface* network_state_predictor_factory = nullptr; bool feedback_only = false; @@ -31,31 +30,16 @@ class GoogCcNetworkControllerFactory : public NetworkControllerFactoryInterface { public: GoogCcNetworkControllerFactory() = default; - ABSL_DEPRECATED("") - explicit GoogCcNetworkControllerFactory(RtcEventLog* event_log); - explicit GoogCcNetworkControllerFactory( - NetworkStatePredictorFactoryInterface* network_state_predictor_factory); - explicit GoogCcNetworkControllerFactory(GoogCcFactoryConfig config); + std::unique_ptr Create( NetworkControllerConfig config) override; TimeDelta GetProcessInterval() const override; - protected: - RtcEventLog* const event_log_ = nullptr; + private: GoogCcFactoryConfig factory_config_; }; -// Deprecated, use GoogCcFactoryConfig to enable feedback only mode instead. -// Factory to create packet feedback only GoogCC, this can be used for -// connections providing packet receive time feedback but no other reports. -class ABSL_DEPRECATED("use GoogCcFactoryConfig instead") - GoogCcFeedbackNetworkControllerFactory - : public GoogCcNetworkControllerFactory { - public: - explicit GoogCcFeedbackNetworkControllerFactory(RtcEventLog* event_log); -}; - } // namespace webrtc #endif // API_TRANSPORT_GOOG_CC_FACTORY_H_ diff --git a/call/rtp_transport_controller_send.cc b/call/rtp_transport_controller_send.cc index a997593492..d739ed1ddd 100644 --- a/call/rtp_transport_controller_send.cc +++ b/call/rtp_transport_controller_send.cc @@ -85,7 +85,8 @@ RtpTransportControllerSend::RtpTransportControllerSend( controller_factory_override_(config.network_controller_factory), controller_factory_fallback_( std::make_unique( - config.network_state_predictor_factory)), + GoogCcFactoryConfig{.network_state_predictor_factory = + config.network_state_predictor_factory})), process_interval_(controller_factory_fallback_->GetProcessInterval()), last_report_block_time_( Timestamp::Millis(env_.clock().TimeInMilliseconds())),