[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}
This commit is contained in:
Jeremy Leconte 2023-03-27 17:54:16 +02:00 committed by WebRTC LUCI CQ
parent 55f72800b4
commit a3f7b54518
2 changed files with 20 additions and 18 deletions

View file

@ -150,13 +150,15 @@ class VideoQualityAnalyzerInterface
// 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) {}

View file

@ -723,14 +723,14 @@ void DefaultVideoQualityAnalyzer::OnPauseAllStreamsFrom(
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 @@ void DefaultVideoQualityAnalyzer::OnResumeAllStreamsFrom(
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();
}
}
}
}