diff options
Diffstat (limited to 'test/pc')
-rw-r--r-- | test/pc/e2e/BUILD.gn | 3 | ||||
-rw-r--r-- | test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.cc | 2 | ||||
-rw-r--r-- | test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc | 34 | ||||
-rw-r--r-- | test/pc/e2e/analyzer/video/default_video_quality_analyzer.h | 2 | ||||
-rw-r--r-- | test/pc/e2e/analyzer/video/default_video_quality_analyzer_test.cc | 14 | ||||
-rw-r--r-- | test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc | 10 | ||||
-rw-r--r-- | test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h | 3 | ||||
-rw-r--r-- | test/pc/e2e/media/media_helper.cc | 2 | ||||
-rw-r--r-- | test/pc/e2e/stats_based_network_quality_metrics_reporter.cc | 2 | ||||
-rw-r--r-- | test/pc/e2e/stats_poller.cc | 2 | ||||
-rw-r--r-- | test/pc/e2e/test_peer_factory.cc | 6 | ||||
-rw-r--r-- | test/pc/sctp/fake_sctp_transport.h | 3 |
12 files changed, 34 insertions, 49 deletions
diff --git a/test/pc/e2e/BUILD.gn b/test/pc/e2e/BUILD.gn index 95b0a2a31c..9e9d5c2db5 100644 --- a/test/pc/e2e/BUILD.gn +++ b/test/pc/e2e/BUILD.gn @@ -289,6 +289,7 @@ if (!build_with_chromium) { "../../../api:peer_connection_quality_test_fixture_api", "../../../api/video:video_frame", "../../../pc:peerconnection", + "../../../pc:session_description", "../../../pc:video_track_source", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:variant" ] @@ -737,6 +738,8 @@ if (!build_with_chromium) { "../../../p2p:rtc_p2p", "../../../pc:peerconnection", "../../../pc:rtc_pc_base", + "../../../pc:session_description", + "../../../pc:simulcast_description", "../../../rtc_base:stringutils", ] absl_deps = [ diff --git a/test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.cc b/test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.cc index 8830436b09..30c17c1ca9 100644 --- a/test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.cc +++ b/test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.cc @@ -26,7 +26,7 @@ void DefaultAudioQualityAnalyzer::Start(std::string test_case_name, void DefaultAudioQualityAnalyzer::OnStatsReports( absl::string_view pc_label, const rtc::scoped_refptr<const RTCStatsReport>& report) { - // TODO(https://crbug.com/webrtc/11683): use "inbound-rtp" instead of "track" + // TODO(https://crbug.com/webrtc/11789): use "inbound-rtp" instead of "track" // stats when required audio metrics moved there auto stats = report->GetStatsOfType<RTCMediaStreamTrackStats>(); diff --git a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc index 7d523897e6..53fb14e606 100644 --- a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc +++ b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc @@ -21,6 +21,7 @@ #include "common_video/libyuv/include/webrtc_libyuv.h" #include "rtc_base/cpu_time.h" #include "rtc_base/logging.h" +#include "rtc_base/platform_thread.h" #include "rtc_base/strings/string_builder.h" #include "rtc_base/time_utils.h" #include "rtc_tools/frame_analyzer/video_geometry_aligner.h" @@ -141,12 +142,9 @@ void DefaultVideoQualityAnalyzer::Start( int max_threads_count) { test_label_ = std::move(test_case_name); for (int i = 0; i < max_threads_count; i++) { - auto thread = std::make_unique<rtc::PlatformThread>( - &DefaultVideoQualityAnalyzer::ProcessComparisonsThread, this, - ("DefaultVideoQualityAnalyzerWorker-" + std::to_string(i)).data(), - rtc::ThreadPriority::kNormalPriority); - thread->Start(); - thread_pool_.push_back(std::move(thread)); + thread_pool_.push_back(rtc::PlatformThread::SpawnJoinable( + [this] { ProcessComparisons(); }, + "DefaultVideoQualityAnalyzerWorker-" + std::to_string(i))); } { MutexLock lock(&lock_); @@ -352,17 +350,16 @@ void DefaultVideoQualityAnalyzer::OnFramePreDecode( stream_frame_counters_.at(key).received++; // Determine the time of the last received packet of this video frame. RTC_DCHECK(!input_image.PacketInfos().empty()); - int64_t last_receive_time = + Timestamp last_receive_time = std::max_element(input_image.PacketInfos().cbegin(), input_image.PacketInfos().cend(), [](const RtpPacketInfo& a, const RtpPacketInfo& b) { - return a.receive_time_ms() < b.receive_time_ms(); + return a.receive_time() < b.receive_time(); }) - ->receive_time_ms(); - it->second.OnFramePreDecode( - peer_index, - /*received_time=*/Timestamp::Millis(last_receive_time), - /*decode_start_time=*/Now()); + ->receive_time(); + it->second.OnFramePreDecode(peer_index, + /*received_time=*/last_receive_time, + /*decode_start_time=*/Now()); } void DefaultVideoQualityAnalyzer::OnFrameDecoded( @@ -547,10 +544,6 @@ void DefaultVideoQualityAnalyzer::Stop() { } StopMeasuringCpuProcessTime(); comparison_available_event_.Set(); - for (auto& thread : thread_pool_) { - thread->Stop(); - } - // PlatformThread have to be deleted on the same thread, where it was created thread_pool_.clear(); // Perform final Metrics update. On this place analyzer is stopped and no one @@ -677,10 +670,6 @@ void DefaultVideoQualityAnalyzer::AddComparison( StopExcludingCpuThreadTime(); } -void DefaultVideoQualityAnalyzer::ProcessComparisonsThread(void* obj) { - static_cast<DefaultVideoQualityAnalyzer*>(obj)->ProcessComparisons(); -} - void DefaultVideoQualityAnalyzer::ProcessComparisons() { while (true) { // Try to pick next comparison to perform from the queue. @@ -926,6 +915,9 @@ void DefaultVideoQualityAnalyzer::ReportResults( frame_counters.dropped, "count", /*important=*/false, ImproveDirection::kSmallerIsBetter); + test::PrintResult("rendered_frames", "", test_case_name, + frame_counters.rendered, "count", /*important=*/false, + ImproveDirection::kBiggerIsBetter); ReportResult("max_skipped", test_case_name, stats.skipped_between_rendered, "count", ImproveDirection::kSmallerIsBetter); ReportResult("target_encode_bitrate", test_case_name, diff --git a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h index de9419dda9..626fa246e5 100644 --- a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h +++ b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h @@ -560,7 +560,7 @@ class DefaultVideoQualityAnalyzer : public VideoQualityAnalyzerInterface { std::deque<FrameComparison> comparisons_ RTC_GUARDED_BY(comparison_lock_); AnalyzerStats analyzer_stats_ RTC_GUARDED_BY(comparison_lock_); - std::vector<std::unique_ptr<rtc::PlatformThread>> thread_pool_; + std::vector<rtc::PlatformThread> thread_pool_; rtc::Event comparison_available_event_; Mutex cpu_measurement_lock_; diff --git a/test/pc/e2e/analyzer/video/default_video_quality_analyzer_test.cc b/test/pc/e2e/analyzer/video/default_video_quality_analyzer_test.cc index 4cdc681012..8d8a1af848 100644 --- a/test/pc/e2e/analyzer/video/default_video_quality_analyzer_test.cc +++ b/test/pc/e2e/analyzer/video/default_video_quality_analyzer_test.cc @@ -63,13 +63,13 @@ VideoFrame NextFrame(test::FrameGeneratorInterface* frame_generator, EncodedImage FakeEncode(const VideoFrame& frame) { EncodedImage image; std::vector<RtpPacketInfo> packet_infos; - packet_infos.push_back( - RtpPacketInfo(/*ssrc=*/1, - /*csrcs=*/{}, - /*rtp_timestamp=*/frame.timestamp(), - /*audio_level=*/absl::nullopt, - /*absolute_capture_time=*/absl::nullopt, - /*receive_time_ms=*/frame.timestamp_us() + 10)); + packet_infos.push_back(RtpPacketInfo( + /*ssrc=*/1, + /*csrcs=*/{}, + /*rtp_timestamp=*/frame.timestamp(), + /*audio_level=*/absl::nullopt, + /*absolute_capture_time=*/absl::nullopt, + /*receive_time=*/Timestamp::Micros(frame.timestamp_us() + 10000))); image.SetPacketInfos(RtpPacketInfos(packet_infos)); return image; } diff --git a/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc b/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc index c8b586221c..68b76cd37d 100644 --- a/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc +++ b/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc @@ -255,15 +255,5 @@ QualityAnalyzingVideoDecoderFactory::CreateVideoDecoder( peer_name_, std::move(decoder), extractor_, analyzer_); } -std::unique_ptr<VideoDecoder> -QualityAnalyzingVideoDecoderFactory::LegacyCreateVideoDecoder( - const SdpVideoFormat& format, - const std::string& receive_stream_id) { - std::unique_ptr<VideoDecoder> decoder = - delegate_->LegacyCreateVideoDecoder(format, receive_stream_id); - return std::make_unique<QualityAnalyzingVideoDecoder>( - peer_name_, std::move(decoder), extractor_, analyzer_); -} - } // namespace webrtc_pc_e2e } // namespace webrtc diff --git a/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h b/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h index a969a5b687..e150c91cb4 100644 --- a/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h +++ b/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h @@ -136,9 +136,6 @@ class QualityAnalyzingVideoDecoderFactory : public VideoDecoderFactory { std::vector<SdpVideoFormat> GetSupportedFormats() const override; std::unique_ptr<VideoDecoder> CreateVideoDecoder( const SdpVideoFormat& format) override; - std::unique_ptr<VideoDecoder> LegacyCreateVideoDecoder( - const SdpVideoFormat& format, - const std::string& receive_stream_id) override; private: const std::string peer_name_; diff --git a/test/pc/e2e/media/media_helper.cc b/test/pc/e2e/media/media_helper.cc index d1c27838a6..6b1996adaa 100644 --- a/test/pc/e2e/media/media_helper.cc +++ b/test/pc/e2e/media/media_helper.cc @@ -64,7 +64,7 @@ MediaHelper::MaybeAddVideo(TestPeer* peer) { video_config.content_hint == VideoTrackInterface::ContentHint::kDetailed; rtc::scoped_refptr<TestVideoCapturerVideoTrackSource> source = - new rtc::RefCountedObject<TestVideoCapturerVideoTrackSource>( + rtc::make_ref_counted<TestVideoCapturerVideoTrackSource>( std::move(capturer), is_screencast); out.push_back(source); RTC_LOG(INFO) << "Adding video with video_config.stream_label=" diff --git a/test/pc/e2e/stats_based_network_quality_metrics_reporter.cc b/test/pc/e2e/stats_based_network_quality_metrics_reporter.cc index 2bc5344165..eb676a92bd 100644 --- a/test/pc/e2e/stats_based_network_quality_metrics_reporter.cc +++ b/test/pc/e2e/stats_based_network_quality_metrics_reporter.cc @@ -215,7 +215,7 @@ void StatsBasedNetworkQualityMetricsReporter::ReportStats( ReportResult("bytes_discarded_no_receiver", pc_label, network_layer_stats.stats->BytesDropped().bytes(), "sizeInBytes"); - ReportResult("packets_discarded_no_recevier", pc_label, + ReportResult("packets_discarded_no_receiver", pc_label, network_layer_stats.stats->PacketsDropped(), "unitless"); ReportResult("payload_bytes_received", pc_label, diff --git a/test/pc/e2e/stats_poller.cc b/test/pc/e2e/stats_poller.cc index e6973e6af1..5f1424cd29 100644 --- a/test/pc/e2e/stats_poller.cc +++ b/test/pc/e2e/stats_poller.cc @@ -31,7 +31,7 @@ void InternalStatsObserver::OnStatsDelivered( StatsPoller::StatsPoller(std::vector<StatsObserverInterface*> observers, std::map<std::string, TestPeer*> peers) { for (auto& peer : peers) { - pollers_.push_back(new rtc::RefCountedObject<InternalStatsObserver>( + pollers_.push_back(rtc::make_ref_counted<InternalStatsObserver>( peer.first, peer.second, observers)); } } diff --git a/test/pc/e2e/test_peer_factory.cc b/test/pc/e2e/test_peer_factory.cc index eceec778df..869b40f703 100644 --- a/test/pc/e2e/test_peer_factory.cc +++ b/test/pc/e2e/test_peer_factory.cc @@ -348,8 +348,10 @@ std::unique_ptr<TestPeer> TestPeerFactory::CreateTestPeer( PeerConnectionDependencies pc_deps = CreatePCDependencies( observer.get(), std::move(components->pc_dependencies)); rtc::scoped_refptr<PeerConnectionInterface> peer_connection = - peer_connection_factory->CreatePeerConnection(params->rtc_configuration, - std::move(pc_deps)); + peer_connection_factory + ->CreatePeerConnectionOrError(params->rtc_configuration, + std::move(pc_deps)) + .MoveValue(); peer_connection->SetBitrate(params->bitrate_settings); return absl::WrapUnique(new TestPeer( diff --git a/test/pc/sctp/fake_sctp_transport.h b/test/pc/sctp/fake_sctp_transport.h index fa4cdc4920..42b978a900 100644 --- a/test/pc/sctp/fake_sctp_transport.h +++ b/test/pc/sctp/fake_sctp_transport.h @@ -29,7 +29,8 @@ class FakeSctpTransport : public cricket::SctpTransportInternal { } bool OpenStream(int sid) override { return true; } bool ResetStream(int sid) override { return true; } - bool SendData(const cricket::SendDataParams& params, + bool SendData(int sid, + const webrtc::SendDataParams& params, const rtc::CopyOnWriteBuffer& payload, cricket::SendDataResult* result = nullptr) override { return true; |