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

Side by Side Diff: webrtc/modules/audio_processing/test/aec_dump_based_simulator.cc

Issue 2449043008: Added calling of the stream_analog_level api in audioproc_f (Closed)
Patch Set: Created 4 years, 1 month 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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 } 56 }
57 } 57 }
58 } 58 }
59 } 59 }
60 return true; 60 return true;
61 } 61 }
62 62
63 } // namespace 63 } // namespace
64 64
65 void AecDumpBasedSimulator::PrepareProcessStreamCall( 65 void AecDumpBasedSimulator::PrepareProcessStreamCall(
66 const webrtc::audioproc::Stream& msg) { 66 const webrtc::audioproc::Stream& msg,
67 bool* set_stream_analog_level_called) {
67 if (msg.has_input_data()) { 68 if (msg.has_input_data()) {
68 // Fixed interface processing. 69 // Fixed interface processing.
69 // Verify interface invariance. 70 // Verify interface invariance.
70 RTC_CHECK(interface_used_ == InterfaceType::kFixedInterface || 71 RTC_CHECK(interface_used_ == InterfaceType::kFixedInterface ||
71 interface_used_ == InterfaceType::kNotSpecified); 72 interface_used_ == InterfaceType::kNotSpecified);
72 interface_used_ = InterfaceType::kFixedInterface; 73 interface_used_ = InterfaceType::kFixedInterface;
73 74
74 // Populate input buffer. 75 // Populate input buffer.
75 RTC_CHECK_EQ(sizeof(fwd_frame_.data_[0]) * fwd_frame_.samples_per_channel_ * 76 RTC_CHECK_EQ(sizeof(fwd_frame_.data_[0]) * fwd_frame_.samples_per_channel_ *
76 fwd_frame_.num_channels_, 77 fwd_frame_.num_channels_,
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 } 121 }
121 } else { 122 } else {
122 ap_->set_stream_key_pressed(*settings_.use_ts); 123 ap_->set_stream_key_pressed(*settings_.use_ts);
123 } 124 }
124 125
125 // TODO(peah): Add support for controlling the analog level via the 126 // TODO(peah): Add support for controlling the analog level via the
126 // command-line. 127 // command-line.
127 if (msg.has_level()) { 128 if (msg.has_level()) {
128 RTC_CHECK_EQ(AudioProcessing::kNoError, 129 RTC_CHECK_EQ(AudioProcessing::kNoError,
129 ap_->gain_control()->set_stream_analog_level(msg.level())); 130 ap_->gain_control()->set_stream_analog_level(msg.level()));
131 *set_stream_analog_level_called = true;
132 } else {
133 *set_stream_analog_level_called = false;
130 } 134 }
131 } 135 }
132 136
133 void AecDumpBasedSimulator::VerifyProcessStreamBitExactness( 137 void AecDumpBasedSimulator::VerifyProcessStreamBitExactness(
134 const webrtc::audioproc::Stream& msg) { 138 const webrtc::audioproc::Stream& msg) {
135 if (bitexact_output_) { 139 if (bitexact_output_) {
136 if (interface_used_ == InterfaceType::kFixedInterface) { 140 if (interface_used_ == InterfaceType::kFixedInterface) {
137 bitexact_output_ = VerifyFixedBitExactness(msg, fwd_frame_); 141 bitexact_output_ = VerifyFixedBitExactness(msg, fwd_frame_);
138 } else { 142 } else {
139 bitexact_output_ = VerifyFloatBitExactness(msg, out_config_, *out_buf_); 143 bitexact_output_ = VerifyFloatBitExactness(msg, out_config_, *out_buf_);
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 } 504 }
501 505
502 SetupBuffersConfigsOutputs( 506 SetupBuffersConfigsOutputs(
503 msg.sample_rate(), output_sample_rate, msg.reverse_sample_rate(), 507 msg.sample_rate(), output_sample_rate, msg.reverse_sample_rate(),
504 reverse_output_sample_rate, msg.num_input_channels(), num_output_channels, 508 reverse_output_sample_rate, msg.num_input_channels(), num_output_channels,
505 msg.num_reverse_channels(), num_reverse_output_channels); 509 msg.num_reverse_channels(), num_reverse_output_channels);
506 } 510 }
507 511
508 void AecDumpBasedSimulator::HandleMessage( 512 void AecDumpBasedSimulator::HandleMessage(
509 const webrtc::audioproc::Stream& msg) { 513 const webrtc::audioproc::Stream& msg) {
510 PrepareProcessStreamCall(msg); 514 bool set_stream_analog_level_called = false;
515 PrepareProcessStreamCall(msg, &set_stream_analog_level_called);
511 ProcessStream(interface_used_ == InterfaceType::kFixedInterface); 516 ProcessStream(interface_used_ == InterfaceType::kFixedInterface);
517 if (set_stream_analog_level_called) {
518 // Call stream analog level to ensure that any side-effects are triggered.
519 (void)ap_->gain_control()->stream_analog_level();
520 }
521
512 VerifyProcessStreamBitExactness(msg); 522 VerifyProcessStreamBitExactness(msg);
513 } 523 }
514 524
515 void AecDumpBasedSimulator::HandleMessage( 525 void AecDumpBasedSimulator::HandleMessage(
516 const webrtc::audioproc::ReverseStream& msg) { 526 const webrtc::audioproc::ReverseStream& msg) {
517 PrepareReverseProcessStreamCall(msg); 527 PrepareReverseProcessStreamCall(msg);
518 ProcessReverseStream(interface_used_ == InterfaceType::kFixedInterface); 528 ProcessReverseStream(interface_used_ == InterfaceType::kFixedInterface);
519 } 529 }
520 530
521 } // namespace test 531 } // namespace test
522 } // namespace webrtc 532 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698