From 03b4f9d1f8a8f990c143fbc36f3b667635503143 Mon Sep 17 00:00:00 2001 From: Danil Chapovalov Date: Thu, 16 May 2019 19:02:10 +0200 Subject: [PATCH] Update android tests to use single argument PeerConnectionFactory factory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: webrtc:10284 Change-Id: Ifd3e2322f6fe01ed7ad9254c7d4e8cddca59b491 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137051 Reviewed-by: Sami Kalliomäki Commit-Queue: Danil Chapovalov Cr-Commit-Position: refs/heads/master@{#27985} --- examples/androidnativeapi/BUILD.gn | 7 +--- .../jni/android_call_client.cc | 37 ++++++++++-------- sdk/android/BUILD.gn | 5 +-- .../peer_connection_factory_unittest.cc | 38 +++++++++++-------- 4 files changed, 48 insertions(+), 39 deletions(-) diff --git a/examples/androidnativeapi/BUILD.gn b/examples/androidnativeapi/BUILD.gn index d8fa13df6f..7faec71b4d 100644 --- a/examples/androidnativeapi/BUILD.gn +++ b/examples/androidnativeapi/BUILD.gn @@ -49,14 +49,11 @@ if (is_android) { ":generated_jni", "../../api:scoped_refptr", "//api:libjingle_peerconnection_api", - "//api/audio_codecs:builtin_audio_decoder_factory", - "//api/audio_codecs:builtin_audio_encoder_factory", - "//api/video:builtin_video_bitrate_allocator_factory", + "//api/task_queue:default_task_queue_factory", "//logging:rtc_event_log_impl_base", "//media:rtc_audio_video", "//media:rtc_internal_video_codecs", - "//modules/audio_processing", - "//modules/audio_processing:api", + "//media:rtc_media_engine_defaults", "//modules/utility", "//pc:libjingle_peerconnection", "//rtc_base", diff --git a/examples/androidnativeapi/jni/android_call_client.cc b/examples/androidnativeapi/jni/android_call_client.cc index 50afe65c21..cdcb71e98b 100644 --- a/examples/androidnativeapi/jni/android_call_client.cc +++ b/examples/androidnativeapi/jni/android_call_client.cc @@ -13,16 +13,14 @@ #include #include "absl/memory/memory.h" -#include "api/audio_codecs/builtin_audio_decoder_factory.h" -#include "api/audio_codecs/builtin_audio_encoder_factory.h" #include "api/peer_connection_interface.h" -#include "api/video/builtin_video_bitrate_allocator_factory.h" +#include "api/task_queue/default_task_queue_factory.h" #include "examples/androidnativeapi/generated_jni/jni/CallClient_jni.h" #include "logging/rtc_event_log/rtc_event_log_factory.h" #include "media/engine/internal_decoder_factory.h" #include "media/engine/internal_encoder_factory.h" #include "media/engine/webrtc_media_engine.h" -#include "modules/audio_processing/include/audio_processing.h" +#include "media/engine/webrtc_media_engine_defaults.h" #include "sdk/android/native_api/jni/java_types.h" #include "sdk/android/native_api/video/wrapper.h" @@ -156,19 +154,26 @@ void AndroidCallClient::CreatePeerConnectionFactory() { signaling_thread_->SetName("signaling_thread", nullptr); RTC_CHECK(signaling_thread_->Start()) << "Failed to start thread"; - std::unique_ptr media_engine = - cricket::WebRtcMediaEngineFactory::Create( - nullptr /* adm */, webrtc::CreateBuiltinAudioEncoderFactory(), - webrtc::CreateBuiltinAudioDecoderFactory(), - absl::make_unique(), - absl::make_unique(), - nullptr /* audio_mixer */, webrtc::AudioProcessingBuilder().Create()); - RTC_LOG(LS_INFO) << "Media engine created: " << media_engine.get(); + webrtc::PeerConnectionFactoryDependencies pcf_deps; + pcf_deps.network_thread = network_thread_.get(); + pcf_deps.worker_thread = worker_thread_.get(); + pcf_deps.signaling_thread = signaling_thread_.get(); + pcf_deps.task_queue_factory = webrtc::CreateDefaultTaskQueueFactory(); + pcf_deps.call_factory = webrtc::CreateCallFactory(); + pcf_deps.event_log_factory = absl::make_unique( + pcf_deps.task_queue_factory.get()); - pcf_ = CreateModularPeerConnectionFactory( - network_thread_.get(), worker_thread_.get(), signaling_thread_.get(), - std::move(media_engine), webrtc::CreateCallFactory(), - webrtc::CreateRtcEventLogFactory()); + cricket::MediaEngineDependencies media_deps; + media_deps.task_queue_factory = pcf_deps.task_queue_factory.get(); + media_deps.video_encoder_factory = + absl::make_unique(); + media_deps.video_decoder_factory = + absl::make_unique(); + webrtc::SetMediaEngineDefaults(&media_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)); RTC_LOG(LS_INFO) << "PeerConnectionFactory created: " << pcf_; } diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn index aa767e19e0..722d0b90a0 100644 --- a/sdk/android/BUILD.gn +++ b/sdk/android/BUILD.gn @@ -1550,16 +1550,15 @@ if (is_android) { ":opensles_audio_device_module", ":video_jni", "../../api:scoped_refptr", - "../../api/audio_codecs:builtin_audio_decoder_factory", - "../../api/audio_codecs:builtin_audio_encoder_factory", + "../../api/task_queue:default_task_queue_factory", "../../api/video:video_frame", "../../logging:rtc_event_log_impl_base", "../../media:rtc_audio_video", "../../media:rtc_internal_video_codecs", "../../media:rtc_media_base", + "../../media:rtc_media_engine_defaults", "../../modules/audio_device", "../../modules/audio_device:mock_audio_device", - "../../modules/audio_processing", "../../modules/audio_processing:api", "../../modules/utility", "../../pc:libjingle_peerconnection", diff --git a/sdk/android/native_unittests/peerconnection/peer_connection_factory_unittest.cc b/sdk/android/native_unittests/peerconnection/peer_connection_factory_unittest.cc index 29c1c8e184..ed302a5b0f 100644 --- a/sdk/android/native_unittests/peerconnection/peer_connection_factory_unittest.cc +++ b/sdk/android/native_unittests/peerconnection/peer_connection_factory_unittest.cc @@ -10,14 +10,13 @@ #include "sdk/android/native_api/peerconnection/peer_connection_factory.h" #include "absl/memory/memory.h" -#include "api/audio_codecs/builtin_audio_decoder_factory.h" -#include "api/audio_codecs/builtin_audio_encoder_factory.h" +#include "api/task_queue/default_task_queue_factory.h" #include "logging/rtc_event_log/rtc_event_log_factory.h" #include "media/base/media_engine.h" #include "media/engine/internal_decoder_factory.h" #include "media/engine/internal_encoder_factory.h" #include "media/engine/webrtc_media_engine.h" -#include "modules/audio_processing/include/audio_processing.h" +#include "media/engine/webrtc_media_engine_defaults.h" #include "rtc_base/logging.h" #include "sdk/android/generated_native_unittests_jni/jni/PeerConnectionFactoryInitializationHelper_jni.h" #include "sdk/android/native_api/audio_device_module/audio_device_android.h" @@ -42,20 +41,29 @@ rtc::scoped_refptr CreateTestPCF( // webrtc/rtc_base/ are convoluted, we simply wrap here to avoid having to // think about ramifications of auto-wrapping there. rtc::ThreadManager::Instance()->WrapCurrentThread(); - auto adm = CreateJavaAudioDeviceModule(jni, GetAppContextForTest(jni).obj()); - std::unique_ptr media_engine = - cricket::WebRtcMediaEngineFactory::Create( - adm, webrtc::CreateBuiltinAudioEncoderFactory(), - webrtc::CreateBuiltinAudioDecoderFactory(), - absl::make_unique(), - absl::make_unique(), - nullptr /* audio_mixer */, webrtc::AudioProcessingBuilder().Create()); - RTC_LOG(LS_INFO) << "Media engine created: " << media_engine.get(); + PeerConnectionFactoryDependencies pcf_deps; + pcf_deps.network_thread = network_thread; + pcf_deps.worker_thread = worker_thread; + pcf_deps.signaling_thread = signaling_thread; + pcf_deps.task_queue_factory = CreateDefaultTaskQueueFactory(); + pcf_deps.call_factory = CreateCallFactory(); + pcf_deps.event_log_factory = + absl::make_unique(pcf_deps.task_queue_factory.get()); - auto factory = CreateModularPeerConnectionFactory( - network_thread, worker_thread, signaling_thread, std::move(media_engine), - webrtc::CreateCallFactory(), webrtc::CreateRtcEventLogFactory()); + cricket::MediaEngineDependencies media_deps; + media_deps.task_queue_factory = pcf_deps.task_queue_factory.get(); + media_deps.adm = + CreateJavaAudioDeviceModule(jni, GetAppContextForTest(jni).obj()); + media_deps.video_encoder_factory = + absl::make_unique(); + media_deps.video_decoder_factory = + absl::make_unique(); + SetMediaEngineDefaults(&media_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)); RTC_LOG(LS_INFO) << "PeerConnectionFactory created: " << factory; RTC_CHECK(factory) << "Failed to create the peer connection factory; " << "WebRTC/libjingle init likely failed on this device";