Migrage objc sdk and examples to EnableMedia api
Bug: webrtc:15574
Change-Id: Iba5c33511eb73bb1c1ec92b6d20c6f20e2296137
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325531
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41065}
diff --git a/examples/BUILD.gn b/examples/BUILD.gn
index 458205c..4ace29b 100644
--- a/examples/BUILD.gn
+++ b/examples/BUILD.gn
@@ -489,6 +489,7 @@
]
deps = [
+ "../api:enable_media",
"../api:libjingle_peerconnection_api",
"../api:scoped_refptr",
"../api:sequence_checker",
@@ -496,7 +497,6 @@
"../api/audio_codecs:builtin_audio_encoder_factory",
"../api/rtc_event_log:rtc_event_log_factory",
"../api/task_queue:default_task_queue_factory",
- "../media:rtc_audio_video",
"../modules/audio_processing",
"../modules/audio_processing:api",
"../pc:libjingle_peerconnection",
diff --git a/examples/objcnativeapi/objc/objc_call_client.mm b/examples/objcnativeapi/objc/objc_call_client.mm
index 90bcfcc..996c6a9 100644
--- a/examples/objcnativeapi/objc/objc_call_client.mm
+++ b/examples/objcnativeapi/objc/objc_call_client.mm
@@ -20,10 +20,10 @@
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
+#include "api/enable_media.h"
#include "api/peer_connection_interface.h"
#include "api/rtc_event_log/rtc_event_log_factory.h"
#include "api/task_queue/default_task_queue_factory.h"
-#include "media/engine/webrtc_media_engine.h"
#include "modules/audio_processing/include/audio_processing.h"
#include "sdk/objc/native/api/video_capturer.h"
#include "sdk/objc/native/api/video_decoder_factory.h"
@@ -118,18 +118,14 @@
dependencies.worker_thread = worker_thread_.get();
dependencies.signaling_thread = signaling_thread_.get();
dependencies.task_queue_factory = webrtc::CreateDefaultTaskQueueFactory();
- cricket::MediaEngineDependencies media_deps;
- media_deps.task_queue_factory = dependencies.task_queue_factory.get();
- media_deps.audio_encoder_factory = webrtc::CreateBuiltinAudioEncoderFactory();
- media_deps.audio_decoder_factory = webrtc::CreateBuiltinAudioDecoderFactory();
- media_deps.video_encoder_factory = webrtc::ObjCToNativeVideoEncoderFactory(
+ dependencies.audio_encoder_factory = webrtc::CreateBuiltinAudioEncoderFactory();
+ dependencies.audio_decoder_factory = webrtc::CreateBuiltinAudioDecoderFactory();
+ dependencies.video_encoder_factory = webrtc::ObjCToNativeVideoEncoderFactory(
[[RTC_OBJC_TYPE(RTCDefaultVideoEncoderFactory) alloc] init]);
- media_deps.video_decoder_factory = webrtc::ObjCToNativeVideoDecoderFactory(
+ dependencies.video_decoder_factory = webrtc::ObjCToNativeVideoDecoderFactory(
[[RTC_OBJC_TYPE(RTCDefaultVideoDecoderFactory) alloc] init]);
- media_deps.audio_processing = webrtc::AudioProcessingBuilder().Create();
- dependencies.media_engine = cricket::CreateMediaEngine(std::move(media_deps));
- RTC_LOG(LS_INFO) << "Media engine created: " << dependencies.media_engine.get();
- dependencies.call_factory = webrtc::CreateCallFactory();
+ dependencies.audio_processing = webrtc::AudioProcessingBuilder().Create();
+ webrtc::EnableMedia(dependencies);
dependencies.event_log_factory =
std::make_unique<webrtc::RtcEventLogFactory>(dependencies.task_queue_factory.get());
pcf_ = webrtc::CreateModularPeerConnectionFactory(std::move(dependencies));
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 4f5ceb5..bff9b91 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -1051,6 +1051,7 @@
":videosource_objc",
":videotoolbox_objc",
"../api:dtmf_sender_interface",
+ "../api:enable_media",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:rtc_event_log_output_file",
@@ -1071,7 +1072,6 @@
"../api/video_codecs:video_codecs_api",
"../common_video",
"../media:media_constants",
- "../media:rtc_audio_video",
"../media:rtc_media_base",
"../modules/audio_device:audio_device_api",
"../modules/audio_processing",
diff --git a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm
index 62b5554..15f9eb9 100644
--- a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm
+++ b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm
@@ -32,12 +32,12 @@
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
+#include "api/enable_media.h"
#include "api/rtc_event_log/rtc_event_log_factory.h"
#include "api/task_queue/default_task_queue_factory.h"
#include "api/transport/field_trial_based_config.h"
#import "components/video_codec/RTCVideoDecoderFactoryH264.h"
#import "components/video_codec/RTCVideoEncoderFactoryH264.h"
-#include "media/engine/webrtc_media_engine.h"
#include "modules/audio_device/include/audio_device.h"
#include "modules/audio_processing/include/audio_processing.h"
@@ -195,21 +195,17 @@
dependencies.trials = std::make_unique<webrtc::FieldTrialBasedConfig>();
dependencies.task_queue_factory =
webrtc::CreateDefaultTaskQueueFactory(dependencies.trials.get());
- cricket::MediaEngineDependencies media_deps;
- media_deps.adm = std::move(audioDeviceModule);
- media_deps.task_queue_factory = dependencies.task_queue_factory.get();
- media_deps.audio_encoder_factory = std::move(audioEncoderFactory);
- media_deps.audio_decoder_factory = std::move(audioDecoderFactory);
- media_deps.video_encoder_factory = std::move(videoEncoderFactory);
- media_deps.video_decoder_factory = std::move(videoDecoderFactory);
+ dependencies.adm = std::move(audioDeviceModule);
+ dependencies.audio_encoder_factory = std::move(audioEncoderFactory);
+ dependencies.audio_decoder_factory = std::move(audioDecoderFactory);
+ dependencies.video_encoder_factory = std::move(videoEncoderFactory);
+ dependencies.video_decoder_factory = std::move(videoDecoderFactory);
if (audioProcessingModule) {
- media_deps.audio_processing = std::move(audioProcessingModule);
+ dependencies.audio_processing = std::move(audioProcessingModule);
} else {
- media_deps.audio_processing = webrtc::AudioProcessingBuilder().Create();
+ dependencies.audio_processing = webrtc::AudioProcessingBuilder().Create();
}
- media_deps.trials = dependencies.trials.get();
- dependencies.media_engine = cricket::CreateMediaEngine(std::move(media_deps));
- dependencies.call_factory = webrtc::CreateCallFactory();
+ webrtc::EnableMedia(dependencies);
dependencies.event_log_factory =
std::make_unique<webrtc::RtcEventLogFactory>(dependencies.task_queue_factory.get());
dependencies.network_controller_factory = std::move(networkControllerFactory);