Force DefaultTaskQueueFactory in legacy CreatePeerConnectionFactory
Users that would like custom TaskQueueFactory (e.g. chromium) should use CreateModularPeerConnectionFactory directly Bug: webrtc:10284 Change-Id: I7ba55a0f21560d4beb71a7f93f6fa70b0fe74931 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142234 Reviewed-by: Steve Anton <steveanton@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28324}
This commit is contained in:

committed by
Commit Bot

parent
c2a54dca68
commit
5bf58064f2
53
api/BUILD.gn
53
api/BUILD.gn
@ -35,33 +35,32 @@ rtc_source_set("callfactory_api") {
|
||||
]
|
||||
}
|
||||
|
||||
rtc_static_library("create_peerconnection_factory") {
|
||||
visibility = [ "*" ]
|
||||
sources = [
|
||||
"create_peerconnection_factory.cc",
|
||||
"create_peerconnection_factory.h",
|
||||
]
|
||||
deps = [
|
||||
":callfactory_api",
|
||||
":fec_controller_api",
|
||||
":libjingle_peerconnection_api",
|
||||
":network_state_predictor_api",
|
||||
":scoped_refptr",
|
||||
"../logging:rtc_event_log_api",
|
||||
"../logging:rtc_event_log_impl_base",
|
||||
"../media:rtc_audio_video",
|
||||
"../media:rtc_media_base",
|
||||
"../modules/audio_device:audio_device_api",
|
||||
"../modules/audio_processing:api",
|
||||
"../pc:peerconnection",
|
||||
"../rtc_base",
|
||||
"../rtc_base:deprecation",
|
||||
"../rtc_base:rtc_base_approved",
|
||||
"audio:audio_mixer_api",
|
||||
"audio_codecs:audio_codecs_api",
|
||||
"transport:network_control",
|
||||
"video_codecs:video_codecs_api",
|
||||
]
|
||||
if (!build_with_chromium) {
|
||||
rtc_static_library("create_peerconnection_factory") {
|
||||
visibility = [ "*" ]
|
||||
sources = [
|
||||
"create_peerconnection_factory.cc",
|
||||
"create_peerconnection_factory.h",
|
||||
]
|
||||
deps = [
|
||||
":callfactory_api",
|
||||
":libjingle_peerconnection_api",
|
||||
":scoped_refptr",
|
||||
"../api/rtc_event_log:rtc_event_log_factory",
|
||||
"../media:rtc_audio_video",
|
||||
"../media:rtc_media_base",
|
||||
"../modules/audio_device:audio_device_api",
|
||||
"../modules/audio_processing:api",
|
||||
"../pc:peerconnection",
|
||||
"../rtc_base",
|
||||
"../rtc_base:rtc_base_approved",
|
||||
"audio:audio_mixer_api",
|
||||
"audio_codecs:audio_codecs_api",
|
||||
"task_queue:default_task_queue_factory",
|
||||
"video_codecs:video_codecs_api",
|
||||
"//third_party/abseil-cpp/absl/memory",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
rtc_source_set("rtp_headers") {
|
||||
|
@ -10,21 +10,14 @@
|
||||
|
||||
#include "api/create_peerconnection_factory.h"
|
||||
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
|
||||
#include "api/audio/audio_mixer.h"
|
||||
#include "api/audio_codecs/audio_decoder_factory.h"
|
||||
#include "api/audio_codecs/audio_encoder_factory.h"
|
||||
#include "absl/memory/memory.h"
|
||||
#include "api/call/call_factory_interface.h"
|
||||
#include "api/fec_controller.h"
|
||||
#include "api/peer_connection_interface.h"
|
||||
#include "api/rtc_event_log/rtc_event_log_factory.h"
|
||||
#include "api/scoped_refptr.h"
|
||||
#include "api/transport/network_control.h"
|
||||
#include "api/video_codecs/video_decoder_factory.h"
|
||||
#include "api/video_codecs/video_encoder_factory.h"
|
||||
#include "logging/rtc_event_log/rtc_event_log_factory.h"
|
||||
#include "logging/rtc_event_log/rtc_event_log_factory_interface.h"
|
||||
#include "api/task_queue/default_task_queue_factory.h"
|
||||
#include "media/base/media_engine.h"
|
||||
#include "media/engine/webrtc_media_engine.h"
|
||||
#include "modules/audio_device/include/audio_device.h"
|
||||
@ -44,26 +37,31 @@ rtc::scoped_refptr<PeerConnectionFactoryInterface> CreatePeerConnectionFactory(
|
||||
std::unique_ptr<VideoDecoderFactory> video_decoder_factory,
|
||||
rtc::scoped_refptr<AudioMixer> audio_mixer,
|
||||
rtc::scoped_refptr<AudioProcessing> audio_processing) {
|
||||
if (!audio_processing)
|
||||
audio_processing = AudioProcessingBuilder().Create();
|
||||
|
||||
std::unique_ptr<cricket::MediaEngineInterface> media_engine =
|
||||
cricket::WebRtcMediaEngineFactory::Create(
|
||||
default_adm, audio_encoder_factory, audio_decoder_factory,
|
||||
std::move(video_encoder_factory), std::move(video_decoder_factory),
|
||||
audio_mixer, audio_processing);
|
||||
|
||||
std::unique_ptr<CallFactoryInterface> call_factory = CreateCallFactory();
|
||||
|
||||
std::unique_ptr<RtcEventLogFactoryInterface> event_log_factory =
|
||||
CreateRtcEventLogFactory();
|
||||
PeerConnectionFactoryDependencies dependencies;
|
||||
dependencies.network_thread = network_thread;
|
||||
dependencies.worker_thread = worker_thread;
|
||||
dependencies.signaling_thread = signaling_thread;
|
||||
dependencies.media_engine = std::move(media_engine);
|
||||
dependencies.call_factory = std::move(call_factory);
|
||||
dependencies.event_log_factory = std::move(event_log_factory);
|
||||
dependencies.task_queue_factory = CreateDefaultTaskQueueFactory();
|
||||
dependencies.call_factory = CreateCallFactory();
|
||||
dependencies.event_log_factory = absl::make_unique<RtcEventLogFactory>(
|
||||
dependencies.task_queue_factory.get());
|
||||
|
||||
cricket::MediaEngineDependencies media_dependencies;
|
||||
media_dependencies.task_queue_factory = dependencies.task_queue_factory.get();
|
||||
media_dependencies.adm = std::move(default_adm);
|
||||
media_dependencies.audio_encoder_factory = std::move(audio_encoder_factory);
|
||||
media_dependencies.audio_decoder_factory = std::move(audio_decoder_factory);
|
||||
if (audio_processing) {
|
||||
media_dependencies.audio_processing = std::move(audio_processing);
|
||||
} else {
|
||||
media_dependencies.audio_processing = AudioProcessingBuilder().Create();
|
||||
}
|
||||
media_dependencies.audio_mixer = std::move(audio_mixer);
|
||||
media_dependencies.video_encoder_factory = std::move(video_encoder_factory);
|
||||
media_dependencies.video_decoder_factory = std::move(video_decoder_factory);
|
||||
dependencies.media_engine =
|
||||
cricket::CreateMediaEngine(std::move(media_dependencies));
|
||||
|
||||
return CreateModularPeerConnectionFactory(std::move(dependencies));
|
||||
}
|
||||
|
||||
|
@ -16,11 +16,10 @@
|
||||
#include "api/audio/audio_mixer.h"
|
||||
#include "api/audio_codecs/audio_decoder_factory.h"
|
||||
#include "api/audio_codecs/audio_encoder_factory.h"
|
||||
#include "api/fec_controller.h"
|
||||
#include "api/peer_connection_interface.h"
|
||||
#include "api/scoped_refptr.h"
|
||||
#include "api/transport/network_control.h"
|
||||
#include "rtc_base/deprecation.h"
|
||||
#include "api/video_codecs/video_decoder_factory.h"
|
||||
#include "api/video_codecs/video_encoder_factory.h"
|
||||
|
||||
namespace rtc {
|
||||
// TODO(bugs.webrtc.org/9987): Move rtc::Thread to api/ or expose a better
|
||||
|
@ -249,7 +249,6 @@ rtc_source_set("libjingle_peerconnection") {
|
||||
visibility = [ "*" ]
|
||||
deps = [
|
||||
":peerconnection",
|
||||
"../api:create_peerconnection_factory",
|
||||
"../api:libjingle_peerconnection_api",
|
||||
]
|
||||
}
|
||||
|
Reference in New Issue
Block a user