diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn index 4873a744cd..ec05361b1f 100644 --- a/modules/rtp_rtcp/BUILD.gn +++ b/modules/rtp_rtcp/BUILD.gn @@ -377,6 +377,7 @@ rtc_source_set("rtp_rtcp_legacy") { "..:module_fec_api", "../../api:rtp_headers", "../../api:transport_api", + "../../api/environment", "../../api/rtc_event_log", "../../api/units:data_rate", "../../api/units:timestamp", diff --git a/modules/rtp_rtcp/include/rtp_rtcp.h b/modules/rtp_rtcp/include/rtp_rtcp.h index e56d5ef637..ccf193ee95 100644 --- a/modules/rtp_rtcp/include/rtp_rtcp.h +++ b/modules/rtp_rtcp/include/rtp_rtcp.h @@ -13,21 +13,22 @@ #include -#include "absl/base/attributes.h" +#include "api/environment/environment.h" #include "modules/rtp_rtcp/source/rtp_rtcp_interface.h" namespace webrtc { -class ABSL_DEPRECATED("") RtpRtcp : public RtpRtcpInterface { +// A deprecated version of the RtpRtcp module. +class [[deprecated("bugs.webrtc.org/42224904")]] RtpRtcp + : public RtpRtcpInterface { public: - // Instantiates a deprecated version of the RtpRtcp module. - static std::unique_ptr ABSL_DEPRECATED("") - Create(const Configuration& configuration) { - return DEPRECATED_Create(configuration); - } + [[deprecated("bugs.webrtc.org/362762208")]] // + static std::unique_ptr + Create(const Configuration& configuration); - static std::unique_ptr DEPRECATED_Create( - const Configuration& configuration); + [[deprecated("bugs.webrtc.org/42224904")]] // + static std::unique_ptr + Create(const Environment& env, const Configuration& configuration); // Process any pending tasks such as timeouts. virtual void Process() = 0; diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc index eb4665bed2..e13b0439bd 100644 --- a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc +++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc @@ -57,12 +57,24 @@ ModuleRtpRtcpImpl::RtpSenderContext::RtpSenderContext( &packet_history, config.paced_sender ? config.paced_sender : &non_paced_sender) {} -std::unique_ptr RtpRtcp::DEPRECATED_Create( - const Configuration& configuration) { +std::unique_ptr RtpRtcp::Create(const Configuration& configuration) { RTC_DCHECK(configuration.clock); return std::make_unique(configuration); } +std::unique_ptr RtpRtcp::Create(const Environment& env, + const Configuration& configuration) { + RTC_DCHECK(configuration.field_trials == nullptr); + RTC_DCHECK(configuration.clock == nullptr); + RTC_DCHECK(configuration.event_log == nullptr); + + Configuration config = configuration; + config.field_trials = &env.field_trials(); + config.clock = &env.clock(); + config.event_log = &env.event_log(); + return std::make_unique(config); +} + ModuleRtpRtcpImpl::ModuleRtpRtcpImpl(const Configuration& configuration) : rtcp_sender_( RTCPSender::Configuration::FromRtpRtcpConfiguration(configuration)),