diff --git a/api/test/network_emulation_manager.h b/api/test/network_emulation_manager.h index 8db1099f40..03a9d2d600 100644 --- a/api/test/network_emulation_manager.h +++ b/api/test/network_emulation_manager.h @@ -159,9 +159,9 @@ class EmulatedNetworkManagerInterface { virtual absl::Nonnull> ReleaseNetworkManager() = 0; - // TODO: bugs.webrtc.org/42232556 - Cleanup usages of this accessor in WebRTC, - // and then deprecate or remove it. - webrtc::webrtc_pc_e2e::PeerNetworkDependencies network_dependencies() { + [[deprecated("bugs.webrtc.org/42232556")]] // + webrtc::webrtc_pc_e2e::PeerNetworkDependencies + network_dependencies() { return {network_thread(), network_manager(), packet_socket_factory()}; } // Returns list of endpoints that are associated with this instance. Pointers diff --git a/api/test/pclf/BUILD.gn b/api/test/pclf/BUILD.gn index e4ae4a5320..d296197fc9 100644 --- a/api/test/pclf/BUILD.gn +++ b/api/test/pclf/BUILD.gn @@ -98,6 +98,7 @@ rtc_library("peer_configurer") { ":media_configuration", ":media_quality_test_params", "../..:async_dns_resolver", + "../..:network_emulation_manager_api", "../../../api:create_peer_connection_quality_test_frame_generator", "../../../api:fec_controller_api", "../../../api:field_trials_view", diff --git a/api/test/pclf/peer_configurer.cc b/api/test/pclf/peer_configurer.cc index e608ee8ee8..1002b62aa4 100644 --- a/api/test/pclf/peer_configurer.cc +++ b/api/test/pclf/peer_configurer.cc @@ -32,6 +32,7 @@ #include "api/scoped_refptr.h" #include "api/test/create_peer_connection_quality_test_frame_generator.h" #include "api/test/frame_generator_interface.h" +#include "api/test/network_emulation_manager.h" #include "api/test/pclf/media_configuration.h" #include "api/test/pclf/media_quality_test_params.h" #include "api/test/peer_network_dependencies.h" @@ -55,6 +56,14 @@ PeerConfigurer::PeerConfigurer( params_(std::make_unique()), configurable_params_(std::make_unique()) {} +PeerConfigurer::PeerConfigurer(EmulatedNetworkManagerInterface& network) + : components_(std::make_unique( + network.network_thread(), + network.network_manager(), + network.packet_socket_factory())), + params_(std::make_unique()), + configurable_params_(std::make_unique()) {} + PeerConfigurer* PeerConfigurer::SetName(absl::string_view name) { params_->name = std::string(name); return this; diff --git a/api/test/pclf/peer_configurer.h b/api/test/pclf/peer_configurer.h index 1cb7c3a6ed..2c835619fb 100644 --- a/api/test/pclf/peer_configurer.h +++ b/api/test/pclf/peer_configurer.h @@ -30,6 +30,7 @@ #include "api/rtc_event_log/rtc_event_log_factory_interface.h" #include "api/scoped_refptr.h" #include "api/test/frame_generator_interface.h" +#include "api/test/network_emulation_manager.h" #include "api/test/pclf/media_configuration.h" #include "api/test/pclf/media_quality_test_params.h" #include "api/test/peer_network_dependencies.h" @@ -50,7 +51,9 @@ class PeerConfigurer { absl::variant, CapturingDeviceIndex>; - explicit PeerConfigurer(const PeerNetworkDependencies& network_dependencies); + [[deprecated("bugs.webrtc.org/42232556")]] explicit PeerConfigurer( + const PeerNetworkDependencies& network_dependencies); + explicit PeerConfigurer(EmulatedNetworkManagerInterface& network); // Sets peer name that will be used to report metrics related to this peer. // If not set, some default name will be assigned. All names have to be diff --git a/pc/test/svc_e2e_tests.cc b/pc/test/svc_e2e_tests.cc index 332e553aff..97187af240 100644 --- a/pc/test/svc_e2e_tests.cc +++ b/pc/test/svc_e2e_tests.cc @@ -71,10 +71,8 @@ CreateTestFixture(absl::string_view test_case_name, auto fixture = webrtc_pc_e2e::CreatePeerConnectionE2EQualityTestFixture( std::string(test_case_name), time_controller, nullptr, std::move(video_quality_analyzer)); - auto alice = std::make_unique( - network_links.first->network_dependencies()); - auto bob = std::make_unique( - network_links.second->network_dependencies()); + auto alice = std::make_unique(*network_links.first); + auto bob = std::make_unique(*network_links.second); alice_configurer(alice.get()); bob_configurer(bob.get()); fixture->AddPeer(std::move(alice)); diff --git a/test/pc/e2e/peer_connection_e2e_smoke_test.cc b/test/pc/e2e/peer_connection_e2e_smoke_test.cc index 41449624f7..e36e4d74f0 100644 --- a/test/pc/e2e/peer_connection_e2e_smoke_test.cc +++ b/test/pc/e2e/peer_connection_e2e_smoke_test.cc @@ -82,8 +82,7 @@ class PeerConnectionE2EQualityTestSmokeTest : public ::testing::Test { void AddPeer(EmulatedNetworkManagerInterface* network, rtc::FunctionView update_configurer) { - auto configurer = - std::make_unique(network->network_dependencies()); + auto configurer = std::make_unique(*network); update_configurer(configurer.get()); fixture_->AddPeer(std::move(configurer)); } diff --git a/test/pc/e2e/peer_connection_quality_test_metric_names_test.cc b/test/pc/e2e/peer_connection_quality_test_metric_names_test.cc index f86f892e11..5d5ceada3f 100644 --- a/test/pc/e2e/peer_connection_quality_test_metric_names_test.cc +++ b/test/pc/e2e/peer_connection_quality_test_metric_names_test.cc @@ -46,17 +46,16 @@ using ::webrtc::webrtc_pc_e2e::PeerConfigurer; // Adds a peer with some audio and video (the client should not care about // details about audio and video configs). -void AddDefaultAudioVideoPeer( - absl::string_view peer_name, - absl::string_view audio_stream_label, - absl::string_view video_stream_label, - const PeerNetworkDependencies& network_dependencies, - PeerConnectionE2EQualityTestFixture& fixture) { +void AddDefaultAudioVideoPeer(absl::string_view peer_name, + absl::string_view audio_stream_label, + absl::string_view video_stream_label, + EmulatedNetworkManagerInterface& network, + PeerConnectionE2EQualityTestFixture& fixture) { AudioConfig audio{.stream_label = std::string(audio_stream_label), .sync_group = std::string(peer_name)}; VideoConfig video(std::string(video_stream_label), 320, 180, 15); video.sync_group = std::string(peer_name); - auto peer = std::make_unique(network_dependencies); + auto peer = std::make_unique(network); peer->SetName(peer_name); peer->SetAudioConfig(std::move(audio)); peer->AddVideoConfig(std::move(video)); @@ -135,9 +134,9 @@ TEST(PeerConnectionE2EQualityTestMetricNamesTest, network_emulation->CreateEmulatedNetworkManagerInterface({bob_endpoint}); AddDefaultAudioVideoPeer("alice", "alice_audio", "alice_video", - alice_network->network_dependencies(), fixture); - AddDefaultAudioVideoPeer("bob", "bob_audio", "bob_video", - bob_network->network_dependencies(), fixture); + *alice_network, fixture); + AddDefaultAudioVideoPeer("bob", "bob_audio", "bob_video", *bob_network, + fixture); fixture.AddQualityMetricsReporter( std::make_unique( std::map>( @@ -1175,9 +1174,9 @@ TEST(PeerConnectionE2EQualityTestMetricNamesTest, network_emulation->CreateEmulatedNetworkManagerInterface({bob_endpoint}); AddDefaultAudioVideoPeer("alice", "alice_audio", "alice_video", - alice_network->network_dependencies(), fixture); - AddDefaultAudioVideoPeer("bob", "bob_audio", "bob_video", - bob_network->network_dependencies(), fixture); + *alice_network, fixture); + AddDefaultAudioVideoPeer("bob", "bob_audio", "bob_video", *bob_network, + fixture); std::string kAliceNetworkLabel = "alice_label"; std::string kBobNetworkLabel = "bob_label"; fixture.AddQualityMetricsReporter( diff --git a/test/pc/e2e/peer_connection_quality_test_test.cc b/test/pc/e2e/peer_connection_quality_test_test.cc index 87e0c3f001..35e299bf37 100644 --- a/test/pc/e2e/peer_connection_quality_test_test.cc +++ b/test/pc/e2e/peer_connection_quality_test_test.cc @@ -116,12 +116,12 @@ TEST_F(PeerConnectionE2EQualityTestTest, OutputVideoIsDumpedWhenRequested) { VideoConfig alice_video("alice_video", 320, 180, 15); alice_video.output_dump_options = VideoDumpOptions(test_directory_); - PeerConfigurer alice(alice_network->network_dependencies()); + PeerConfigurer alice(*alice_network); alice.SetName("alice"); alice.AddVideoConfig(std::move(alice_video)); fixture.AddPeer(std::make_unique(std::move(alice))); - PeerConfigurer bob(bob_network->network_dependencies()); + PeerConfigurer bob(*bob_network); bob.SetName("bob"); fixture.AddPeer(std::make_unique(std::move(bob))); diff --git a/test/pc/e2e/stats_based_network_quality_metrics_reporter_test.cc b/test/pc/e2e/stats_based_network_quality_metrics_reporter_test.cc index 1e423f83b8..d5ecbe8da9 100644 --- a/test/pc/e2e/stats_based_network_quality_metrics_reporter_test.cc +++ b/test/pc/e2e/stats_based_network_quality_metrics_reporter_test.cc @@ -47,17 +47,16 @@ using ::webrtc::webrtc_pc_e2e::PeerConfigurer; // Adds a peer with some audio and video (the client should not care about // details about audio and video configs). -void AddDefaultAudioVideoPeer( - absl::string_view peer_name, - absl::string_view audio_stream_label, - absl::string_view video_stream_label, - const PeerNetworkDependencies& network_dependencies, - PeerConnectionE2EQualityTestFixture& fixture) { +void AddDefaultAudioVideoPeer(absl::string_view peer_name, + absl::string_view audio_stream_label, + absl::string_view video_stream_label, + EmulatedNetworkManagerInterface& network, + PeerConnectionE2EQualityTestFixture& fixture) { AudioConfig audio{.stream_label = std::string(audio_stream_label), .sync_group = std::string(peer_name)}; VideoConfig video(std::string(video_stream_label), 320, 180, 15); video.sync_group = std::string(peer_name); - auto peer = std::make_unique(network_dependencies); + auto peer = std::make_unique(network); peer->SetName(peer_name); peer->SetAudioConfig(std::move(audio)); peer->AddVideoConfig(std::move(video)); @@ -108,9 +107,9 @@ TEST(StatsBasedNetworkQualityMetricsReporterTest, DebugStatsAreCollected) { network_emulation->CreateEmulatedNetworkManagerInterface({bob_endpoint}); AddDefaultAudioVideoPeer("alice", "alice_audio", "alice_video", - alice_network->network_dependencies(), fixture); - AddDefaultAudioVideoPeer("bob", "bob_audio", "bob_video", - bob_network->network_dependencies(), fixture); + *alice_network, fixture); + AddDefaultAudioVideoPeer("bob", "bob_audio", "bob_video", *bob_network, + fixture); auto network_stats_reporter = std::make_unique( diff --git a/video/pc_full_stack_tests.cc b/video/pc_full_stack_tests.cc index 345d090314..c4a053e59e 100644 --- a/video/pc_full_stack_tests.cc +++ b/video/pc_full_stack_tests.cc @@ -60,10 +60,8 @@ CreateTestFixture(const std::string& test_case_name, auto fixture = webrtc_pc_e2e::CreatePeerConnectionE2EQualityTestFixture( test_case_name, time_controller, /*audio_quality_analyzer=*/nullptr, /*video_quality_analyzer=*/nullptr); - auto alice = std::make_unique( - network_links.first->network_dependencies()); - auto bob = std::make_unique( - network_links.second->network_dependencies()); + auto alice = std::make_unique(*network_links.first); + auto bob = std::make_unique(*network_links.second); alice_configurer(alice.get()); bob_configurer(bob.get()); fixture->AddPeer(std::move(alice));