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

Unified Diff: webrtc/modules/audio_coding/audio_network_adaptor/fec_controller.h

Issue 2643133003: Instantly pass network changes to controllers in audio network adaptor. (Closed)
Patch Set: fixing unittests Created 3 years, 11 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/audio_coding/audio_network_adaptor/fec_controller.h
diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/fec_controller.h b/webrtc/modules/audio_coding/audio_network_adaptor/fec_controller.h
index ac4b1e236a0fc45bff517061613dd9d77b0d8ada..8d9cbb03f9cf590d7d7e235b25fdcc2213ca2af8 100644
--- a/webrtc/modules/audio_coding/audio_network_adaptor/fec_controller.h
+++ b/webrtc/modules/audio_coding/audio_network_adaptor/fec_controller.h
@@ -64,16 +64,17 @@ class FecController final : public Controller {
const Clock* clock;
};
- explicit FecController(const Config& config);
-
// Dependency injection for testing.
FecController(const Config& config,
std::unique_ptr<SmoothingFilter> smoothing_filter);
+ explicit FecController(const Config& config);
+
~FecController() override;
- void MakeDecision(const NetworkMetrics& metrics,
- AudioNetworkAdaptor::EncoderRuntimeConfig* config) override;
+ void UpdateNetworkMetrics(const NetworkMetrics& network_metrics) override;
+
+ void MakeDecision(AudioNetworkAdaptor::EncoderRuntimeConfig* config) override;
private:
// Characterize Threshold with packet_loss = slope * bandwidth + offset.
@@ -87,14 +88,13 @@ class FecController final : public Controller {
const Config::Threshold& threshold,
const ThresholdInfo& threshold_info) const;
- bool FecEnablingDecision(const NetworkMetrics& metrics,
- const rtc::Optional<float>& packet_loss) const;
- bool FecDisablingDecision(const NetworkMetrics& metrics,
- const rtc::Optional<float>& packet_loss) const;
+ bool FecEnablingDecision(const rtc::Optional<float>& packet_loss) const;
+ bool FecDisablingDecision(const rtc::Optional<float>& packet_loss) const;
const Config config_;
bool fec_enabled_;
- std::unique_ptr<SmoothingFilter> packet_loss_smoothed_;
+ rtc::Optional<int> uplink_bandwidth_bps_;
+ const std::unique_ptr<SmoothingFilter> packet_loss_smoother_;
const ThresholdInfo fec_enabling_threshold_info_;
const ThresholdInfo fec_disabling_threshold_info_;

Powered by Google App Engine
This is Rietveld 408576698