Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(476)

Unified Diff: webrtc/modules/pacing/alr_detector.cc

Issue 2970653004: Reimplemeted "Test and fix for huge bwe drop after alr state" (Closed)
Patch Set: Fix uninitialized variable Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/pacing/alr_detector.cc
diff --git a/webrtc/modules/pacing/alr_detector.cc b/webrtc/modules/pacing/alr_detector.cc
index 93752cf751395d99db60e146ef87f4b0558e4dcb..a262c6dcb102a5f27ee6bad4dd4fb6796583fec3 100644
--- a/webrtc/modules/pacing/alr_detector.cc
+++ b/webrtc/modules/pacing/alr_detector.cc
@@ -103,4 +103,21 @@ AlrDetector::ParseAlrSettingsFromFieldTrial() {
return ret;
}
+AlrState::AlrState() : was_in_alr_(false) {}
+
+void AlrState::Update(rtc::Optional<int64_t> alr_start_time_ms) {
+ if (was_in_alr_ && !alr_start_time_ms) {
+ alr_state_changed_to_.emplace(AlrState::State::kNotInAlr);
+ } else if (!was_in_alr_ && alr_start_time_ms) {
+ alr_state_changed_to_.emplace(AlrState::State::kInAlr);
+ } else {
+ alr_state_changed_to_.reset();
philipel 2017/07/14 13:56:23 Isn't |alr_state_changed_to_| just |current_state_
tschumi 2017/07/14 15:36:51 Removed AlrState
+ }
+ was_in_alr_ = alr_start_time_ms.has_value();
philipel 2017/07/14 13:56:23 |was_in_alr_| same as |in_alr_|?
tschumi 2017/07/14 15:36:51 Removed AlrState
+}
+
+bool AlrState::HasChangedTo(AlrState::State state) {
+ return alr_state_changed_to_ && *alr_state_changed_to_ == state;
+}
+
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698