mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 13:50:40 +01:00
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:
parent
b29ff000da
commit
779c9dede9
4 changed files with 22 additions and 44 deletions
|
@ -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",
|
||||||
|
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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));
|
||||||
|
|
Loading…
Reference in a new issue