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