Migrate CreatePeerConnectionFactory implementation to EnableMedia api

Bug: webrtc:15574
Change-Id: I2e109a62a9069f37a580fa64cacdd5a86a293203
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325860
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41069}
This commit is contained in:
Danil Chapovalov 2023-11-02 17:29:21 +01:00 committed by WebRTC LUCI CQ
parent b29ff000da
commit 779c9dede9
4 changed files with 22 additions and 44 deletions

View file

@ -83,12 +83,10 @@ if (!build_with_chromium) {
"create_peerconnection_factory.h", "create_peerconnection_factory.h",
] ]
deps = [ deps = [
":callfactory_api", ":enable_media",
":libjingle_peerconnection_api", ":libjingle_peerconnection_api",
":scoped_refptr", ":scoped_refptr",
"../api/rtc_event_log:rtc_event_log_factory", "../api/rtc_event_log:rtc_event_log_factory",
"../media:rtc_audio_video",
"../media:rtc_media_base",
"../modules/audio_device:audio_device_api", "../modules/audio_device:audio_device_api",
"../modules/audio_processing:api", "../modules/audio_processing:api",
"../pc:peer_connection_factory", "../pc:peer_connection_factory",

View file

@ -13,14 +13,12 @@
#include <memory> #include <memory>
#include <utility> #include <utility>
#include "api/call/call_factory_interface.h" #include "api/enable_media.h"
#include "api/peer_connection_interface.h" #include "api/peer_connection_interface.h"
#include "api/rtc_event_log/rtc_event_log_factory.h" #include "api/rtc_event_log/rtc_event_log_factory.h"
#include "api/scoped_refptr.h" #include "api/scoped_refptr.h"
#include "api/task_queue/default_task_queue_factory.h" #include "api/task_queue/default_task_queue_factory.h"
#include "api/transport/field_trial_based_config.h" #include "api/transport/field_trial_based_config.h"
#include "media/base/media_engine.h"
#include "media/engine/webrtc_media_engine.h"
#include "modules/audio_device/include/audio_device.h" #include "modules/audio_device/include/audio_device.h"
#include "modules/audio_processing/include/audio_processing.h" #include "modules/audio_processing/include/audio_processing.h"
#include "rtc_base/thread.h" #include "rtc_base/thread.h"
@ -50,7 +48,6 @@ rtc::scoped_refptr<PeerConnectionFactoryInterface> CreatePeerConnectionFactory(
dependencies.signaling_thread = signaling_thread; dependencies.signaling_thread = signaling_thread;
dependencies.task_queue_factory = dependencies.task_queue_factory =
CreateDefaultTaskQueueFactory(field_trials.get()); CreateDefaultTaskQueueFactory(field_trials.get());
dependencies.call_factory = CreateCallFactory();
dependencies.event_log_factory = std::make_unique<RtcEventLogFactory>( dependencies.event_log_factory = std::make_unique<RtcEventLogFactory>(
dependencies.task_queue_factory.get()); dependencies.task_queue_factory.get());
dependencies.trials = std::move(field_trials); dependencies.trials = std::move(field_trials);
@ -59,24 +56,19 @@ rtc::scoped_refptr<PeerConnectionFactoryInterface> CreatePeerConnectionFactory(
// TODO(bugs.webrtc.org/13145): Add an rtc::SocketFactory* argument. // TODO(bugs.webrtc.org/13145): Add an rtc::SocketFactory* argument.
dependencies.socket_factory = network_thread->socketserver(); dependencies.socket_factory = network_thread->socketserver();
} }
cricket::MediaEngineDependencies media_dependencies; dependencies.adm = std::move(default_adm);
media_dependencies.task_queue_factory = dependencies.task_queue_factory.get(); dependencies.audio_encoder_factory = std::move(audio_encoder_factory);
media_dependencies.adm = std::move(default_adm); dependencies.audio_decoder_factory = std::move(audio_decoder_factory);
media_dependencies.audio_encoder_factory = std::move(audio_encoder_factory); dependencies.audio_frame_processor = std::move(audio_frame_processor);
media_dependencies.audio_decoder_factory = std::move(audio_decoder_factory);
media_dependencies.owned_audio_frame_processor =
std::move(audio_frame_processor);
if (audio_processing) { if (audio_processing) {
media_dependencies.audio_processing = std::move(audio_processing); dependencies.audio_processing = std::move(audio_processing);
} else { } else {
media_dependencies.audio_processing = AudioProcessingBuilder().Create(); dependencies.audio_processing = AudioProcessingBuilder().Create();
} }
media_dependencies.audio_mixer = std::move(audio_mixer); dependencies.audio_mixer = std::move(audio_mixer);
media_dependencies.video_encoder_factory = std::move(video_encoder_factory); dependencies.video_encoder_factory = std::move(video_encoder_factory);
media_dependencies.video_decoder_factory = std::move(video_decoder_factory); dependencies.video_decoder_factory = std::move(video_decoder_factory);
media_dependencies.trials = dependencies.trials.get(); EnableMedia(dependencies);
dependencies.media_engine =
cricket::CreateMediaEngine(std::move(media_dependencies));
return CreateModularPeerConnectionFactory(std::move(dependencies)); return CreateModularPeerConnectionFactory(std::move(dependencies));
} }

View file

