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

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

Issue 2364473005: Hooking up target audio bitrate to audio network adaptor. (Closed)
Patch Set: Created 4 years, 3 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 29 matching lines...) Expand all
40 DumpNetworkMetrics(); 40 DumpNetworkMetrics();
41 } 41 }
42 42
43 void AudioNetworkAdaptorImpl::SetUplinkPacketLossFraction( 43 void AudioNetworkAdaptorImpl::SetUplinkPacketLossFraction(
44 float uplink_packet_loss_fraction) { 44 float uplink_packet_loss_fraction) {
45 last_metrics_.uplink_packet_loss_fraction = 45 last_metrics_.uplink_packet_loss_fraction =
46 rtc::Optional<float>(uplink_packet_loss_fraction); 46 rtc::Optional<float>(uplink_packet_loss_fraction);
47 DumpNetworkMetrics(); 47 DumpNetworkMetrics();
48 } 48 }
49 49
50 void AudioNetworkAdaptorImpl::SetTargetAudioBitrate(
51 int target_audio_bitrate_bps) {
52 last_metrics_.target_audio_bitrate_bps =
53 rtc::Optional<int>(target_audio_bitrate_bps);
54 DumpNetworkMetrics();
55 }
56
50 void AudioNetworkAdaptorImpl::SetRtt(int rtt_ms) { 57 void AudioNetworkAdaptorImpl::SetRtt(int rtt_ms) {
51 last_metrics_.rtt_ms = rtc::Optional<int>(rtt_ms); 58 last_metrics_.rtt_ms = rtc::Optional<int>(rtt_ms);
52 DumpNetworkMetrics(); 59 DumpNetworkMetrics();
53 } 60 }
54 61
62 void AudioNetworkAdaptorImpl::SetReceiverFrameLengthRange(
minyue-webrtc 2016/09/23 07:39:43 moved this method because it was not in the same o
hlundin-webrtc 2016/09/26 15:16:51 Acknowledged.
63 int min_frame_length_ms,
64 int max_frame_length_ms) {
65 Controller::Constraints constraints;
66 constraints.receiver_frame_length_range =
67 rtc::Optional<Controller::Constraints::FrameLengthRange>(
68 Controller::Constraints::FrameLengthRange(min_frame_length_ms,
69 max_frame_length_ms));
70 auto controllers = controller_manager_->GetControllers();
71 for (auto& controller : controllers)
72 controller->SetConstraints(constraints);
73 }
74
55 AudioNetworkAdaptor::EncoderRuntimeConfig 75 AudioNetworkAdaptor::EncoderRuntimeConfig
56 AudioNetworkAdaptorImpl::GetEncoderRuntimeConfig() { 76 AudioNetworkAdaptorImpl::GetEncoderRuntimeConfig() {
57 EncoderRuntimeConfig config; 77 EncoderRuntimeConfig config;
58 for (auto& controller : 78 for (auto& controller :
59 controller_manager_->GetSortedControllers(last_metrics_)) 79 controller_manager_->GetSortedControllers(last_metrics_))
60 controller->MakeDecision(last_metrics_, &config); 80 controller->MakeDecision(last_metrics_, &config);
61 81
62 // TODO(minyue): Add debug dumping. 82 // TODO(minyue): Add debug dumping.
63 if (debug_dump_writer_) 83 if (debug_dump_writer_)
64 debug_dump_writer_->DumpEncoderRuntimeConfig( 84 debug_dump_writer_->DumpEncoderRuntimeConfig(
65 config, config_.clock->TimeInMilliseconds()); 85 config, config_.clock->TimeInMilliseconds());
66 86
67 return config; 87 return config;
68 } 88 }
69 89
70 void AudioNetworkAdaptorImpl::SetReceiverFrameLengthRange(
71 int min_frame_length_ms,
72 int max_frame_length_ms) {
73 Controller::Constraints constraints;
74 constraints.receiver_frame_length_range =
75 rtc::Optional<Controller::Constraints::FrameLengthRange>(
76 Controller::Constraints::FrameLengthRange(min_frame_length_ms,
77 max_frame_length_ms));
78 auto controllers = controller_manager_->GetControllers();
79 for (auto& controller : controllers)
80 controller->SetConstraints(constraints);
81 }
82
83 void AudioNetworkAdaptorImpl::StartDebugDump(FILE* file_handle) { 90 void AudioNetworkAdaptorImpl::StartDebugDump(FILE* file_handle) {
84 debug_dump_writer_ = DebugDumpWriter::Create(file_handle); 91 debug_dump_writer_ = DebugDumpWriter::Create(file_handle);
85 } 92 }
86 93
87 void AudioNetworkAdaptorImpl::StopDebugDump() { 94 void AudioNetworkAdaptorImpl::StopDebugDump() {
88 debug_dump_writer_.reset(nullptr); 95 debug_dump_writer_.reset(nullptr);
89 } 96 }
90 97
91 void AudioNetworkAdaptorImpl::DumpNetworkMetrics() { 98 void AudioNetworkAdaptorImpl::DumpNetworkMetrics() {
92 if (debug_dump_writer_) 99 if (debug_dump_writer_)
93 debug_dump_writer_->DumpNetworkMetrics(last_metrics_, 100 debug_dump_writer_->DumpNetworkMetrics(last_metrics_,
94 config_.clock->TimeInMilliseconds()); 101 config_.clock->TimeInMilliseconds());
95 } 102 }
96 103
97 } // namespace webrtc 104 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698