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

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

Issue 2364473005: Hooking up target audio bitrate to audio network adaptor. (Closed)
Patch Set: Created 4 years, 2 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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 } 99 }
100 100
101 } // namespace 101 } // namespace
102 102
103 TEST(AudioNetworkAdaptorImplTest, 103 TEST(AudioNetworkAdaptorImplTest,
104 MakeDecisionIsCalledOnGetEncoderRuntimeConfig) { 104 MakeDecisionIsCalledOnGetEncoderRuntimeConfig) {
105 auto states = CreateAudioNetworkAdaptor(); 105 auto states = CreateAudioNetworkAdaptor();
106 106
107 constexpr int kBandwidth = 16000; 107 constexpr int kBandwidth = 16000;
108 constexpr float kPacketLoss = 0.7f; 108 constexpr float kPacketLoss = 0.7f;
109 constexpr int kRtt = 100;
110 constexpr int kTargetAudioBitrate = 15000;
109 111
110 Controller::NetworkMetrics check; 112 Controller::NetworkMetrics check;
111 check.uplink_bandwidth_bps = rtc::Optional<int>(kBandwidth); 113 check.uplink_bandwidth_bps = rtc::Optional<int>(kBandwidth);
112
113 for (auto& mock_controller : states.mock_controllers) { 114 for (auto& mock_controller : states.mock_controllers) {
114 EXPECT_CALL(*mock_controller, MakeDecision(NetworkMetricsIs(check), _)); 115 EXPECT_CALL(*mock_controller, MakeDecision(NetworkMetricsIs(check), _));
115 } 116 }
116 states.audio_network_adaptor->SetUplinkBandwidth(kBandwidth); 117 states.audio_network_adaptor->SetUplinkBandwidth(kBandwidth);
117 states.audio_network_adaptor->GetEncoderRuntimeConfig(); 118 states.audio_network_adaptor->GetEncoderRuntimeConfig();
118 119
119 check.uplink_packet_loss_fraction = rtc::Optional<float>(kPacketLoss); 120 check.uplink_packet_loss_fraction = rtc::Optional<float>(kPacketLoss);
120 for (auto& mock_controller : states.mock_controllers) { 121 for (auto& mock_controller : states.mock_controllers) {
121 EXPECT_CALL(*mock_controller, MakeDecision(NetworkMetricsIs(check), _)); 122 EXPECT_CALL(*mock_controller, MakeDecision(NetworkMetricsIs(check), _));
122 } 123 }
123 states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss); 124 states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss);
124 states.audio_network_adaptor->GetEncoderRuntimeConfig(); 125 states.audio_network_adaptor->GetEncoderRuntimeConfig();
126
127 check.rtt_ms = rtc::Optional<int>(kRtt);
128 for (auto& mock_controller : states.mock_controllers) {
129 EXPECT_CALL(*mock_controller, MakeDecision(NetworkMetricsIs(check), _));
130 }
131 states.audio_network_adaptor->SetRtt(kRtt);
132 states.audio_network_adaptor->GetEncoderRuntimeConfig();
133
134 check.target_audio_bitrate_bps = rtc::Optional<int>(kTargetAudioBitrate);
135 for (auto& mock_controller : states.mock_controllers) {
136 EXPECT_CALL(*mock_controller, MakeDecision(NetworkMetricsIs(check), _));
137 }
138 states.audio_network_adaptor->SetTargetAudioBitrate(kTargetAudioBitrate);
139 states.audio_network_adaptor->GetEncoderRuntimeConfig();
125 } 140 }
126 141
127 TEST(AudioNetworkAdaptorImplTest, SetConstraintsIsCalledOnSetFrameLengthRange) { 142 TEST(AudioNetworkAdaptorImplTest, SetConstraintsIsCalledOnSetFrameLengthRange) {
128 auto states = CreateAudioNetworkAdaptor(); 143 auto states = CreateAudioNetworkAdaptor();
129 144
130 for (auto& mock_controller : states.mock_controllers) { 145 for (auto& mock_controller : states.mock_controllers) {
131 EXPECT_CALL(*mock_controller, 146 EXPECT_CALL(*mock_controller,
132 SetConstraints(ConstraintsReceiverFrameLengthRangeIs( 147 SetConstraints(ConstraintsReceiverFrameLengthRangeIs(
133 Controller::Constraints::FrameLengthRange(20, 120)))); 148 Controller::Constraints::FrameLengthRange(20, 120))));
134 } 149 }
(...skipping 17 matching lines...) Expand all
152 states.audio_network_adaptor->GetEncoderRuntimeConfig(); 167 states.audio_network_adaptor->GetEncoderRuntimeConfig();
153 } 168 }
154 169
155 TEST(AudioNetworkAdaptorImplTest, 170 TEST(AudioNetworkAdaptorImplTest,
156 DumpNetworkMetricsIsCalledOnSetNetworkMetrics) { 171 DumpNetworkMetricsIsCalledOnSetNetworkMetrics) {
157 auto states = CreateAudioNetworkAdaptor(); 172 auto states = CreateAudioNetworkAdaptor();
158 173
159 constexpr int kBandwidth = 16000; 174 constexpr int kBandwidth = 16000;
160 constexpr float kPacketLoss = 0.7f; 175 constexpr float kPacketLoss = 0.7f;
161 constexpr int kRtt = 100; 176 constexpr int kRtt = 100;
177 constexpr int kTargetAudioBitrate = 15000;
162 178
163 Controller::NetworkMetrics check; 179 Controller::NetworkMetrics check;
164 check.uplink_bandwidth_bps = rtc::Optional<int>(kBandwidth); 180 check.uplink_bandwidth_bps = rtc::Optional<int>(kBandwidth);
165 int64_t timestamp_check = kClockInitialTimeMs; 181 int64_t timestamp_check = kClockInitialTimeMs;
166 182
167 EXPECT_CALL(*states.mock_debug_dump_writer, 183 EXPECT_CALL(*states.mock_debug_dump_writer,
168 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); 184 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check));
169 states.audio_network_adaptor->SetUplinkBandwidth(kBandwidth); 185 states.audio_network_adaptor->SetUplinkBandwidth(kBandwidth);
170 186
171 states.simulated_clock->AdvanceTimeMilliseconds(100); 187 states.simulated_clock->AdvanceTimeMilliseconds(100);
172 timestamp_check += 100; 188 timestamp_check += 100;
173 check.uplink_packet_loss_fraction = rtc::Optional<float>(kPacketLoss); 189 check.uplink_packet_loss_fraction = rtc::Optional<float>(kPacketLoss);
174 EXPECT_CALL(*states.mock_debug_dump_writer, 190 EXPECT_CALL(*states.mock_debug_dump_writer,
175 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); 191 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check));
176 states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss); 192 states.audio_network_adaptor->SetUplinkPacketLossFraction(kPacketLoss);
177 193
178 states.simulated_clock->AdvanceTimeMilliseconds(200); 194 states.simulated_clock->AdvanceTimeMilliseconds(200);
179 timestamp_check += 200; 195 timestamp_check += 200;
180 check.rtt_ms = rtc::Optional<int>(kRtt); 196 check.rtt_ms = rtc::Optional<int>(kRtt);
181 EXPECT_CALL(*states.mock_debug_dump_writer, 197 EXPECT_CALL(*states.mock_debug_dump_writer,
182 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check)); 198 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check));
183 states.audio_network_adaptor->SetRtt(kRtt); 199 states.audio_network_adaptor->SetRtt(kRtt);
200
201 states.simulated_clock->AdvanceTimeMilliseconds(150);
202 timestamp_check += 150;
203 check.target_audio_bitrate_bps = rtc::Optional<int>(kTargetAudioBitrate);
204 EXPECT_CALL(*states.mock_debug_dump_writer,
205 DumpNetworkMetrics(NetworkMetricsIs(check), timestamp_check));
206 states.audio_network_adaptor->SetTargetAudioBitrate(kTargetAudioBitrate);
184 } 207 }
185 208
186 } // namespace webrtc 209 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698