@ -768,8 +768,8 @@ if (current_os == "linux" || is_android) {
":native_api_jni", ":native_api_jni",
":native_api_stacktrace", ":native_api_stacktrace",
"..:media_constraints", "..:media_constraints",
"../../api:callfactory_api",
"../../api:dtmf_sender_interface", "../../api:dtmf_sender_interface",
"../../api:enable_media",
"../../api:libjingle_peerconnection_api", "../../api:libjingle_peerconnection_api",
"../../api:media_stream_interface", "../../api:media_stream_interface",
"../../api:rtc_event_log_output_file", "../../api:rtc_event_log_output_file",
@ -781,7 +781,6 @@ if (current_os == "linux" || is_android) {
"../../api/task_queue:default_task_queue_factory", "../../api/task_queue:default_task_queue_factory",
"../../api/video_codecs:video_codecs_api", "../../api/video_codecs:video_codecs_api",
"../../call:call_interfaces", "../../call:call_interfaces",
"../../media:rtc_audio_video",
"../../media:rtc_media_base", "../../media:rtc_media_base",
"../../modules/audio_device", "../../modules/audio_device",
"../../modules/audio_processing:api", "../../modules/audio_processing:api",

View file

@ -14,21 +14,14 @@
#include <utility> #include <utility>
#include "absl/memory/memory.h" #include "absl/memory/memory.h"
#include "api/video_codecs/video_decoder_factory.h" #include "api/enable_media.h"
#include "api/video_codecs/video_encoder_factory.h"
#include "media/base/media_engine.h"
#include "modules/audio_device/include/audio_device.h"
#include "modules/utility/include/jvm_android.h"
// We don't depend on the audio processing module implementation.
// The user may pass in a nullptr.
#include "api/call/call_factory_interface.h"
#include "api/rtc_event_log/rtc_event_log_factory.h" #include "api/rtc_event_log/rtc_event_log_factory.h"
#include "api/task_queue/default_task_queue_factory.h" #include "api/task_queue/default_task_queue_factory.h"
#include "api/video_codecs/video_decoder_factory.h" #include "api/video_codecs/video_decoder_factory.h"
#include "api/video_codecs/video_encoder_factory.h" #include "api/video_codecs/video_encoder_factory.h"
#include "media/engine/webrtc_media_engine.h"
#include "modules/audio_device/include/audio_device.h" #include "modules/audio_device/include/audio_device.h"
#include "modules/audio_processing/include/audio_processing.h" #include "modules/audio_processing/include/audio_processing.h"
#include "modules/utility/include/jvm_android.h"
#include "rtc_base/event_tracer.h" #include "rtc_base/event_tracer.h"
#include "rtc_base/physical_socket_server.h" #include "rtc_base/physical_socket_server.h"
#include "rtc_base/thread.h" #include "rtc_base/thread.h"
@ -276,7 +269,6 @@ ScopedJavaLocalRef<jobject> CreatePeerConnectionFactoryForJava(
dependencies.worker_thread = worker_thread.get(); dependencies.worker_thread = worker_thread.get();
dependencies.signaling_thread = signaling_thread.get(); dependencies.signaling_thread = signaling_thread.get();
dependencies.task_queue_factory = CreateDefaultTaskQueueFactory(); dependencies.task_queue_factory = CreateDefaultTaskQueueFactory();
dependencies.call_factory = CreateCallFactory();
dependencies.event_log_factory = std::make_unique<RtcEventLogFactory>( dependencies.event_log_factory = std::make_unique<RtcEventLogFactory>(
dependencies.task_queue_factory.get()); dependencies.task_queue_factory.get());
dependencies.fec_controller_factory = std::move(fec_controller_factory); dependencies.fec_controller_factory = std::move(fec_controller_factory);
@ -290,18 +282,15 @@ ScopedJavaLocalRef<jobject> CreatePeerConnectionFactoryForJava(
std::make_unique<AndroidNetworkMonitorFactory>(); std::make_unique<AndroidNetworkMonitorFactory>();
} }
cricket::MediaEngineDependencies media_dependencies; dependencies.adm = std::move(audio_device_module);
media_dependencies.task_queue_factory = dependencies.task_queue_factory.get(); dependencies.audio_encoder_factory = std::move(audio_encoder_factory);
media_dependencies.adm = std::move(audio_device_module); dependencies.audio_decoder_factory = std::move(audio_decoder_factory);
media_dependencies.audio_encoder_factory = std::move(audio_encoder_factory); dependencies.audio_processing = std::move(audio_processor);
media_dependencies.audio_decoder_factory = std::move(audio_decoder_factory); dependencies.video_encoder_factory =
media_dependencies.audio_processing = std::move(audio_processor);
media_dependencies.video_encoder_factory =
absl::WrapUnique(CreateVideoEncoderFactory(jni, jencoder_factory)); absl::WrapUnique(CreateVideoEncoderFactory(jni, jencoder_factory));
media_dependencies.video_decoder_factory = dependencies.video_decoder_factory =
absl::WrapUnique(CreateVideoDecoderFactory(jni, jdecoder_factory)); absl::WrapUnique(CreateVideoDecoderFactory(jni, jdecoder_factory));
dependencies.media_engine = EnableMedia(dependencies);
cricket::CreateMediaEngine(std::move(media_dependencies));
rtc::scoped_refptr<PeerConnectionFactoryInterface> factory = rtc::scoped_refptr<PeerConnectionFactoryInterface> factory =
CreateModularPeerConnectionFactory(std::move(dependencies)); CreateModularPeerConnectionFactory(std::move(dependencies));