From c63e43f27d2fecb57b8f288736f238662753c83f Mon Sep 17 00:00:00 2001 From: Danil Chapovalov Date: Mon, 18 Nov 2024 12:57:26 +0100 Subject: [PATCH] Deprecate PeerConnectionFactoryDependencies::audio_processing Bug: webrtc:369904700 Change-Id: Ic0982abcff2097e4e52e55a4b9c90ec25ae33b90 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367961 Commit-Queue: Danil Chapovalov Reviewed-by: Harald Alvestrand Cr-Commit-Position: refs/heads/main@{#43444} --- api/enable_media.cc | 3 +++ api/enable_media_with_defaults.cc | 3 +++ api/peer_connection_interface.cc | 5 +++++ api/peer_connection_interface.h | 4 ++-- pc/peer_connection_factory_unittest.cc | 3 +++ sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm | 4 ++++ 6 files changed, 20 insertions(+), 2 deletions(-) diff --git a/api/enable_media.cc b/api/enable_media.cc index 922cf58e0b..cc15ec6396 100644 --- a/api/enable_media.cc +++ b/api/enable_media.cc @@ -49,7 +49,10 @@ class MediaFactoryImpl : public MediaFactory { absl::Nullable> audio_processing = deps.audio_processing_builder != nullptr ? std::move(deps.audio_processing_builder)->Build(env) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" : std::move(deps.audio_processing); +#pragma clang diagnostic pop auto audio_engine = std::make_unique( &env.task_queue_factory(), deps.adm.get(), diff --git a/api/enable_media_with_defaults.cc b/api/enable_media_with_defaults.cc index c8cc239c9b..2ad88849d8 100644 --- a/api/enable_media_with_defaults.cc +++ b/api/enable_media_with_defaults.cc @@ -34,7 +34,10 @@ void EnableMediaWithDefaults(PeerConnectionFactoryDependencies& deps) { if (deps.audio_decoder_factory == nullptr) { deps.audio_decoder_factory = CreateBuiltinAudioDecoderFactory(); } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" if (deps.audio_processing == nullptr && +#pragma clang diagnostic pop deps.audio_processing_builder == nullptr) { deps.audio_processing_builder = std::make_unique(); diff --git a/api/peer_connection_interface.cc b/api/peer_connection_interface.cc index 07c8660e39..7d95469cc6 100644 --- a/api/peer_connection_interface.cc +++ b/api/peer_connection_interface.cc @@ -67,8 +67,13 @@ PeerConnectionDependencies::~PeerConnectionDependencies() = default; PeerConnectionFactoryDependencies::PeerConnectionFactoryDependencies() = default; +// TODO: bugs.webrtc.org/369904700 - remove pragma once `audio_processing` +// is removed from PeerConnectionFactoryDependencies. +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" PeerConnectionFactoryDependencies::PeerConnectionFactoryDependencies( PeerConnectionFactoryDependencies&&) = default; +#pragma clang diagnostic pop PeerConnectionFactoryDependencies::~PeerConnectionFactoryDependencies() = default; diff --git a/api/peer_connection_interface.h b/api/peer_connection_interface.h index 0108a69347..a15340b2f5 100644 --- a/api/peer_connection_interface.h +++ b/api/peer_connection_interface.h @@ -1472,9 +1472,9 @@ struct RTC_EXPORT PeerConnectionFactoryDependencies final { rtc::scoped_refptr audio_encoder_factory; rtc::scoped_refptr audio_decoder_factory; rtc::scoped_refptr audio_mixer; - // TODO: bugs.webrtc.org/369904700 - Deprecate `audio_processing` in favor + // TODO: bugs.webrtc.org/369904700 - Delete `audio_processing` in favor // of `audio_processing_builder`. - rtc::scoped_refptr audio_processing; + [[deprecated]] scoped_refptr audio_processing; std::unique_ptr audio_processing_builder; std::unique_ptr audio_frame_processor; std::unique_ptr video_encoder_factory; diff --git a/pc/peer_connection_factory_unittest.cc b/pc/peer_connection_factory_unittest.cc index de7467c005..3b294f75ba 100644 --- a/pc/peer_connection_factory_unittest.cc +++ b/pc/peer_connection_factory_unittest.cc @@ -753,7 +753,10 @@ TEST(PeerConnectionFactoryDependenciesTest, UsesAudioProcessingWhenProvided) { PeerConnectionFactoryDependencies pcf_dependencies; pcf_dependencies.adm = FakeAudioCaptureModule::Create(); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" pcf_dependencies.audio_processing = std::move(audio_processing); +#pragma clang diagnostic pop EnableMediaWithDefaults(pcf_dependencies); scoped_refptr pcf = diff --git a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm index fa1a024716..0ebd7d2382 100644 --- a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm +++ b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm @@ -205,8 +205,12 @@ - (instancetype)initWithMediaAndDependencies: (webrtc::PeerConnectionFactoryDependencies)dependencies { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" // audio_processing_builder should be used instead in new code. RTC_CHECK(dependencies.audio_processing == nullptr); +#pragma clang diagnostic pop + #ifndef WEBRTC_EXCLUDE_AUDIO_PROCESSING_MODULE if (dependencies.audio_processing_builder == nullptr) { dependencies.audio_processing_builder =