[DVQA] Don't check if peer exists on Pause/Resume.
Change-Id: I0f26444c6a420017caaa4c27520e75e4146ecfd4
Bug: webrtc:14995
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299077
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39689}
diff --git a/api/test/video_quality_analyzer_interface.h b/api/test/video_quality_analyzer_interface.h
index f20ae3e..1ea59f7 100644
--- a/api/test/video_quality_analyzer_interface.h
+++ b/api/test/video_quality_analyzer_interface.h
@@ -150,13 +150,15 @@
// call.
virtual void UnregisterParticipantInCall(absl::string_view peer_name) {}
- // Informs analyzer that peer `receiver_peer_name` shouldn't receive all
- // streams from sender `sender_peer_name`.
+ // Informs analyzer that peer `receiver_peer_name` should not receive any
+ // stream from sender `sender_peer_name`.
+ // This method is a no-op if the sender or the receiver does not exist.
virtual void OnPauseAllStreamsFrom(absl::string_view sender_peer_name,
absl::string_view receiver_peer_name) {}
// Informs analyzer that peer `receiver_peer_name` is expected to receive all
// streams from `sender_peer_name`.
+ // This method is a no-op if the sender or the receiver does not exist.
virtual void OnResumeAllStreamsFrom(absl::string_view sender_peer_name,
absl::string_view receiver_peer_name) {}
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 ebd20b6..d39a068 100644
--- a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc
+++ b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc
@@ -723,14 +723,14 @@
absl::string_view sender_peer_name,
absl::string_view receiver_peer_name) {
MutexLock lock(&mutex_);
- RTC_CHECK(peers_->HasName(sender_peer_name));
- size_t sender_peer_index = peers_->index(sender_peer_name);
- RTC_CHECK(peers_->HasName(receiver_peer_name));
- size_t receiver_peer_index = peers_->index(receiver_peer_name);
-
- for (auto& [unused, stream_state] : stream_states_) {
- if (stream_state.sender() == sender_peer_index) {
- stream_state.GetPausableState(receiver_peer_index)->Pause();
+ if (peers_->HasName(sender_peer_name) &&
+ peers_->HasName(receiver_peer_name)) {
+ size_t sender_peer_index = peers_->index(sender_peer_name);
+ size_t receiver_peer_index = peers_->index(receiver_peer_name);
+ for (auto& [unused, stream_state] : stream_states_) {
+ if (stream_state.sender() == sender_peer_index) {
+ stream_state.GetPausableState(receiver_peer_index)->Pause();
+ }
}
}
}
@@ -739,14 +739,14 @@
absl::string_view sender_peer_name,
absl::string_view receiver_peer_name) {
MutexLock lock(&mutex_);
- RTC_CHECK(peers_->HasName(sender_peer_name));
- size_t sender_peer_index = peers_->index(sender_peer_name);
- RTC_CHECK(peers_->HasName(receiver_peer_name));
- size_t receiver_peer_index = peers_->index(receiver_peer_name);
-
- for (auto& [unused, stream_state] : stream_states_) {
- if (stream_state.sender() == sender_peer_index) {
- stream_state.GetPausableState(receiver_peer_index)->Resume();
+ if (peers_->HasName(sender_peer_name) &&
+ peers_->HasName(receiver_peer_name)) {
+ size_t sender_peer_index = peers_->index(sender_peer_name);
+ size_t receiver_peer_index = peers_->index(receiver_peer_name);
+ for (auto& [unused, stream_state] : stream_states_) {
+ if (stream_state.sender() == sender_peer_index) {
+ stream_state.GetPausableState(receiver_peer_index)->Resume();
+ }
}
}
}