diff --git a/audio/test/pc_low_bandwidth_audio_test.cc b/audio/test/pc_low_bandwidth_audio_test.cc index 8b733d578d..dd9a5c9422 100644 --- a/audio/test/pc_low_bandwidth_audio_test.cc +++ b/audio/test/pc_low_bandwidth_audio_test.cc @@ -134,6 +134,7 @@ TEST(PCLowBandwidthAudioTest, PCGoodNetworkHighBitrate) { [](PeerConfigurer* alice) { AudioConfig audio; audio.stream_label = "alice-audio"; + audio.sync_group = "alice-media"; audio.mode = AudioConfig::Mode::kFile; audio.input_file_name = AudioInputFile(); audio.output_dump_file_name = AudioOutputFile(); @@ -160,6 +161,7 @@ TEST(PCLowBandwidthAudioTest, PC40kbpsNetwork) { [](PeerConfigurer* alice) { AudioConfig audio; audio.stream_label = "alice-audio"; + audio.sync_group = "alice-media"; audio.mode = AudioConfig::Mode::kFile; audio.input_file_name = AudioInputFile(); audio.output_dump_file_name = AudioOutputFile(); diff --git a/pc/rtp_sender.cc b/pc/rtp_sender.cc index 1bbca3c41a..fe3b3b1aa5 100644 --- a/pc/rtp_sender.cc +++ b/pc/rtp_sender.cc @@ -383,6 +383,14 @@ void RtpSenderBase::SetParametersAsync(const RtpParameters& parameters, false); } +void RtpSenderBase::set_stream_ids(const std::vector& stream_ids) { + stream_ids_.clear(); + absl::c_copy_if(stream_ids, std::back_inserter(stream_ids_), + [this](const std::string& stream_id) { + return !absl::c_linear_search(stream_ids_, stream_id); + }); +} + void RtpSenderBase::SetStreams(const std::vector& stream_ids) { set_stream_ids(stream_ids); if (set_streams_observer_) diff --git a/pc/rtp_sender.h b/pc/rtp_sender.h index 29e5f16cfe..6df030f523 100644 --- a/pc/rtp_sender.h +++ b/pc/rtp_sender.h @@ -164,9 +164,8 @@ class RtpSenderBase : public RtpSenderInternal, public ObserverInterface { RTC_DCHECK_RUN_ON(signaling_thread_); return stream_ids_; } - void set_stream_ids(const std::vector& stream_ids) override { - stream_ids_ = stream_ids; - } + // Set stream ids, eliminating duplicates in the process. + void set_stream_ids(const std::vector& stream_ids) override; void SetStreams(const std::vector& stream_ids) override; std::string id() const override { return id_; } diff --git a/pc/rtp_sender_receiver_unittest.cc b/pc/rtp_sender_receiver_unittest.cc index e51b058210..04043437a7 100644 --- a/pc/rtp_sender_receiver_unittest.cc +++ b/pc/rtp_sender_receiver_unittest.cc @@ -1888,6 +1888,15 @@ TEST_F(RtpSenderReceiverTest, EXPECT_TRUE(video_rtp_sender_->SetParameters(parameters).ok()); } +// Checks that the senders SetStreams eliminates duplicate stream ids. +TEST_F(RtpSenderReceiverTest, SenderSetStreamsEliminatesDuplicateIds) { + AddVideoTrack(); + video_rtp_sender_ = + VideoRtpSender::Create(worker_thread_, video_track_->id(), nullptr); + video_rtp_sender_->SetStreams({"1", "2", "1"}); + EXPECT_EQ(video_rtp_sender_->stream_ids().size(), 2u); +} + // Helper method for syntactic sugar for accepting a vector with '{}' notation. std::pair CreatePairOfRidVectors( const std::vector& first, diff --git a/pc/test/svc_e2e_tests.cc b/pc/test/svc_e2e_tests.cc index dea0763758..c6ecab7ca5 100644 --- a/pc/test/svc_e2e_tests.cc +++ b/pc/test/svc_e2e_tests.cc @@ -329,6 +329,7 @@ TEST_P(SvcTest, ScalabilityModeSupported) { [this](PeerConfigurer* alice) { VideoConfig video(/*stream_label=*/"alice-video", /*width=*/1850, /*height=*/1110, /*fps=*/30); + video.sync_group = "alice-media"; if (IsSMode()) { video.emulated_sfu_config = EmulatedSFUConfig( SvcTestParameters().expected_spatial_layers - 1, diff --git a/test/pc/e2e/peer_connection_e2e_smoke_test.cc b/test/pc/e2e/peer_connection_e2e_smoke_test.cc index 0e7993e5be..cb44da2821 100644 --- a/test/pc/e2e/peer_connection_e2e_smoke_test.cc +++ b/test/pc/e2e/peer_connection_e2e_smoke_test.cc @@ -138,11 +138,11 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Smoke) { AudioConfig audio; audio.stream_label = "alice-audio"; + audio.sync_group = "alice-media"; audio.mode = AudioConfig::Mode::kFile; audio.input_file_name = test::ResourcePath("pc_quality_smoke_test_alice_source", "wav"); audio.sampling_frequency_in_hz = 48000; - audio.sync_group = "alice-media"; alice->SetAudioConfig(std::move(audio)); alice->SetVideoCodecs( {VideoCodecConfig(cricket::kVp9CodecName, {{"profile-id", "0"}})}); @@ -155,11 +155,13 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Smoke) { charlie->SetName("charlie"); VideoConfig video(160, 120, 15); video.stream_label = "charlie-video"; + video.sync_group = "charlie-media"; video.temporal_layers_count = 2; charlie->AddVideoConfig(std::move(video)); AudioConfig audio; audio.stream_label = "charlie-audio"; + audio.sync_group = "charlie-media"; audio.mode = AudioConfig::Mode::kFile; audio.input_file_name = test::ResourcePath("pc_quality_smoke_test_bob_source", "wav"); @@ -226,11 +228,13 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, charlie->SetName("charlie"); VideoConfig video(160, 120, 15); video.stream_label = "charlie-video"; + video.sync_group = "charlie-media"; video.temporal_layers_count = 2; charlie->AddVideoConfig(std::move(video)); AudioConfig audio; audio.stream_label = "charlie-audio"; + audio.sync_group = "charlie-media"; audio.mode = AudioConfig::Mode::kFile; audio.input_file_name = test::ResourcePath("pc_quality_smoke_test_bob_source", "wav"); @@ -276,11 +280,13 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, SmokeH264) { charlie->SetName("charlie"); VideoConfig video(160, 120, 15); video.stream_label = "charlie-video"; + video.sync_group = "charlie-media"; video.temporal_layers_count = 2; charlie->AddVideoConfig(std::move(video)); AudioConfig audio; audio.stream_label = "charlie-audio"; + audio.sync_group = "charlie-media"; audio.mode = AudioConfig::Mode::kFile; audio.input_file_name = test::ResourcePath("pc_quality_smoke_test_bob_source", "wav"); @@ -387,6 +393,7 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Screenshare) { AddPeer(network_links.first, [](PeerConfigurer* alice) { VideoConfig screenshare(320, 180, 30); screenshare.stream_label = "alice-screenshare"; + screenshare.sync_group = "alice-media"; screenshare.content_hint = VideoTrackInterface::ContentHint::kText; ScreenShareConfig screen_share_config = ScreenShareConfig(TimeDelta::Seconds(2)); @@ -413,6 +420,7 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Echo) { AddPeer(network_links.first, [](PeerConfigurer* alice) { AudioConfig audio; audio.stream_label = "alice-audio"; + audio.sync_group = "alice-media"; audio.mode = AudioConfig::Mode::kFile; audio.input_file_name = test::ResourcePath("pc_quality_smoke_test_alice_source", "wav"); @@ -422,6 +430,7 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Echo) { AddPeer(network_links.second, [](PeerConfigurer* bob) { AudioConfig audio; audio.stream_label = "bob-audio"; + audio.sync_group = "bob-media"; audio.mode = AudioConfig::Mode::kFile; audio.input_file_name = test::ResourcePath("pc_quality_smoke_test_bob_source", "wav"); @@ -444,12 +453,14 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Simulcast) { AddPeer(network_links.first, [](PeerConfigurer* alice) { VideoConfig simulcast(1280, 720, 15); simulcast.stream_label = "alice-simulcast"; + simulcast.sync_group = "alice-media"; simulcast.simulcast_config = VideoSimulcastConfig(2); simulcast.emulated_sfu_config = EmulatedSFUConfig(0); alice->AddVideoConfig(std::move(simulcast)); AudioConfig audio; audio.stream_label = "alice-audio"; + audio.sync_group = "alice-media"; audio.mode = AudioConfig::Mode::kFile; audio.input_file_name = test::ResourcePath("pc_quality_smoke_test_alice_source", "wav"); @@ -470,14 +481,18 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Svc) { std::pair network_links = CreateNetwork(); AddPeer(network_links.first, [](PeerConfigurer* alice) { - VideoConfig simulcast("alice-svc", 1280, 720, 15); + VideoConfig simulcast(1280, 720, 15); + simulcast.stream_label = "alice-svc"; + simulcast.sync_group = "alice-media"; // Because we have network with packets loss we can analyze only the // highest spatial layer in SVC mode. simulcast.simulcast_config = VideoSimulcastConfig(2); simulcast.emulated_sfu_config = EmulatedSFUConfig(1); alice->AddVideoConfig(std::move(simulcast)); - AudioConfig audio("alice-audio"); + AudioConfig audio; + audio.stream_label = "alice-audio"; + audio.sync_group = "alice-media"; audio.mode = AudioConfig::Mode::kFile; audio.input_file_name = test::ResourcePath("pc_quality_smoke_test_alice_source", "wav"); @@ -507,6 +522,7 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_HighBitrate) { alice->SetBitrateSettings(bitrate_settings); VideoConfig video(800, 600, 15); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; RtpEncodingParameters encoding_parameters; encoding_parameters.min_bitrate_bps = 500'000; encoding_parameters.max_bitrate_bps = 3'000'000; @@ -515,6 +531,7 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_HighBitrate) { AudioConfig audio; audio.stream_label = "alice-audio"; + audio.sync_group = "alice-media"; audio.mode = AudioConfig::Mode::kFile; audio.input_file_name = test::ResourcePath("pc_quality_smoke_test_alice_source", "wav"); diff --git a/test/pc/e2e/peer_connection_quality_test_test.cc b/test/pc/e2e/peer_connection_quality_test_test.cc index 066fe7d8ee..c1936559ee 100644 --- a/test/pc/e2e/peer_connection_quality_test_test.cc +++ b/test/pc/e2e/peer_connection_quality_test_test.cc @@ -114,7 +114,9 @@ TEST_F(PeerConnectionE2EQualityTestTest, OutputVideoIsDumpedWhenRequested) { EmulatedNetworkManagerInterface* bob_network = network_emulation->CreateEmulatedNetworkManagerInterface({bob_endpoint}); - VideoConfig alice_video("alice_video", 320, 180, 15); + VideoConfig alice_video(320, 180, 15); + alice_video.stream_label = "alice-video"; + alice_video.sync_group = "alice-media"; alice_video.output_dump_options = VideoDumpOptions(test_directory_); PeerConfigurer alice(alice_network->network_dependencies()); alice.SetName("alice"); @@ -128,7 +130,7 @@ TEST_F(PeerConnectionE2EQualityTestTest, OutputVideoIsDumpedWhenRequested) { fixture.Run(RunParams(TimeDelta::Seconds(2))); auto frame_reader = test::CreateY4mFrameReader( - test::JoinFilename(test_directory_, "alice_video_bob_320x180_15.y4m")); + test::JoinFilename(test_directory_, "alice-video_bob_320x180_15.y4m")); EXPECT_THAT(frame_reader->num_frames(), Eq(31)); // 2 seconds 15 fps + 1 ExpectOutputFilesCount(1); diff --git a/video/pc_full_stack_tests.cc b/video/pc_full_stack_tests.cc index 83b06830e0..43180083e1 100644 --- a/video/pc_full_stack_tests.cc +++ b/video/pc_full_stack_tests.cc @@ -133,6 +133,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_Net_Delay_0_0_Plr_0_VP9) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -164,6 +165,7 @@ TEST(PCGenericDescriptorTest, [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -202,6 +204,7 @@ TEST(PCFullStackTest, MAYBE_Pc_Generator_Net_Delay_0_0_Plr_0_VP9Profile2) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateSquareFrameGenerator( video, test::FrameGeneratorInterface::OutputType::kI010); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -261,6 +264,7 @@ TEST(PCFullStackTest, Pc_Net_Delay_0_0_Plr_0) { [](PeerConfigurer* alice) { VideoConfig video(176, 144, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("paris_qcif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -281,6 +285,7 @@ TEST(PCGenericDescriptorTest, [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -301,6 +306,7 @@ TEST(PCGenericDescriptorTest, [](PeerConfigurer* alice) { VideoConfig video(352, 288, 10); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -329,6 +335,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_Link_150kbps_Net_Delay_0_0_Plr_0) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -351,6 +358,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_Link_130kbps_Delay100ms_Loss1_Ulpfec) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -374,6 +382,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_Link_50kbps_Delay100ms_Loss1_Ulpfec) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -399,6 +408,7 @@ TEST(PCFullStackTest, [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -427,6 +437,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_Link_250kbps_Delay100ms_10pkts_Loss1) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -450,6 +461,7 @@ TEST(PCGenericDescriptorTest, [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -472,6 +484,7 @@ TEST(PCGenericDescriptorTest, [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -494,6 +507,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_Delay_50_0_Plr_5_Flexfec) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -519,6 +533,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_500kbps_Delay_50_0_Plr_3_Flexfec) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -544,6 +559,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_500kbps_Delay_50_0_Plr_3_Ulpfec) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -565,6 +581,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_Net_Delay_0_0_Plr_0_H264) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -587,6 +604,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_30kbps_Net_Delay_0_0_Plr_0_H264) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 10); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -618,6 +636,7 @@ TEST(PCGenericDescriptorTest, [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -645,6 +664,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_Delay_50_0_Plr_5_H264_Sps_Pps_Idr) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -669,6 +689,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_Delay_50_0_Plr_5_H264_Flexfec) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -699,6 +720,7 @@ TEST(PCFullStackTest, DISABLED_Pc_Foreman_Cif_Delay_50_0_Plr_5_H264_Ulpfec) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -726,6 +748,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_500kbps) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -748,6 +771,7 @@ TEST_P(ParameterizedPCFullStackTest, Pc_Foreman_Cif_500kbps_32pkts_Queue) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -777,6 +801,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_500kbps_100ms) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -800,6 +825,7 @@ TEST(PCGenericDescriptorTest, [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -843,6 +869,7 @@ TEST(PCFullStackTest, Pc_Foreman_Cif_1000kbps_100ms_32pkts_Queue) { [](PeerConfigurer* alice) { VideoConfig video(352, 288, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("foreman_cif")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -866,6 +893,7 @@ TEST(PCFullStackTest, Pc_Conference_Motion_Hd_2000kbps_100ms_32pkts_Queue) { [](PeerConfigurer* alice) { VideoConfig video(1280, 720, 50); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("ConferenceMotion_1280_720_50")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -1017,6 +1045,7 @@ TEST_P(ParameterizedPCFullStackTest, [](PeerConfigurer* alice) { VideoConfig video(1280, 720, 50); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("ConferenceMotion_1280_720_50")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -1052,6 +1081,7 @@ TEST(PCFullStackTest, Pc_Screenshare_Slides_No_Conference_Mode) { [](PeerConfigurer* alice) { VideoConfig video(1850, 1110, 5); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; video.content_hint = VideoTrackInterface::ContentHint::kText; auto frame_generator = CreateScreenShareFrameGenerator( video, ScreenShareConfig(TimeDelta::Seconds(10))); @@ -1071,6 +1101,7 @@ TEST(PCFullStackTest, Pc_Screenshare_Slides) { [](PeerConfigurer* alice) { VideoConfig video(1850, 1110, 5); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; video.content_hint = VideoTrackInterface::ContentHint::kText; auto frame_generator = CreateScreenShareFrameGenerator( video, ScreenShareConfig(TimeDelta::Seconds(10))); @@ -1098,6 +1129,7 @@ TEST(PCFullStackTest, Pc_Screenshare_Slides_Simulcast_No_Conference_Mode) { video.emulated_sfu_config = EmulatedSFUConfig(1); video.temporal_layers_count = 2; video.stream_label = "alice-video"; + video.sync_group = "alice-media"; video.content_hint = VideoTrackInterface::ContentHint::kText; auto frame_generator = CreateScreenShareFrameGenerator( video, ScreenShareConfig(TimeDelta::Seconds(10))); @@ -1121,6 +1153,7 @@ TEST_P(ParameterizedPCFullStackTest, Pc_Screenshare_Slides_Simulcast) { video.emulated_sfu_config = EmulatedSFUConfig(1); video.temporal_layers_count = 2; video.stream_label = "alice-video"; + video.sync_group = "alice-media"; video.content_hint = VideoTrackInterface::ContentHint::kText; auto frame_generator = CreateScreenShareFrameGenerator( video, ScreenShareConfig(TimeDelta::Seconds(10))); @@ -1331,6 +1364,7 @@ TEST(PCFullStackTest, Pc_Screenshare_Slides_Vp9_3sl_High_Fps) { [](PeerConfigurer* alice) { VideoConfig video(1850, 1110, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; video.simulcast_config = VideoSimulcastConfig(3); video.emulated_sfu_config = EmulatedSFUConfig(2); video.content_hint = VideoTrackInterface::ContentHint::kText; @@ -1364,6 +1398,7 @@ TEST(PCFullStackTest, Pc_Vp9svc_3sl_High) { [](PeerConfigurer* alice) { VideoConfig video(1280, 720, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; video.simulcast_config = VideoSimulcastConfig(3); video.emulated_sfu_config = EmulatedSFUConfig(2); video.temporal_layers_count = 3; @@ -1397,6 +1432,7 @@ TEST(PCFullStackTest, Pc_Vp9svc_3sl_Low) { [](PeerConfigurer* alice) { VideoConfig video(1280, 720, 30); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; video.simulcast_config = VideoSimulcastConfig(3); video.emulated_sfu_config = EmulatedSFUConfig(0); video.temporal_layers_count = 3; @@ -1533,6 +1569,7 @@ TEST(PCFullStackTest, MAYBE_Pc_Simulcast_HD_High) { video.emulated_sfu_config = EmulatedSFUConfig(2); video.temporal_layers_count = 3; video.stream_label = "alice-video"; + video.sync_group = "alice-media"; alice->AddVideoConfig(std::move(video)); }, [](PeerConfigurer* bob) {}); @@ -1554,6 +1591,7 @@ TEST_P(ParameterizedPCFullStackTest, Pc_Simulcast_Vp8_3sl_High) { video.simulcast_config = VideoSimulcastConfig(3); video.emulated_sfu_config = EmulatedSFUConfig(2); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("ConferenceMotion_1280_720_50")); alice->AddVideoConfig(std::move(video), std::move(frame_generator)); @@ -1583,6 +1621,7 @@ TEST(PCFullStackTest, Pc_Simulcast_Vp8_3sl_Low) { video.simulcast_config = VideoSimulcastConfig(3); video.emulated_sfu_config = EmulatedSFUConfig(0); video.stream_label = "alice-video"; + video.sync_group = "alice-media"; auto frame_generator = CreateFromYuvFileFrameGenerator( video, ClipNameToClipPath("ConferenceMotion_1280_720_50")); alice->AddVideoConfig(std::move(video), std::move(frame_generator));