Deprecate PeerConnectionFactoryDependencies::audio_processing
Bug: webrtc:369904700
Change-Id: Ic0982abcff2097e4e52e55a4b9c90ec25ae33b90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367961
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43444}
diff --git a/api/enable_media.cc b/api/enable_media.cc
index 922cf58..cc15ec6 100644
--- a/api/enable_media.cc
+++ b/api/enable_media.cc
@@ -49,7 +49,10 @@
absl::Nullable<scoped_refptr<AudioProcessing>> 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<WebRtcVoiceEngine>(
&env.task_queue_factory(), deps.adm.get(),
diff --git a/api/enable_media_with_defaults.cc b/api/enable_media_with_defaults.cc
index c8cc239..2ad8884 100644
--- a/api/enable_media_with_defaults.cc
+++ b/api/enable_media_with_defaults.cc
@@ -34,7 +34,10 @@
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<BuiltinAudioProcessingBuilder>();
diff --git a/api/peer_connection_interface.cc b/api/peer_connection_interface.cc
index 07c8660..7d95469 100644
--- a/api/peer_connection_interface.cc
+++ b/api/peer_connection_interface.cc
@@ -67,8 +67,13 @@
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 0108a69..a15340b 100644
--- a/api/peer_connection_interface.h
+++ b/api/peer_connection_interface.h
@@ -1472,9 +1472,9 @@
rtc::scoped_refptr<AudioEncoderFactory> audio_encoder_factory;
rtc::scoped_refptr<AudioDecoderFactory> audio_decoder_factory;
rtc::scoped_refptr<AudioMixer> 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<AudioProcessing> audio_processing;
+ [[deprecated]] scoped_refptr<AudioProcessing> audio_processing;
std::unique_ptr<AudioProcessingBuilderInterface> audio_processing_builder;
std::unique_ptr<AudioFrameProcessor> audio_frame_processor;
std::unique_ptr<VideoEncoderFactory> video_encoder_factory;
diff --git a/pc/peer_connection_factory_unittest.cc b/pc/peer_connection_factory_unittest.cc
index de7467c..3b294f7 100644
--- a/pc/peer_connection_factory_unittest.cc
+++ b/pc/peer_connection_factory_unittest.cc
@@ -753,7 +753,10 @@
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<PeerConnectionFactoryInterface> pcf =
diff --git a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm
index fa1a024..0ebd7d2 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 =