Index: webrtc/modules/audio_coding/audio_network_adaptor/bitrate_controller.cc |
diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/bitrate_controller.cc b/webrtc/modules/audio_coding/audio_network_adaptor/bitrate_controller.cc |
index 2f64df066b36bba2ec8bd963627bf594e3c66dd0..df0b470116b72f414a6bc3be1a7e4df86caf008d 100644 |
--- a/webrtc/modules/audio_coding/audio_network_adaptor/bitrate_controller.cc |
+++ b/webrtc/modules/audio_coding/audio_network_adaptor/bitrate_controller.cc |
@@ -33,12 +33,21 @@ BitrateController::BitrateController(const Config& config) |
RTC_DCHECK_GT(frame_length_ms_, 0); |
} |
+BitrateController::~BitrateController() = default; |
+ |
+void BitrateController::UpdateNetworkMetrics( |
+ const NetworkMetrics& network_metrics) { |
+ if (network_metrics.target_audio_bitrate_bps) |
+ target_audio_bitrate_bps_ = network_metrics.target_audio_bitrate_bps; |
+ if (network_metrics.overhead_bytes_per_packet) |
+ overhead_bytes_per_packet_ = network_metrics.overhead_bytes_per_packet; |
+} |
+ |
void BitrateController::MakeDecision( |
- const NetworkMetrics& metrics, |
AudioNetworkAdaptor::EncoderRuntimeConfig* config) { |
// Decision on |bitrate_bps| should not have been made. |
RTC_DCHECK(!config->bitrate_bps); |
- if (metrics.target_audio_bitrate_bps && metrics.overhead_bytes_per_packet) { |
+ if (target_audio_bitrate_bps_ && overhead_bytes_per_packet_) { |
// Current implementation of BitrateController can only work when |
// |metrics.target_audio_bitrate_bps| includes overhead is enabled. This is |
// currently governed by the following field trial. |
@@ -47,9 +56,8 @@ void BitrateController::MakeDecision( |
if (config->frame_length_ms) |
frame_length_ms_ = *config->frame_length_ms; |
int overhead_rate_bps = |
- *metrics.overhead_bytes_per_packet * 8 * 1000 / frame_length_ms_; |
- bitrate_bps_ = |
- std::max(0, *metrics.target_audio_bitrate_bps - overhead_rate_bps); |
+ *overhead_bytes_per_packet_ * 8 * 1000 / frame_length_ms_; |
+ bitrate_bps_ = std::max(0, *target_audio_bitrate_bps_ - overhead_rate_bps); |
} |
config->bitrate_bps = rtc::Optional<int>(bitrate_bps_); |
} |