mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 05:40:42 +01:00
Add EnableMediaWithDefaults to replace SetMediaEngineDefaults
Update most of the webrtc tests to use EnableMediaWithDefaults instead of SetMediaEngineDefaults Bug: webrtc:15574 Change-Id: I489a09e4ea3479dc26829ee0c1235e67bcbca7c7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325485 Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#41059}
This commit is contained in:
parent
efeeba0864
commit
554f7db01c
18 changed files with 141 additions and 64 deletions
24
api/BUILD.gn
24
api/BUILD.gn
|
@ -50,6 +50,30 @@ rtc_source_set("enable_media") {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rtc_source_set("enable_media_with_defaults") {
|
||||||
|
visibility = [ "*" ]
|
||||||
|
allow_poison = [
|
||||||
|
"audio_codecs",
|
||||||
|
"default_task_queue",
|
||||||
|
"software_video_codecs",
|
||||||
|
]
|
||||||
|
sources = [
|
||||||
|
"enable_media_with_defaults.cc",
|
||||||
|
"enable_media_with_defaults.h",
|
||||||
|
]
|
||||||
|
deps = [
|
||||||
|
":enable_media",
|
||||||
|
":libjingle_peerconnection_api",
|
||||||
|
"../modules/audio_processing:api",
|
||||||
|
"../rtc_base/system:rtc_export",
|
||||||
|
"audio_codecs:builtin_audio_decoder_factory",
|
||||||
|
"audio_codecs:builtin_audio_encoder_factory",
|
||||||
|
"task_queue:default_task_queue_factory",
|
||||||
|
"video_codecs:builtin_video_decoder_factory",
|
||||||
|
"video_codecs:builtin_video_encoder_factory",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
if (!build_with_chromium) {
|
if (!build_with_chromium) {
|
||||||
rtc_library("create_peerconnection_factory") {
|
rtc_library("create_peerconnection_factory") {
|
||||||
visibility = [ "*" ]
|
visibility = [ "*" ]
|
||||||
|
|
46
api/enable_media_with_defaults.cc
Normal file
46
api/enable_media_with_defaults.cc
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2023 The WebRTC Project Authors. All rights reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by a BSD-style license
|
||||||
|
* that can be found in the LICENSE file in the root of the source
|
||||||
|
* tree. An additional intellectual property rights grant can be found
|
||||||
|
* in the file PATENTS. All contributing project authors may
|
||||||
|
* be found in the AUTHORS file in the root of the source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "api/enable_media_with_defaults.h"
|
||||||
|
|
||||||
|
#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/task_queue/default_task_queue_factory.h"
|
||||||
|
#include "api/video_codecs/builtin_video_decoder_factory.h"
|
||||||
|
#include "api/video_codecs/builtin_video_encoder_factory.h"
|
||||||
|
#include "modules/audio_processing/include/audio_processing.h"
|
||||||
|
|
||||||
|
namespace webrtc {
|
||||||
|
|
||||||
|
void EnableMediaWithDefaults(PeerConnectionFactoryDependencies& deps) {
|
||||||
|
if (deps.task_queue_factory == nullptr) {
|
||||||
|
deps.task_queue_factory = CreateDefaultTaskQueueFactory();
|
||||||
|
}
|
||||||
|
if (deps.audio_encoder_factory == nullptr) {
|
||||||
|
deps.audio_encoder_factory = CreateBuiltinAudioEncoderFactory();
|
||||||
|
}
|
||||||
|
if (deps.audio_decoder_factory == nullptr) {
|
||||||
|
deps.audio_decoder_factory = CreateBuiltinAudioDecoderFactory();
|
||||||
|
}
|
||||||
|
if (deps.audio_processing == nullptr) {
|
||||||
|
deps.audio_processing = AudioProcessingBuilder().Create();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (deps.video_encoder_factory == nullptr) {
|
||||||
|
deps.video_encoder_factory = CreateBuiltinVideoEncoderFactory();
|
||||||
|
}
|
||||||
|
if (deps.video_decoder_factory == nullptr) {
|
||||||
|
deps.video_decoder_factory = CreateBuiltinVideoDecoderFactory();
|
||||||
|
}
|
||||||
|
EnableMedia(deps);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace webrtc
|
28
api/enable_media_with_defaults.h
Normal file
28
api/enable_media_with_defaults.h
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2023 The WebRTC project authors. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by a BSD-style license
|
||||||
|
* that can be found in the LICENSE file in the root of the source
|
||||||
|
* tree. An additional intellectual property rights grant can be found
|
||||||
|
* in the file PATENTS. All contributing project authors may
|
||||||
|
* be found in the AUTHORS file in the root of the source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef API_ENABLE_MEDIA_WITH_DEFAULTS_H_
|
||||||
|
#define API_ENABLE_MEDIA_WITH_DEFAULTS_H_
|
||||||
|
|
||||||
|
#include "api/peer_connection_interface.h"
|
||||||
|
#include "rtc_base/system/rtc_export.h"
|
||||||
|
|
||||||
|
namespace webrtc {
|
||||||
|
|
||||||
|
// Fills unset media related dependencies in `deps` and enables media support
|
||||||
|
// for a PeerConnectionFactory created from `deps`.
|
||||||
|
// This function is located in its own build target as it pulls additional
|
||||||
|
// dependencies compared to `EnableMedia`, and thus may add extra binary size.
|
||||||
|
RTC_EXPORT void EnableMediaWithDefaults(
|
||||||
|
PeerConnectionFactoryDependencies& deps);
|
||||||
|
|
||||||
|
} // namespace webrtc
|
||||||
|
|
||||||
|
#endif // API_ENABLE_MEDIA_WITH_DEFAULTS_H_
|
|
@ -47,6 +47,7 @@ if (is_android) {
|
||||||
|
|
||||||
deps = [
|
deps = [
|
||||||
":generated_jni",
|
":generated_jni",
|
||||||
|
"../../api:enable_media_with_defaults",
|
||||||
"../../api:scoped_refptr",
|
"../../api:scoped_refptr",
|
||||||
"../../api:sequence_checker",
|
"../../api:sequence_checker",
|
||||||
"../../rtc_base:ssl",
|
"../../rtc_base:ssl",
|
||||||
|
@ -56,7 +57,6 @@ if (is_android) {
|
||||||
"//api/task_queue:default_task_queue_factory",
|
"//api/task_queue:default_task_queue_factory",
|
||||||
"//media:rtc_audio_video",
|
"//media:rtc_audio_video",
|
||||||
"//media:rtc_internal_video_codecs",
|
"//media:rtc_internal_video_codecs",
|
||||||
"//media:rtc_media_engine_defaults",
|
|
||||||
"//modules/utility",
|
"//modules/utility",
|
||||||
"//pc:libjingle_peerconnection",
|
"//pc:libjingle_peerconnection",
|
||||||
"//sdk/android:native_api_base",
|
"//sdk/android:native_api_base",
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
|
#include "api/enable_media_with_defaults.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/task_queue/default_task_queue_factory.h"
|
#include "api/task_queue/default_task_queue_factory.h"
|
||||||
|
@ -20,7 +21,6 @@
|
||||||
#include "media/engine/internal_decoder_factory.h"
|
#include "media/engine/internal_decoder_factory.h"
|
||||||
#include "media/engine/internal_encoder_factory.h"
|
#include "media/engine/internal_encoder_factory.h"
|
||||||
#include "media/engine/webrtc_media_engine.h"
|
#include "media/engine/webrtc_media_engine.h"
|
||||||
#include "media/engine/webrtc_media_engine_defaults.h"
|
|
||||||
#include "sdk/android/native_api/jni/java_types.h"
|
#include "sdk/android/native_api/jni/java_types.h"
|
||||||
#include "sdk/android/native_api/video/wrapper.h"
|
#include "sdk/android/native_api/video/wrapper.h"
|
||||||
|
|
||||||
|
@ -154,19 +154,14 @@ void AndroidCallClient::CreatePeerConnectionFactory() {
|
||||||
pcf_deps.worker_thread = worker_thread_.get();
|
pcf_deps.worker_thread = worker_thread_.get();
|
||||||
pcf_deps.signaling_thread = signaling_thread_.get();
|
pcf_deps.signaling_thread = signaling_thread_.get();
|
||||||
pcf_deps.task_queue_factory = webrtc::CreateDefaultTaskQueueFactory();
|
pcf_deps.task_queue_factory = webrtc::CreateDefaultTaskQueueFactory();
|
||||||
pcf_deps.call_factory = webrtc::CreateCallFactory();
|
|
||||||
pcf_deps.event_log_factory = std::make_unique<webrtc::RtcEventLogFactory>(
|
pcf_deps.event_log_factory = std::make_unique<webrtc::RtcEventLogFactory>(
|
||||||
pcf_deps.task_queue_factory.get());
|
pcf_deps.task_queue_factory.get());
|
||||||
|
|
||||||
cricket::MediaEngineDependencies media_deps;
|
pcf_deps.video_encoder_factory =
|
||||||
media_deps.task_queue_factory = pcf_deps.task_queue_factory.get();
|
|
||||||
media_deps.video_encoder_factory =
|
|
||||||
std::make_unique<webrtc::InternalEncoderFactory>();
|
std::make_unique<webrtc::InternalEncoderFactory>();
|
||||||
media_deps.video_decoder_factory =
|
pcf_deps.video_decoder_factory =
|
||||||
std::make_unique<webrtc::InternalDecoderFactory>();
|
std::make_unique<webrtc::InternalDecoderFactory>();
|
||||||
webrtc::SetMediaEngineDefaults(&media_deps);
|
EnableMediaWithDefaults(pcf_deps);
|
||||||
pcf_deps.media_engine = cricket::CreateMediaEngine(std::move(media_deps));
|
|
||||||
RTC_LOG(LS_INFO) << "Media engine created: " << pcf_deps.media_engine.get();
|
|
||||||
|
|
||||||
pcf_ = CreateModularPeerConnectionFactory(std::move(pcf_deps));
|
pcf_ = CreateModularPeerConnectionFactory(std::move(pcf_deps));
|
||||||
RTC_LOG(LS_INFO) << "PeerConnectionFactory created: " << pcf_.get();
|
RTC_LOG(LS_INFO) << "PeerConnectionFactory created: " << pcf_.get();
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
void SetMediaEngineDefaults(cricket::MediaEngineDependencies* deps) {
|
void DeprecatedSetMediaEngineDefaults(cricket::MediaEngineDependencies* deps) {
|
||||||
RTC_DCHECK(deps);
|
RTC_DCHECK(deps);
|
||||||
if (deps->task_queue_factory == nullptr) {
|
if (deps->task_queue_factory == nullptr) {
|
||||||
static TaskQueueFactory* const task_queue_factory =
|
static TaskQueueFactory* const task_queue_factory =
|
||||||
|
|
|
@ -17,7 +17,13 @@
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
// Sets required but null dependencies with default factories.
|
// Sets required but null dependencies with default factories.
|
||||||
RTC_EXPORT void SetMediaEngineDefaults(cricket::MediaEngineDependencies* deps);
|
// Deprecated in favor of EnableMediaWithDefaults.
|
||||||
|
RTC_EXPORT void DeprecatedSetMediaEngineDefaults(
|
||||||
|
cricket::MediaEngineDependencies* deps);
|
||||||
|
[[deprecated("bugs.webrc.org/15574")]] inline void SetMediaEngineDefaults(
|
||||||
|
cricket::MediaEngineDependencies* deps) {
|
||||||
|
DeprecatedSetMediaEngineDefaults(deps);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|
||||||
|
|
|
@ -324,7 +324,7 @@ TEST(WebRtcMediaEngineTest, FilterRtpExtensionsRemoveRedundantBwe3) {
|
||||||
|
|
||||||
TEST(WebRtcMediaEngineTest, Create) {
|
TEST(WebRtcMediaEngineTest, Create) {
|
||||||
MediaEngineDependencies deps;
|
MediaEngineDependencies deps;
|
||||||
webrtc::SetMediaEngineDefaults(&deps);
|
webrtc::DeprecatedSetMediaEngineDefaults(&deps);
|
||||||
webrtc::test::ScopedKeyValueConfig trials;
|
webrtc::test::ScopedKeyValueConfig trials;
|
||||||
deps.trials = &trials;
|
deps.trials = &trials;
|
||||||
|
|
||||||
|
|
|
@ -2416,6 +2416,7 @@ if (rtc_include_tests && !build_with_chromium) {
|
||||||
"../api:dtls_transport_interface",
|
"../api:dtls_transport_interface",
|
||||||
"../api:dtmf_sender_interface",
|
"../api:dtmf_sender_interface",
|
||||||
"../api:enable_media",
|
"../api:enable_media",
|
||||||
|
"../api:enable_media_with_defaults",
|
||||||
"../api:fake_frame_decryptor",
|
"../api:fake_frame_decryptor",
|
||||||
"../api:fake_frame_encryptor",
|
"../api:fake_frame_encryptor",
|
||||||
"../api:field_trials_view",
|
"../api:field_trials_view",
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||||
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
|
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
|
||||||
#include "api/create_peerconnection_factory.h"
|
#include "api/create_peerconnection_factory.h"
|
||||||
|
#include "api/enable_media_with_defaults.h"
|
||||||
#include "api/peer_connection_interface.h"
|
#include "api/peer_connection_interface.h"
|
||||||
#include "api/stats/rtcstats_objects.h"
|
#include "api/stats/rtcstats_objects.h"
|
||||||
#include "api/task_queue/default_task_queue_factory.h"
|
#include "api/task_queue/default_task_queue_factory.h"
|
||||||
#include "api/video_codecs/builtin_video_decoder_factory.h"
|
#include "api/video_codecs/builtin_video_decoder_factory.h"
|
||||||
#include "api/video_codecs/builtin_video_encoder_factory.h"
|
#include "api/video_codecs/builtin_video_encoder_factory.h"
|
||||||
#include "media/engine/webrtc_media_engine.h"
|
#include "media/engine/webrtc_media_engine.h"
|
||||||
#include "media/engine/webrtc_media_engine_defaults.h"
|
|
||||||
#include "pc/peer_connection_wrapper.h"
|
#include "pc/peer_connection_wrapper.h"
|
||||||
#include "pc/session_description.h"
|
#include "pc/session_description.h"
|
||||||
#include "pc/test/fake_audio_capture_module.h"
|
#include "pc/test/fake_audio_capture_module.h"
|
||||||
|
@ -81,13 +81,8 @@ class PeerConnectionFieldTrialTest : public ::testing::Test {
|
||||||
pcf_deps.signaling_thread = rtc::Thread::Current();
|
pcf_deps.signaling_thread = rtc::Thread::Current();
|
||||||
pcf_deps.trials = std::move(field_trials);
|
pcf_deps.trials = std::move(field_trials);
|
||||||
pcf_deps.task_queue_factory = CreateDefaultTaskQueueFactory();
|
pcf_deps.task_queue_factory = CreateDefaultTaskQueueFactory();
|
||||||
pcf_deps.call_factory = webrtc::CreateCallFactory();
|
pcf_deps.adm = FakeAudioCaptureModule::Create();
|
||||||
cricket::MediaEngineDependencies media_deps;
|
EnableMediaWithDefaults(pcf_deps);
|
||||||
media_deps.task_queue_factory = pcf_deps.task_queue_factory.get();
|
|
||||||
media_deps.adm = FakeAudioCaptureModule::Create();
|
|
||||||
media_deps.trials = pcf_deps.trials.get();
|
|
||||||
webrtc::SetMediaEngineDefaults(&media_deps);
|
|
||||||
pcf_deps.media_engine = cricket::CreateMediaEngine(std::move(media_deps));
|
|
||||||
pc_factory_ = CreateModularPeerConnectionFactory(std::move(pcf_deps));
|
pc_factory_ = CreateModularPeerConnectionFactory(std::move(pcf_deps));
|
||||||
|
|
||||||
// Allow ADAPTER_TYPE_LOOPBACK to create PeerConnections with loopback in
|
// Allow ADAPTER_TYPE_LOOPBACK to create PeerConnections with loopback in
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include "api/call/call_factory_interface.h"
|
#include "api/call/call_factory_interface.h"
|
||||||
#include "api/create_peerconnection_factory.h"
|
#include "api/create_peerconnection_factory.h"
|
||||||
#include "api/data_channel_interface.h"
|
#include "api/data_channel_interface.h"
|
||||||
|
#include "api/enable_media_with_defaults.h"
|
||||||
#include "api/jsep.h"
|
#include "api/jsep.h"
|
||||||
#include "api/media_stream_interface.h"
|
#include "api/media_stream_interface.h"
|
||||||
#include "api/media_types.h"
|
#include "api/media_types.h"
|
||||||
|
@ -53,7 +54,6 @@
|
||||||
#include "media/base/media_engine.h"
|
#include "media/base/media_engine.h"
|
||||||
#include "media/base/stream_params.h"
|
#include "media/base/stream_params.h"
|
||||||
#include "media/engine/webrtc_media_engine.h"
|
#include "media/engine/webrtc_media_engine.h"
|
||||||
#include "media/engine/webrtc_media_engine_defaults.h"
|
|
||||||
#include "media/sctp/sctp_transport_internal.h"
|
#include "media/sctp/sctp_transport_internal.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"
|
||||||
|
@ -641,16 +641,10 @@ class PeerConnectionFactoryForTest : public webrtc::PeerConnectionFactory {
|
||||||
dependencies.signaling_thread = rtc::Thread::Current();
|
dependencies.signaling_thread = rtc::Thread::Current();
|
||||||
dependencies.task_queue_factory = CreateDefaultTaskQueueFactory();
|
dependencies.task_queue_factory = CreateDefaultTaskQueueFactory();
|
||||||
dependencies.trials = std::make_unique<FieldTrialBasedConfig>();
|
dependencies.trials = std::make_unique<FieldTrialBasedConfig>();
|
||||||
cricket::MediaEngineDependencies media_deps;
|
|
||||||
media_deps.task_queue_factory = dependencies.task_queue_factory.get();
|
|
||||||
// Use fake audio device module since we're only testing the interface
|
// Use fake audio device module since we're only testing the interface
|
||||||
// level, and using a real one could make tests flaky when run in parallel.
|
// level, and using a real one could make tests flaky when run in parallel.
|
||||||
media_deps.adm = FakeAudioCaptureModule::Create();
|
dependencies.adm = FakeAudioCaptureModule::Create();
|
||||||
SetMediaEngineDefaults(&media_deps);
|
EnableMediaWithDefaults(dependencies);
|
||||||
media_deps.trials = dependencies.trials.get();
|
|
||||||
dependencies.media_engine =
|
|
||||||
cricket::CreateMediaEngine(std::move(media_deps));
|
|
||||||
dependencies.call_factory = webrtc::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());
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#include "absl/strings/string_view.h"
|
#include "absl/strings/string_view.h"
|
||||||
#include "absl/types/optional.h"
|
#include "absl/types/optional.h"
|
||||||
#include "api/call/call_factory_interface.h"
|
#include "api/call/call_factory_interface.h"
|
||||||
|
#include "api/enable_media_with_defaults.h"
|
||||||
#include "api/field_trials_view.h"
|
#include "api/field_trials_view.h"
|
||||||
#include "api/jsep.h"
|
#include "api/jsep.h"
|
||||||
#include "api/media_stream_interface.h"
|
#include "api/media_stream_interface.h"
|
||||||
|
@ -40,7 +41,6 @@
|
||||||
#include "media/base/media_engine.h"
|
#include "media/base/media_engine.h"
|
||||||
#include "media/base/stream_params.h"
|
#include "media/base/stream_params.h"
|
||||||
#include "media/engine/webrtc_media_engine.h"
|
#include "media/engine/webrtc_media_engine.h"
|
||||||
#include "media/engine/webrtc_media_engine_defaults.h"
|
|
||||||
#include "modules/audio_device/include/audio_device.h"
|
#include "modules/audio_device/include/audio_device.h"
|
||||||
#include "p2p/base/p2p_constants.h"
|
#include "p2p/base/p2p_constants.h"
|
||||||
#include "p2p/base/port_allocator.h"
|
#include "p2p/base/port_allocator.h"
|
||||||
|
@ -84,13 +84,8 @@ PeerConnectionFactoryDependencies CreatePeerConnectionFactoryDependencies() {
|
||||||
dependencies.signaling_thread = rtc::Thread::Current();
|
dependencies.signaling_thread = rtc::Thread::Current();
|
||||||
dependencies.task_queue_factory = CreateDefaultTaskQueueFactory();
|
dependencies.task_queue_factory = CreateDefaultTaskQueueFactory();
|
||||||
dependencies.trials = std::make_unique<FieldTrialBasedConfig>();
|
dependencies.trials = std::make_unique<FieldTrialBasedConfig>();
|
||||||
cricket::MediaEngineDependencies media_deps;
|
dependencies.adm = FakeAudioCaptureModule::Create();
|
||||||
media_deps.task_queue_factory = dependencies.task_queue_factory.get();
|
EnableMediaWithDefaults(dependencies);
|
||||||
media_deps.adm = FakeAudioCaptureModule::Create();
|
|
||||||
media_deps.trials = dependencies.trials.get();
|
|
||||||
SetMediaEngineDefaults(&media_deps);
|
|
||||||
dependencies.media_engine = cricket::CreateMediaEngine(std::move(media_deps));
|
|
||||||
dependencies.call_factory = CreateCallFactory();
|
|
||||||
dependencies.sctp_factory = std::make_unique<FakeSctpTransportFactory>();
|
dependencies.sctp_factory = std::make_unique<FakeSctpTransportFactory>();
|
||||||
return dependencies;
|
return dependencies;
|
||||||
}
|
}
|
||||||
|
|
|
@ -786,7 +786,10 @@ class PeerConnectionIntegrationWrapper : public webrtc::PeerConnectionObserver,
|
||||||
media_deps.task_queue_factory =
|
media_deps.task_queue_factory =
|
||||||
pc_factory_dependencies.task_queue_factory.get();
|
pc_factory_dependencies.task_queue_factory.get();
|
||||||
media_deps.adm = fake_audio_capture_module_;
|
media_deps.adm = fake_audio_capture_module_;
|
||||||
webrtc::SetMediaEngineDefaults(&media_deps);
|
// TODO(bugs.webrtc.org/15574): Migrate this test helper to use EnableMedia
|
||||||
|
// instead of creating media_engine directly. In particular ensure no tests
|
||||||
|
// rely on behaviour where call_factory is set, while media_engine is not.
|
||||||
|
webrtc::DeprecatedSetMediaEngineDefaults(&media_deps);
|
||||||
|
|
||||||
if (reset_encoder_factory) {
|
if (reset_encoder_factory) {
|
||||||
media_deps.video_encoder_factory.reset();
|
media_deps.video_encoder_factory.reset();
|
||||||
|
|
|
@ -1632,6 +1632,7 @@ if (is_android) {
|
||||||
":native_test_jni_onload",
|
":native_test_jni_onload",
|
||||||
":opensles_audio_device_module",
|
":opensles_audio_device_module",
|
||||||
":video_jni",
|
":video_jni",
|
||||||
|
"../../api:enable_media_with_defaults",
|
||||||
"../../api:field_trials_view",
|
"../../api:field_trials_view",
|
||||||
"../../api:scoped_refptr",
|
"../../api:scoped_refptr",
|
||||||
"../../api/rtc_event_log:rtc_event_log_factory",
|
"../../api/rtc_event_log:rtc_event_log_factory",
|
||||||
|
@ -1642,7 +1643,6 @@ if (is_android) {
|
||||||
"../../media:rtc_audio_video",
|
"../../media:rtc_audio_video",
|
||||||
"../../media:rtc_internal_video_codecs",
|
"../../media:rtc_internal_video_codecs",
|
||||||
"../../media:rtc_media_base",
|
"../../media:rtc_media_base",
|
||||||
"../../media:rtc_media_engine_defaults",
|
|
||||||
"../../modules/audio_device",
|
"../../modules/audio_device",
|
||||||
"../../modules/audio_device:mock_audio_device",
|
"../../modules/audio_device:mock_audio_device",
|
||||||
"../../modules/audio_processing:api",
|
"../../modules/audio_processing:api",
|
||||||
|
|
|
@ -11,20 +11,20 @@
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
#include "api/enable_media_with_defaults.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 "media/base/media_engine.h"
|
#include "media/base/media_engine.h"
|
||||||
#include "media/engine/internal_decoder_factory.h"
|
#include "media/engine/internal_decoder_factory.h"
|
||||||
#include "media/engine/internal_encoder_factory.h"
|
#include "media/engine/internal_encoder_factory.h"
|
||||||
#include "media/engine/webrtc_media_engine.h"
|
#include "media/engine/webrtc_media_engine.h"
|
||||||
#include "media/engine/webrtc_media_engine_defaults.h"
|
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.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"
|
||||||
#include "sdk/android/generated_native_unittests_jni/PeerConnectionFactoryInitializationHelper_jni.h"
|
#include "sdk/android/generated_native_unittests_jni/PeerConnectionFactoryInitializationHelper_jni.h"
|
||||||
#include "sdk/android/native_api/audio_device_module/audio_device_android.h"
|
#include "sdk/android/native_api/audio_device_module/audio_device_android.h"
|
||||||
#include "sdk/android/native_api/jni/jvm.h"
|
|
||||||
#include "sdk/android/native_api/jni/application_context_provider.h"
|
#include "sdk/android/native_api/jni/application_context_provider.h"
|
||||||
|
#include "sdk/android/native_api/jni/jvm.h"
|
||||||
#include "sdk/android/src/jni/jni_helpers.h"
|
#include "sdk/android/src/jni/jni_helpers.h"
|
||||||
#include "test/gtest.h"
|
#include "test/gtest.h"
|
||||||
|
|
||||||
|
@ -50,21 +50,15 @@ rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface> CreateTestPCF(
|
||||||
pcf_deps.worker_thread = worker_thread;
|
pcf_deps.worker_thread = worker_thread;
|
||||||
pcf_deps.signaling_thread = signaling_thread;
|
pcf_deps.signaling_thread = signaling_thread;
|
||||||
pcf_deps.task_queue_factory = CreateDefaultTaskQueueFactory();
|
pcf_deps.task_queue_factory = CreateDefaultTaskQueueFactory();
|
||||||
pcf_deps.call_factory = CreateCallFactory();
|
|
||||||
pcf_deps.event_log_factory =
|
pcf_deps.event_log_factory =
|
||||||
std::make_unique<RtcEventLogFactory>(pcf_deps.task_queue_factory.get());
|
std::make_unique<RtcEventLogFactory>(pcf_deps.task_queue_factory.get());
|
||||||
|
|
||||||
cricket::MediaEngineDependencies media_deps;
|
pcf_deps.adm = CreateJavaAudioDeviceModule(jni, GetAppContext(jni).obj());
|
||||||
media_deps.task_queue_factory = pcf_deps.task_queue_factory.get();
|
pcf_deps.video_encoder_factory =
|
||||||
media_deps.adm =
|
|
||||||
CreateJavaAudioDeviceModule(jni, GetAppContext(jni).obj());
|
|
||||||
media_deps.video_encoder_factory =
|
|
||||||
std::make_unique<webrtc::InternalEncoderFactory>();
|
std::make_unique<webrtc::InternalEncoderFactory>();
|
||||||
media_deps.video_decoder_factory =
|
pcf_deps.video_decoder_factory =
|
||||||
std::make_unique<webrtc::InternalDecoderFactory>();
|
std::make_unique<webrtc::InternalDecoderFactory>();
|
||||||
SetMediaEngineDefaults(&media_deps);
|
EnableMediaWithDefaults(pcf_deps);
|
||||||
pcf_deps.media_engine = cricket::CreateMediaEngine(std::move(media_deps));
|
|
||||||
RTC_LOG(LS_INFO) << "Media engine created: " << pcf_deps.media_engine.get();
|
|
||||||
|
|
||||||
auto factory = CreateModularPeerConnectionFactory(std::move(pcf_deps));
|
auto factory = CreateModularPeerConnectionFactory(std::move(pcf_deps));
|
||||||
RTC_LOG(LS_INFO) << "PeerConnectionFactory created: " << factory.get();
|
RTC_LOG(LS_INFO) << "PeerConnectionFactory created: " << factory.get();
|
||||||
|
|
|
@ -117,6 +117,7 @@ if (rtc_include_tests && !build_with_chromium) {
|
||||||
":emulated_network",
|
":emulated_network",
|
||||||
"../:test_support",
|
"../:test_support",
|
||||||
"../../api:callfactory_api",
|
"../../api:callfactory_api",
|
||||||
|
"../../api:enable_media_with_defaults",
|
||||||
"../../api:libjingle_peerconnection_api",
|
"../../api:libjingle_peerconnection_api",
|
||||||
"../../api:scoped_refptr",
|
"../../api:scoped_refptr",
|
||||||
"../../api:simulated_network_api",
|
"../../api:simulated_network_api",
|
||||||
|
@ -125,7 +126,6 @@ if (rtc_include_tests && !build_with_chromium) {
|
||||||
"../../api/transport:field_trial_based_config",
|
"../../api/transport:field_trial_based_config",
|
||||||
"../../call:simulated_network",
|
"../../call:simulated_network",
|
||||||
"../../media:rtc_audio_video",
|
"../../media:rtc_audio_video",
|
||||||
"../../media:rtc_media_engine_defaults",
|
|
||||||
"../../modules/audio_device:test_audio_device_module",
|
"../../modules/audio_device:test_audio_device_module",
|
||||||
"../../p2p:rtc_p2p",
|
"../../p2p:rtc_p2p",
|
||||||
"../../pc:pc_test_utils",
|
"../../pc:pc_test_utils",
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "api/call/call_factory_interface.h"
|
#include "api/enable_media_with_defaults.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"
|
||||||
|
@ -19,7 +19,6 @@
|
||||||
#include "api/transport/field_trial_based_config.h"
|
#include "api/transport/field_trial_based_config.h"
|
||||||
#include "call/simulated_network.h"
|
#include "call/simulated_network.h"
|
||||||
#include "media/engine/webrtc_media_engine.h"
|
#include "media/engine/webrtc_media_engine.h"
|
||||||
#include "media/engine/webrtc_media_engine_defaults.h"
|
|
||||||
#include "modules/audio_device/include/test_audio_device.h"
|
#include "modules/audio_device/include/test_audio_device.h"
|
||||||
#include "p2p/base/basic_packet_socket_factory.h"
|
#include "p2p/base/basic_packet_socket_factory.h"
|
||||||
#include "p2p/client/basic_port_allocator.h"
|
#include "p2p/client/basic_port_allocator.h"
|
||||||
|
@ -57,23 +56,18 @@ rtc::scoped_refptr<PeerConnectionFactoryInterface> CreatePeerConnectionFactory(
|
||||||
rtc::Thread* network_thread) {
|
rtc::Thread* network_thread) {
|
||||||
PeerConnectionFactoryDependencies pcf_deps;
|
PeerConnectionFactoryDependencies pcf_deps;
|
||||||
pcf_deps.task_queue_factory = CreateDefaultTaskQueueFactory();
|
pcf_deps.task_queue_factory = CreateDefaultTaskQueueFactory();
|
||||||
pcf_deps.call_factory = CreateCallFactory();
|
|
||||||
pcf_deps.event_log_factory =
|
pcf_deps.event_log_factory =
|
||||||
std::make_unique<RtcEventLogFactory>(pcf_deps.task_queue_factory.get());
|
std::make_unique<RtcEventLogFactory>(pcf_deps.task_queue_factory.get());
|
||||||
pcf_deps.network_thread = network_thread;
|
pcf_deps.network_thread = network_thread;
|
||||||
pcf_deps.signaling_thread = signaling_thread;
|
pcf_deps.signaling_thread = signaling_thread;
|
||||||
pcf_deps.trials = std::make_unique<FieldTrialBasedConfig>();
|
pcf_deps.trials = std::make_unique<FieldTrialBasedConfig>();
|
||||||
cricket::MediaEngineDependencies media_deps;
|
pcf_deps.adm = TestAudioDeviceModule::Create(
|
||||||
media_deps.task_queue_factory = pcf_deps.task_queue_factory.get();
|
pcf_deps.task_queue_factory.get(),
|
||||||
media_deps.adm = TestAudioDeviceModule::Create(
|
|
||||||
media_deps.task_queue_factory,
|
|
||||||
TestAudioDeviceModule::CreatePulsedNoiseCapturer(kMaxAptitude,
|
TestAudioDeviceModule::CreatePulsedNoiseCapturer(kMaxAptitude,
|
||||||
kSamplingFrequency),
|
kSamplingFrequency),
|
||||||
TestAudioDeviceModule::CreateDiscardRenderer(kSamplingFrequency),
|
TestAudioDeviceModule::CreateDiscardRenderer(kSamplingFrequency),
|
||||||
/*speed=*/1.f);
|
/*speed=*/1.f);
|
||||||
media_deps.trials = pcf_deps.trials.get();
|
EnableMediaWithDefaults(pcf_deps);
|
||||||
SetMediaEngineDefaults(&media_deps);
|
|
||||||
pcf_deps.media_engine = cricket::CreateMediaEngine(std::move(media_deps));
|
|
||||||
return CreateModularPeerConnectionFactory(std::move(pcf_deps));
|
return CreateModularPeerConnectionFactory(std::move(pcf_deps));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -161,7 +161,9 @@ std::unique_ptr<cricket::MediaEngineInterface> CreateMediaEngine(
|
||||||
std::move(pcf_dependencies->video_decoder_factory);
|
std::move(pcf_dependencies->video_decoder_factory);
|
||||||
media_deps.audio_encoder_factory = pcf_dependencies->audio_encoder_factory;
|
media_deps.audio_encoder_factory = pcf_dependencies->audio_encoder_factory;
|
||||||
media_deps.audio_decoder_factory = pcf_dependencies->audio_decoder_factory;
|
media_deps.audio_decoder_factory = pcf_dependencies->audio_decoder_factory;
|
||||||
webrtc::SetMediaEngineDefaults(&media_deps);
|
// TODO(bugs.webrtc.org/15574): Migrate to enabling media with EnableMedia
|
||||||
|
// kind of helper when TimeController aware test helper is implemented.
|
||||||
|
webrtc::DeprecatedSetMediaEngineDefaults(&media_deps);
|
||||||
RTC_DCHECK(pcf_dependencies->trials);
|
RTC_DCHECK(pcf_dependencies->trials);
|
||||||
media_deps.trials = pcf_dependencies->trials.get();
|
media_deps.trials = pcf_dependencies->trials.get();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue