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

Side by Side Diff: webrtc/modules/audio_coding/audio_network_adaptor/bitrate_controller.cc

Issue 2745473003: Resolve cyclic dependency between audio network adaptor and event log api (Closed)
Patch Set: Revert "Activated checks for rtc_event_log_api" Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 25 matching lines...) Expand all
36 BitrateController::~BitrateController() = default; 36 BitrateController::~BitrateController() = default;
37 37
38 void BitrateController::UpdateNetworkMetrics( 38 void BitrateController::UpdateNetworkMetrics(
39 const NetworkMetrics& network_metrics) { 39 const NetworkMetrics& network_metrics) {
40 if (network_metrics.target_audio_bitrate_bps) 40 if (network_metrics.target_audio_bitrate_bps)
41 target_audio_bitrate_bps_ = network_metrics.target_audio_bitrate_bps; 41 target_audio_bitrate_bps_ = network_metrics.target_audio_bitrate_bps;
42 if (network_metrics.overhead_bytes_per_packet) 42 if (network_metrics.overhead_bytes_per_packet)
43 overhead_bytes_per_packet_ = network_metrics.overhead_bytes_per_packet; 43 overhead_bytes_per_packet_ = network_metrics.overhead_bytes_per_packet;
44 } 44 }
45 45
46 void BitrateController::MakeDecision( 46 void BitrateController::MakeDecision(AudioEncoderRuntimeConfig* config) {
47 AudioNetworkAdaptor::EncoderRuntimeConfig* config) {
48 // Decision on |bitrate_bps| should not have been made. 47 // Decision on |bitrate_bps| should not have been made.
49 RTC_DCHECK(!config->bitrate_bps); 48 RTC_DCHECK(!config->bitrate_bps);
50 if (target_audio_bitrate_bps_ && overhead_bytes_per_packet_) { 49 if (target_audio_bitrate_bps_ && overhead_bytes_per_packet_) {
51 // Current implementation of BitrateController can only work when 50 // Current implementation of BitrateController can only work when
52 // |metrics.target_audio_bitrate_bps| includes overhead is enabled. This is 51 // |metrics.target_audio_bitrate_bps| includes overhead is enabled. This is
53 // currently governed by the following field trial. 52 // currently governed by the following field trial.
54 RTC_DCHECK( 53 RTC_DCHECK(
55 webrtc::field_trial::IsEnabled("WebRTC-SendSideBwe-WithOverhead")); 54 webrtc::field_trial::IsEnabled("WebRTC-SendSideBwe-WithOverhead"));
56 if (config->frame_length_ms) 55 if (config->frame_length_ms)
57 frame_length_ms_ = *config->frame_length_ms; 56 frame_length_ms_ = *config->frame_length_ms;
58 int overhead_rate_bps = 57 int overhead_rate_bps =
59 *overhead_bytes_per_packet_ * 8 * 1000 / frame_length_ms_; 58 *overhead_bytes_per_packet_ * 8 * 1000 / frame_length_ms_;
60 bitrate_bps_ = std::max(0, *target_audio_bitrate_bps_ - overhead_rate_bps); 59 bitrate_bps_ = std::max(0, *target_audio_bitrate_bps_ - overhead_rate_bps);
61 } 60 }
62 config->bitrate_bps = rtc::Optional<int>(bitrate_bps_); 61 config->bitrate_bps = rtc::Optional<int>(bitrate_bps_);
63 } 62 }
64 63
65 } // namespace audio_network_adaptor 64 } // namespace audio_network_adaptor
66 } // namespace webrtc 65 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698