Optional: Use nullopt and implicit construction in /modules/audio_processing
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.
This CL was uploaded by git cl split.
R=henrik.lundin@webrtc.org
Bug: None
Change-Id: I733a83f702fe11884d229a1713cfac952727bde8
Reviewed-on: https://webrtc-review.googlesource.com/23601
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20786}
diff --git a/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc b/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc
index ffac7d1..cc9b09b 100644
--- a/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc
+++ b/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc
@@ -365,9 +365,8 @@
filter.Adapt(render_buffer, G);
aec_state.HandleEchoPathChange(EchoPathVariability(false, false));
aec_state.Update(filter.FilterFrequencyResponse(),
- filter.FilterImpulseResponse(), true,
- rtc::Optional<size_t>(), render_buffer, E2_main, Y2,
- x[0], s, false);
+ filter.FilterImpulseResponse(), true, rtc::nullopt,
+ render_buffer, E2_main, Y2, x[0], s, false);
}
// Verify that the filter is able to perform well.
EXPECT_LT(1000 * std::inner_product(e.begin(), e.end(), e.begin(), 0.f),
diff --git a/modules/audio_processing/aec3/aec_state.cc b/modules/audio_processing/aec3/aec_state.cc
index 9b0f774..9349e47 100644
--- a/modules/audio_processing/aec3/aec_state.cc
+++ b/modules/audio_processing/aec3/aec_state.cc
@@ -113,12 +113,11 @@
force_zero_gain_ = (++force_zero_gain_counter_) < kNumBlocksPerSecond / 5;
// Estimate delays.
- filter_delay_ = rtc::Optional<size_t>(
- EstimateFilterDelay(adaptive_filter_frequency_response));
+ filter_delay_ = EstimateFilterDelay(adaptive_filter_frequency_response);
external_delay_ =
external_delay_samples
? rtc::Optional<size_t>(*external_delay_samples / kBlockSize)
- : rtc::Optional<size_t>();
+ : rtc::nullopt;
// Update the ERL and ERLE measures.
if (converged_filter && capture_block_counter_ >= 2 * kNumBlocksPerSecond) {
diff --git a/modules/audio_processing/aec3/aec_state_unittest.cc b/modules/audio_processing/aec3/aec_state_unittest.cc
index fd6a34b..34b877b 100644
--- a/modules/audio_processing/aec3/aec_state_unittest.cc
+++ b/modules/audio_processing/aec3/aec_state_unittest.cc
@@ -44,51 +44,44 @@
// Verify that linear AEC usability is false when the filter is diverged and
// there is no external delay reported.
state.Update(diverged_filter_frequency_response, impulse_response, true,
- rtc::Optional<size_t>(), render_buffer, E2_main, Y2, x[0], s,
- false);
+ rtc::nullopt, render_buffer, E2_main, Y2, x[0], s, false);
EXPECT_FALSE(state.UsableLinearEstimate());
// Verify that linear AEC usability is true when the filter is converged
std::fill(x[0].begin(), x[0].end(), 101.f);
for (int k = 0; k < 3000; ++k) {
- state.Update(converged_filter_frequency_response, impulse_response, true,
- rtc::Optional<size_t>(2), render_buffer, E2_main, Y2, x[0], s,
- false);
+ state.Update(converged_filter_frequency_response, impulse_response, true, 2,
+ render_buffer, E2_main, Y2, x[0], s, false);
}
EXPECT_TRUE(state.UsableLinearEstimate());
// Verify that linear AEC usability becomes false after an echo path change is
// reported
state.HandleEchoPathChange(EchoPathVariability(true, false));
- state.Update(converged_filter_frequency_response, impulse_response, true,
- rtc::Optional<size_t>(2), render_buffer, E2_main, Y2, x[0], s,
- false);
+ state.Update(converged_filter_frequency_response, impulse_response, true, 2,
+ render_buffer, E2_main, Y2, x[0], s, false);
EXPECT_FALSE(state.UsableLinearEstimate());
// Verify that the active render detection works as intended.
std::fill(x[0].begin(), x[0].end(), 101.f);
state.HandleEchoPathChange(EchoPathVariability(true, true));
- state.Update(converged_filter_frequency_response, impulse_response, true,
- rtc::Optional<size_t>(2), render_buffer, E2_main, Y2, x[0], s,
- false);
+ state.Update(converged_filter_frequency_response, impulse_response, true, 2,
+ render_buffer, E2_main, Y2, x[0], s, false);
EXPECT_FALSE(state.ActiveRender());
for (int k = 0; k < 1000; ++k) {
- state.Update(converged_filter_frequency_response, impulse_response, true,
- rtc::Optional<size_t>(2), render_buffer, E2_main, Y2, x[0], s,
- false);
+ state.Update(converged_filter_frequency_response, impulse_response, true, 2,
+ render_buffer, E2_main, Y2, x[0], s, false);
}
EXPECT_TRUE(state.ActiveRender());
// Verify that echo leakage is properly reported.
- state.Update(converged_filter_frequency_response, impulse_response, true,
- rtc::Optional<size_t>(2), render_buffer, E2_main, Y2, x[0], s,
- false);
+ state.Update(converged_filter_frequency_response, impulse_response, true, 2,
+ render_buffer, E2_main, Y2, x[0], s, false);
EXPECT_FALSE(state.EchoLeakageDetected());
- state.Update(converged_filter_frequency_response, impulse_response, true,
- rtc::Optional<size_t>(2), render_buffer, E2_main, Y2, x[0], s,
- true);
+ state.Update(converged_filter_frequency_response, impulse_response, true, 2,
+ render_buffer, E2_main, Y2, x[0], s, true);
EXPECT_TRUE(state.EchoLeakageDetected());
// Verify that the ERL is properly estimated
@@ -103,9 +96,8 @@
Y2.fill(10.f * 10000.f * 10000.f);
for (size_t k = 0; k < 1000; ++k) {
- state.Update(converged_filter_frequency_response, impulse_response, true,
- rtc::Optional<size_t>(2), render_buffer, E2_main, Y2, x[0], s,
- false);
+ state.Update(converged_filter_frequency_response, impulse_response, true, 2,
+ render_buffer, E2_main, Y2, x[0], s, false);
}
ASSERT_TRUE(state.UsableLinearEstimate());
@@ -120,9 +112,8 @@
E2_main.fill(1.f * 10000.f * 10000.f);
Y2.fill(10.f * E2_main[0]);
for (size_t k = 0; k < 1000; ++k) {
- state.Update(converged_filter_frequency_response, impulse_response, true,
- rtc::Optional<size_t>(2), render_buffer, E2_main, Y2, x[0], s,
- false);
+ state.Update(converged_filter_frequency_response, impulse_response, true, 2,
+ render_buffer, E2_main, Y2, x[0], s, false);
}
ASSERT_TRUE(state.UsableLinearEstimate());
{
@@ -141,9 +132,8 @@
E2_main.fill(1.f * 10000.f * 10000.f);
Y2.fill(5.f * E2_main[0]);
for (size_t k = 0; k < 1000; ++k) {
- state.Update(converged_filter_frequency_response, impulse_response, true,
- rtc::Optional<size_t>(2), render_buffer, E2_main, Y2, x[0], s,
- false);
+ state.Update(converged_filter_frequency_response, impulse_response, true, 2,
+ render_buffer, E2_main, Y2, x[0], s, false);
}
ASSERT_TRUE(state.UsableLinearEstimate());
@@ -189,9 +179,8 @@
frequency_response[k].fill(100.f);
frequency_response[k][0] = 0.f;
state.HandleEchoPathChange(echo_path_variability);
- state.Update(frequency_response, impulse_response, true,
- rtc::Optional<size_t>(), render_buffer, E2_main, Y2, x, s,
- false);
+ state.Update(frequency_response, impulse_response, true, rtc::nullopt,
+ render_buffer, E2_main, Y2, x, s, false);
EXPECT_TRUE(k == (kFilterLength - 1) || state.FilterDelay());
if (k != (kFilterLength - 1)) {
EXPECT_EQ(k, state.FilterDelay());
@@ -225,9 +214,8 @@
for (size_t k = 0; k < frequency_response.size() - 1; ++k) {
state.HandleEchoPathChange(EchoPathVariability(false, false));
- state.Update(frequency_response, impulse_response, true,
- rtc::Optional<size_t>(k * kBlockSize + 5), render_buffer,
- E2_main, Y2, x, s, false);
+ state.Update(frequency_response, impulse_response, true, k * kBlockSize + 5,
+ render_buffer, E2_main, Y2, x, s, false);
EXPECT_TRUE(state.ExternalDelay());
EXPECT_EQ(k, state.ExternalDelay());
}
@@ -235,9 +223,8 @@
// Verify that the externally reported delay is properly unset when it is no
// longer present.
state.HandleEchoPathChange(EchoPathVariability(false, false));
- state.Update(frequency_response, impulse_response, true,
- rtc::Optional<size_t>(), render_buffer, E2_main, Y2, x, s,
- false);
+ state.Update(frequency_response, impulse_response, true, rtc::nullopt,
+ render_buffer, E2_main, Y2, x, s, false);
EXPECT_FALSE(state.ExternalDelay());
}
diff --git a/modules/audio_processing/aec3/echo_path_delay_estimator.cc b/modules/audio_processing/aec3/echo_path_delay_estimator.cc
index a57d541..914f2d2 100644
--- a/modules/audio_processing/aec3/echo_path_delay_estimator.cc
+++ b/modules/audio_processing/aec3/echo_path_delay_estimator.cc
@@ -81,7 +81,7 @@
return aggregated_matched_filter_lag
? rtc::Optional<size_t>(*aggregated_matched_filter_lag *
down_sampling_factor_)
- : rtc::Optional<size_t>();
+ : rtc::nullopt;
}
} // namespace webrtc
diff --git a/modules/audio_processing/aec3/echo_remover_unittest.cc b/modules/audio_processing/aec3/echo_remover_unittest.cc
index 84a54b4..24b50e8 100644
--- a/modules/audio_processing/aec3/echo_remover_unittest.cc
+++ b/modules/audio_processing/aec3/echo_remover_unittest.cc
@@ -64,7 +64,7 @@
k % 5 == 0 ? true : false);
rtc::Optional<size_t> echo_path_delay_samples =
(k % 6 == 0 ? rtc::Optional<size_t>(k * 10)
- : rtc::Optional<size_t>());
+ : rtc::nullopt);
render_buffer->Insert(render);
render_buffer->UpdateBuffers();
remover->ProcessCapture(echo_path_delay_samples, echo_path_variability,
@@ -198,8 +198,7 @@
render_buffer->Insert(x);
render_buffer->UpdateBuffers();
- remover->ProcessCapture(rtc::Optional<size_t>(delay_samples),
- echo_path_variability, false,
+ remover->ProcessCapture(delay_samples, echo_path_variability, false,
render_buffer->GetRenderBuffer(), &y);
if (k > kNumBlocksToProcess / 2) {
diff --git a/modules/audio_processing/aec3/main_filter_update_gain_unittest.cc b/modules/audio_processing/aec3/main_filter_update_gain_unittest.cc
index 9e794de..561fcdb 100644
--- a/modules/audio_processing/aec3/main_filter_update_gain_unittest.cc
+++ b/modules/audio_processing/aec3/main_filter_update_gain_unittest.cc
@@ -135,9 +135,8 @@
// Update the delay.
aec_state.HandleEchoPathChange(EchoPathVariability(false, false));
aec_state.Update(main_filter.FilterFrequencyResponse(),
- main_filter.FilterImpulseResponse(), true,
- rtc::Optional<size_t>(), render_buffer, E2_main, Y2, x[0],
- s, false);
+ main_filter.FilterImpulseResponse(), true, rtc::nullopt,
+ render_buffer, E2_main, Y2, x[0], s, false);
}
std::copy(e_main.begin(), e_main.end(), e_last_block->begin());
diff --git a/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc b/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc
index 5115fcb..92cb4f7 100644
--- a/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc
+++ b/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc
@@ -67,10 +67,10 @@
std::max_element(histogram_.begin(), histogram_.end()));
if (histogram_[candidate] > 25) {
- return rtc::Optional<size_t>(candidate);
+ return candidate;
}
}
- return rtc::Optional<size_t>();
+ return rtc::nullopt;
}
} // namespace webrtc
diff --git a/modules/audio_processing/aec3/matched_filter_unittest.cc b/modules/audio_processing/aec3/matched_filter_unittest.cc
index e03ea8f..0600419 100644
--- a/modules/audio_processing/aec3/matched_filter_unittest.cc
+++ b/modules/audio_processing/aec3/matched_filter_unittest.cc
@@ -183,8 +183,7 @@
if ((alignment_shift_sub_blocks + 3 * kWindowSizeSubBlocks / 4) *
sub_block_size >
delay_samples) {
- expected_most_accurate_lag_estimate =
- rtc::Optional<size_t>(k > 0 ? k - 1 : 0);
+ expected_most_accurate_lag_estimate = k > 0 ? k - 1 : 0;
break;
}
alignment_shift_sub_blocks += kAlignmentShiftSubBlocks;
diff --git a/modules/audio_processing/aec3/render_delay_controller.cc b/modules/audio_processing/aec3/render_delay_controller.cc
index 7de97cd..2c1f263 100644
--- a/modules/audio_processing/aec3/render_delay_controller.cc
+++ b/modules/audio_processing/aec3/render_delay_controller.cc
@@ -96,7 +96,7 @@
blocks_since_last_delay_estimate_ = 300000;
echo_path_delay_samples_ = delay_ * kBlockSize;
align_call_counter_ = 0;
- headroom_samples_ = rtc::Optional<size_t>();
+ headroom_samples_ = rtc::nullopt;
std::fill(capture_delay_buffer_.begin(), capture_delay_buffer_.end(), 0.f);
delay_estimator_.Reset();
}
@@ -150,15 +150,15 @@
if (echo_path_delay_samples_corrected >= 0) {
const int headroom = echo_path_delay_samples_ - delay_ * kBlockSize;
RTC_DCHECK_LE(0, headroom);
- headroom_samples_ = rtc::Optional<size_t>(headroom);
+ headroom_samples_ = headroom;
} else {
- headroom_samples_ = rtc::Optional<size_t>();
+ headroom_samples_ = rtc::nullopt;
}
}
- metrics_.Update(rtc::Optional<size_t>(echo_path_delay_samples_), delay_);
+ metrics_.Update(echo_path_delay_samples_, delay_);
} else {
- metrics_.Update(rtc::Optional<size_t>(), delay_);
+ metrics_.Update(rtc::nullopt, delay_);
}
data_dumper_->DumpRaw("aec3_render_delay_controller_delay", 1,
diff --git a/modules/audio_processing/aec3/render_delay_controller_metrics_unittest.cc b/modules/audio_processing/aec3/render_delay_controller_metrics_unittest.cc
index 974d75d..433c249 100644
--- a/modules/audio_processing/aec3/render_delay_controller_metrics_unittest.cc
+++ b/modules/audio_processing/aec3/render_delay_controller_metrics_unittest.cc
@@ -22,10 +22,10 @@
for (int j = 0; j < 3; ++j) {
for (int k = 0; k < kMetricsReportingIntervalBlocks - 1; ++k) {
- metrics.Update(rtc::Optional<size_t>(), 0);
+ metrics.Update(rtc::nullopt, 0);
EXPECT_FALSE(metrics.MetricsReported());
}
- metrics.Update(rtc::Optional<size_t>(), 0);
+ metrics.Update(rtc::nullopt, 0);
EXPECT_TRUE(metrics.MetricsReported());
}
}
diff --git a/modules/audio_processing/aec3/render_signal_analyzer.cc b/modules/audio_processing/aec3/render_signal_analyzer.cc
index 5e29542..22aa352 100644
--- a/modules/audio_processing/aec3/render_signal_analyzer.cc
+++ b/modules/audio_processing/aec3/render_signal_analyzer.cc
@@ -77,11 +77,11 @@
// Detect whether the spectal peak has as strong narrowband nature.
if (peak_bin > 6 && max_abs > 100 &&
X2_latest[peak_bin] > 100 * non_peak_power) {
- *narrow_peak_band = rtc::Optional<int>(peak_bin);
+ *narrow_peak_band = peak_bin;
*narrow_peak_counter = 0;
} else {
if (*narrow_peak_band && ++(*narrow_peak_counter) > 7) {
- *narrow_peak_band = rtc::Optional<int>();
+ *narrow_peak_band = rtc::nullopt;
}
}
}
diff --git a/modules/audio_processing/aec3/render_signal_analyzer_unittest.cc b/modules/audio_processing/aec3/render_signal_analyzer_unittest.cc
index dca9a04..7e01f3f 100644
--- a/modules/audio_processing/aec3/render_signal_analyzer_unittest.cc
+++ b/modules/audio_processing/aec3/render_signal_analyzer_unittest.cc
@@ -69,7 +69,7 @@
RandomizeSampleVector(&random_generator, x[0]);
fft.PaddedFft(x[0], x_old, &X);
render_buffer.Insert(x);
- analyzer.Update(render_buffer, rtc::Optional<size_t>(0));
+ analyzer.Update(render_buffer, 0);
}
mask.fill(1.f);
@@ -99,7 +99,7 @@
&sample_counter, x[0]);
render_buffer.Insert(x);
analyzer.Update(render_buffer, known_delay ? rtc::Optional<size_t>(0)
- : rtc::Optional<size_t>());
+ : rtc::nullopt);
}
};
diff --git a/modules/audio_processing/aec3/residual_echo_estimator_unittest.cc b/modules/audio_processing/aec3/residual_echo_estimator_unittest.cc
index 76a9739..b85bc1d 100644
--- a/modules/audio_processing/aec3/residual_echo_estimator_unittest.cc
+++ b/modules/audio_processing/aec3/residual_echo_estimator_unittest.cc
@@ -83,8 +83,8 @@
render_buffer.Insert(x);
aec_state.HandleEchoPathChange(echo_path_variability);
- aec_state.Update(H2, h, true, rtc::Optional<size_t>(2), render_buffer,
- E2_main, Y2, x[0], s, false);
+ aec_state.Update(H2, h, true, 2, render_buffer, E2_main, Y2, x[0], s,
+ false);
estimator.Estimate(aec_state, render_buffer, S2_linear, Y2, &R2);
}
diff --git a/modules/audio_processing/aec3/shadow_filter_update_gain_unittest.cc b/modules/audio_processing/aec3/shadow_filter_update_gain_unittest.cc
index da514d9..0d79a0d 100644
--- a/modules/audio_processing/aec3/shadow_filter_update_gain_unittest.cc
+++ b/modules/audio_processing/aec3/shadow_filter_update_gain_unittest.cc
@@ -68,8 +68,7 @@
RandomizeSampleVector(&random_generator, x[0]);
delay_buffer.Delay(x[0], y);
render_buffer.Insert(x);
- render_signal_analyzer.Update(
- render_buffer, rtc::Optional<size_t>(delay_samples / kBlockSize));
+ render_signal_analyzer.Update(render_buffer, delay_samples / kBlockSize);
shadow_filter.Filter(render_buffer, &S);
fft.Ifft(S, &s);
diff --git a/modules/audio_processing/aec3/subtractor_unittest.cc b/modules/audio_processing/aec3/subtractor_unittest.cc
index 0c296a7..b10421b 100644
--- a/modules/audio_processing/aec3/subtractor_unittest.cc
+++ b/modules/audio_processing/aec3/subtractor_unittest.cc
@@ -69,8 +69,7 @@
aec_state.HandleEchoPathChange(EchoPathVariability(false, false));
aec_state.Update(subtractor.FilterFrequencyResponse(),
subtractor.FilterImpulseResponse(),
- subtractor.ConvergedFilter(),
- rtc::Optional<size_t>(delay_samples / kBlockSize),
+ subtractor.ConvergedFilter(), delay_samples / kBlockSize,
render_buffer, E2_main, Y2, x[0], output.s_main, false);
}
diff --git a/modules/audio_processing/aec3/suppression_gain_unittest.cc b/modules/audio_processing/aec3/suppression_gain_unittest.cc
index 5774079..9fee6a2 100644
--- a/modules/audio_processing/aec3/suppression_gain_unittest.cc
+++ b/modules/audio_processing/aec3/suppression_gain_unittest.cc
@@ -70,10 +70,9 @@
R2.fill(10000000000000.f);
N2.fill(0.f);
s.fill(10.f);
- aec_state.Update(subtractor.FilterFrequencyResponse(),
- subtractor.FilterImpulseResponse(),
- subtractor.ConvergedFilter(), rtc::Optional<size_t>(10),
- render_buffer, E2, Y2, x[0], s, false);
+ aec_state.Update(
+ subtractor.FilterFrequencyResponse(), subtractor.FilterImpulseResponse(),
+ subtractor.ConvergedFilter(), 10, render_buffer, E2, Y2, x[0], s, false);
suppression_gain.GetGain(E2, R2, N2, analyzer, aec_state, x, &high_bands_gain,
&g);
std::for_each(g.begin(), g.end(), [](float a) { EXPECT_FLOAT_EQ(0.f, a); });
@@ -88,15 +87,15 @@
for (int k = 0; k <= kNumBlocksPerSecond / 5 + 1; ++k) {
aec_state.Update(subtractor.FilterFrequencyResponse(),
subtractor.FilterImpulseResponse(),
- subtractor.ConvergedFilter(), rtc::Optional<size_t>(10),
- render_buffer, E2, Y2, x[0], s, false);
+ subtractor.ConvergedFilter(), 10, render_buffer, E2, Y2,
+ x[0], s, false);
}
for (int k = 0; k < 100; ++k) {
aec_state.Update(subtractor.FilterFrequencyResponse(),
subtractor.FilterImpulseResponse(),
- subtractor.ConvergedFilter(), rtc::Optional<size_t>(10),
- render_buffer, E2, Y2, x[0], s, false);
+ subtractor.ConvergedFilter(), 10, render_buffer, E2, Y2,
+ x[0], s, false);
suppression_gain.GetGain(E2, R2, N2, analyzer, aec_state, x,
&high_bands_gain, &g);
}
@@ -111,8 +110,8 @@
for (int k = 0; k < 100; ++k) {
aec_state.Update(subtractor.FilterFrequencyResponse(),
subtractor.FilterImpulseResponse(),
- subtractor.ConvergedFilter(), rtc::Optional<size_t>(10),
- render_buffer, E2, Y2, x[0], s, false);
+ subtractor.ConvergedFilter(), 10, render_buffer, E2, Y2,
+ x[0], s, false);
suppression_gain.GetGain(E2, R2, N2, analyzer, aec_state, x,
&high_bands_gain, &g);
}
diff --git a/modules/audio_processing/beamformer/array_util.cc b/modules/audio_processing/beamformer/array_util.cc
index f5862bb..e853559 100644
--- a/modules/audio_processing/beamformer/array_util.cc
+++ b/modules/audio_processing/beamformer/array_util.cc
@@ -65,10 +65,10 @@
const Point pair_direction =
PairDirection(array_geometry[i - 1], array_geometry[i]);
if (!AreParallel(first_pair_direction, pair_direction)) {
- return rtc::Optional<Point>();
+ return rtc::nullopt;
}
}
- return rtc::Optional<Point>(first_pair_direction);
+ return first_pair_direction;
}
rtc::Optional<Point> GetNormalIfPlanar(
@@ -86,30 +86,30 @@
}
}
if (is_linear) {
- return rtc::Optional<Point>();
+ return rtc::nullopt;
}
const Point normal_direction =
CrossProduct(first_pair_direction, pair_direction);
for (; i < array_geometry.size(); ++i) {
pair_direction = PairDirection(array_geometry[i - 1], array_geometry[i]);
if (!ArePerpendicular(normal_direction, pair_direction)) {
- return rtc::Optional<Point>();
+ return rtc::nullopt;
}
}
- return rtc::Optional<Point>(normal_direction);
+ return normal_direction;
}
rtc::Optional<Point> GetArrayNormalIfExists(
const std::vector<Point>& array_geometry) {
const rtc::Optional<Point> direction = GetDirectionIfLinear(array_geometry);
if (direction) {
- return rtc::Optional<Point>(Point(direction->y(), -direction->x(), 0.f));
+ return Point(direction->y(), -direction->x(), 0.f);
}
const rtc::Optional<Point> normal = GetNormalIfPlanar(array_geometry);
if (normal && normal->z() < kMaxDotProduct) {
return normal;
}
- return rtc::Optional<Point>();
+ return rtc::nullopt;
}
Point AzimuthToPoint(float azimuth) {
diff --git a/modules/audio_processing/echo_detector/circular_buffer.cc b/modules/audio_processing/echo_detector/circular_buffer.cc
index dc4fd93..0c6cc8a 100644
--- a/modules/audio_processing/echo_detector/circular_buffer.cc
+++ b/modules/audio_processing/echo_detector/circular_buffer.cc
@@ -30,14 +30,14 @@
rtc::Optional<float> CircularBuffer::Pop() {
if (nr_elements_in_buffer_ == 0) {
- return rtc::Optional<float>();
+ return rtc::nullopt;
}
const size_t index =
(buffer_.size() + next_insertion_index_ - nr_elements_in_buffer_) %
buffer_.size();
RTC_DCHECK_LT(index, buffer_.size());
--nr_elements_in_buffer_;
- return rtc::Optional<float>(buffer_[index]);
+ return buffer_[index];
}
void CircularBuffer::Clear() {
diff --git a/modules/audio_processing/echo_detector/circular_buffer_unittest.cc b/modules/audio_processing/echo_detector/circular_buffer_unittest.cc
index 41f276b..657bd05 100644
--- a/modules/audio_processing/echo_detector/circular_buffer_unittest.cc
+++ b/modules/audio_processing/echo_detector/circular_buffer_unittest.cc
@@ -17,8 +17,8 @@
CircularBuffer test_buffer(3);
test_buffer.Push(1.f);
test_buffer.Push(2.f);
- EXPECT_EQ(rtc::Optional<float>(1.f), test_buffer.Pop());
- EXPECT_EQ(rtc::Optional<float>(2.f), test_buffer.Pop());
+ EXPECT_EQ(1.f, test_buffer.Pop());
+ EXPECT_EQ(2.f, test_buffer.Pop());
}
TEST(CircularBufferTests, FillTest) {
@@ -26,9 +26,9 @@
test_buffer.Push(1.f);
test_buffer.Push(2.f);
test_buffer.Push(3.f);
- EXPECT_EQ(rtc::Optional<float>(1.f), test_buffer.Pop());
- EXPECT_EQ(rtc::Optional<float>(2.f), test_buffer.Pop());
- EXPECT_EQ(rtc::Optional<float>(3.f), test_buffer.Pop());
+ EXPECT_EQ(1.f, test_buffer.Pop());
+ EXPECT_EQ(2.f, test_buffer.Pop());
+ EXPECT_EQ(3.f, test_buffer.Pop());
}
TEST(CircularBufferTests, OverflowTest) {
@@ -39,14 +39,14 @@
test_buffer.Push(4.f);
// Because the circular buffer has a size of 3, the first insert should have
// been forgotten.
- EXPECT_EQ(rtc::Optional<float>(2.f), test_buffer.Pop());
- EXPECT_EQ(rtc::Optional<float>(3.f), test_buffer.Pop());
- EXPECT_EQ(rtc::Optional<float>(4.f), test_buffer.Pop());
+ EXPECT_EQ(2.f, test_buffer.Pop());
+ EXPECT_EQ(3.f, test_buffer.Pop());
+ EXPECT_EQ(4.f, test_buffer.Pop());
}
TEST(CircularBufferTests, ReadFromEmpty) {
CircularBuffer test_buffer(3);
- EXPECT_EQ(rtc::Optional<float>(), test_buffer.Pop());
+ EXPECT_EQ(rtc::nullopt, test_buffer.Pop());
}
} // namespace webrtc
diff --git a/modules/audio_processing/gain_control_impl.cc b/modules/audio_processing/gain_control_impl.cc
index eeab1e0..e550ebb 100644
--- a/modules/audio_processing/gain_control_impl.cc
+++ b/modules/audio_processing/gain_control_impl.cc
@@ -68,7 +68,7 @@
}
void set_capture_level(int capture_level) {
- capture_level_ = rtc::Optional<int>(capture_level);
+ capture_level_ = capture_level;
}
int get_capture_level() {
@@ -394,8 +394,8 @@
rtc::CritScope cs_capture(crit_capture_);
data_dumper_->InitiateNewSetOfRecordings();
- num_proc_channels_ = rtc::Optional<size_t>(num_proc_channels);
- sample_rate_hz_ = rtc::Optional<int>(sample_rate_hz);
+ num_proc_channels_ = num_proc_channels;
+ sample_rate_hz_ = sample_rate_hz;
if (!enabled_) {
return;
diff --git a/modules/audio_processing/level_controller/level_controller.cc b/modules/audio_processing/level_controller/level_controller.cc
index 6343ef7..521f82e 100644
--- a/modules/audio_processing/level_controller/level_controller.cc
+++ b/modules/audio_processing/level_controller/level_controller.cc
@@ -202,7 +202,7 @@
metrics_.Initialize(sample_rate_hz);
last_gain_ = 1.0f;
- sample_rate_hz_ = rtc::Optional<int>(sample_rate_hz);
+ sample_rate_hz_ = sample_rate_hz;
dc_forgetting_factor_ = 0.01f * sample_rate_hz / 48000.f;
std::fill(dc_level_, dc_level_ + arraysize(dc_level_), 0.f);
}
diff --git a/modules/audio_processing/level_controller/level_controller_unittest.cc b/modules/audio_processing/level_controller/level_controller_unittest.cc
index 837cfc3..cb36ae0 100644
--- a/modules/audio_processing/level_controller/level_controller_unittest.cc
+++ b/modules/audio_processing/level_controller/level_controller_unittest.cc
@@ -90,20 +90,20 @@
TEST(LevelControlBitExactnessTest, Mono8kHz) {
const float kOutputReference[] = {-0.013939f, -0.012154f, -0.009054f};
- RunBitexactnessTest(AudioProcessing::kSampleRate8kHz, 1,
- rtc::Optional<float>(), kOutputReference);
+ RunBitexactnessTest(AudioProcessing::kSampleRate8kHz, 1, rtc::nullopt,
+ kOutputReference);
}
TEST(LevelControlBitExactnessTest, Mono16kHz) {
const float kOutputReference[] = {-0.013706f, -0.013215f, -0.013018f};
- RunBitexactnessTest(AudioProcessing::kSampleRate16kHz, 1,
- rtc::Optional<float>(), kOutputReference);
+ RunBitexactnessTest(AudioProcessing::kSampleRate16kHz, 1, rtc::nullopt,
+ kOutputReference);
}
TEST(LevelControlBitExactnessTest, Mono32kHz) {
const float kOutputReference[] = {-0.014495f, -0.016425f, -0.016085f};
- RunBitexactnessTest(AudioProcessing::kSampleRate32kHz, 1,
- rtc::Optional<float>(), kOutputReference);
+ RunBitexactnessTest(AudioProcessing::kSampleRate32kHz, 1, rtc::nullopt,
+ kOutputReference);
}
// TODO(peah): Investigate why this particular testcase differ between Android
@@ -115,42 +115,42 @@
#else
const float kOutputReference[] = {-0.014306f, -0.015209f, -0.017466f};
#endif
- RunBitexactnessTest(AudioProcessing::kSampleRate48kHz, 1,
- rtc::Optional<float>(), kOutputReference);
+ RunBitexactnessTest(AudioProcessing::kSampleRate48kHz, 1, rtc::nullopt,
+ kOutputReference);
}
TEST(LevelControlBitExactnessTest, Stereo8kHz) {
const float kOutputReference[] = {-0.014063f, -0.008450f, -0.012159f,
-0.051967f, -0.023202f, -0.047858f};
- RunBitexactnessTest(AudioProcessing::kSampleRate8kHz, 2,
- rtc::Optional<float>(), kOutputReference);
+ RunBitexactnessTest(AudioProcessing::kSampleRate8kHz, 2, rtc::nullopt,
+ kOutputReference);
}
TEST(LevelControlBitExactnessTest, Stereo16kHz) {
const float kOutputReference[] = {-0.012714f, -0.005896f, -0.012220f,
-0.053306f, -0.024549f, -0.051527f};
- RunBitexactnessTest(AudioProcessing::kSampleRate16kHz, 2,
- rtc::Optional<float>(), kOutputReference);
+ RunBitexactnessTest(AudioProcessing::kSampleRate16kHz, 2, rtc::nullopt,
+ kOutputReference);
}
TEST(LevelControlBitExactnessTest, Stereo32kHz) {
const float kOutputReference[] = {-0.011764f, -0.007044f, -0.013472f,
-0.053537f, -0.026322f, -0.056253f};
- RunBitexactnessTest(AudioProcessing::kSampleRate32kHz, 2,
- rtc::Optional<float>(), kOutputReference);
+ RunBitexactnessTest(AudioProcessing::kSampleRate32kHz, 2, rtc::nullopt,
+ kOutputReference);
}
TEST(LevelControlBitExactnessTest, Stereo48kHz) {
const float kOutputReference[] = {-0.010643f, -0.006334f, -0.011377f,
-0.049088f, -0.023600f, -0.050465f};
- RunBitexactnessTest(AudioProcessing::kSampleRate48kHz, 2,
- rtc::Optional<float>(), kOutputReference);
+ RunBitexactnessTest(AudioProcessing::kSampleRate48kHz, 2, rtc::nullopt,
+ kOutputReference);
}
TEST(LevelControlBitExactnessTest, MonoInitial48kHz) {
const float kOutputReference[] = {-0.013884f, -0.014761f, -0.016951f};
- RunBitexactnessTest(AudioProcessing::kSampleRate48kHz, 1,
- rtc::Optional<float>(-50), kOutputReference);
+ RunBitexactnessTest(AudioProcessing::kSampleRate48kHz, 1, -50,
+ kOutputReference);
}
} // namespace webrtc
diff --git a/modules/audio_processing/rms_level.cc b/modules/audio_processing/rms_level.cc
index 1470267..55db226 100644
--- a/modules/audio_processing/rms_level.cc
+++ b/modules/audio_processing/rms_level.cc
@@ -54,7 +54,7 @@
sum_square_ = 0.f;
sample_count_ = 0;
max_sum_square_ = 0.f;
- block_size_ = rtc::Optional<size_t>();
+ block_size_ = rtc::nullopt;
}
void RmsLevel::Analyze(rtc::ArrayView<const int16_t> data) {
@@ -99,9 +99,9 @@
}
void RmsLevel::CheckBlockSize(size_t block_size) {
- if (block_size_ != rtc::Optional<size_t>(block_size)) {
+ if (block_size_ != block_size) {
Reset();
- block_size_ = rtc::Optional<size_t>(block_size);
+ block_size_ = block_size;
}
}
} // namespace webrtc
diff --git a/modules/audio_processing/test/audioproc_float.cc b/modules/audio_processing/test/audioproc_float.cc
index 45ca8f01..c5229a4 100644
--- a/modules/audio_processing/test/audioproc_float.cc
+++ b/modules/audio_processing/test/audioproc_float.cc
@@ -186,39 +186,39 @@
void SetSettingIfSpecified(const std::string& value,
rtc::Optional<std::string>* parameter) {
if (value.compare("") != 0) {
- *parameter = rtc::Optional<std::string>(value);
+ *parameter = value;
}
}
void SetSettingIfSpecified(int value, rtc::Optional<int>* parameter) {
if (value != kParameterNotSpecifiedValue) {
- *parameter = rtc::Optional<int>(value);
+ *parameter = value;
}
}
void SetSettingIfFlagSet(int32_t flag, rtc::Optional<bool>* parameter) {
if (flag == 0) {
- *parameter = rtc::Optional<bool>(false);
+ *parameter = false;
} else if (flag == 1) {
- *parameter = rtc::Optional<bool>(true);
+ *parameter = true;
}
}
SimulationSettings CreateSettings() {
SimulationSettings settings;
if (FLAG_all_default) {
- settings.use_le = rtc::Optional<bool>(true);
- settings.use_vad = rtc::Optional<bool>(true);
- settings.use_ie = rtc::Optional<bool>(false);
- settings.use_bf = rtc::Optional<bool>(false);
- settings.use_ts = rtc::Optional<bool>(true);
- settings.use_ns = rtc::Optional<bool>(true);
- settings.use_hpf = rtc::Optional<bool>(true);
- settings.use_agc = rtc::Optional<bool>(true);
- settings.use_agc2 = rtc::Optional<bool>(false);
- settings.use_aec = rtc::Optional<bool>(true);
- settings.use_aecm = rtc::Optional<bool>(false);
- settings.use_ed = rtc::Optional<bool>(false);
+ settings.use_le = true;
+ settings.use_vad = true;
+ settings.use_ie = false;
+ settings.use_bf = false;
+ settings.use_ts = true;
+ settings.use_ns = true;
+ settings.use_hpf = true;
+ settings.use_agc = true;
+ settings.use_agc2 = false;
+ settings.use_aec = true;
+ settings.use_aecm = false;
+ settings.use_ed = false;
}
SetSettingIfSpecified(FLAG_dump_input, &settings.aec_dump_input_filename);
SetSettingIfSpecified(FLAG_dump_output, &settings.aec_dump_output_filename);
diff --git a/modules/audio_processing/test/debug_dump_replayer.cc b/modules/audio_processing/test/debug_dump_replayer.cc
index a3c4d63..a027d07 100644
--- a/modules/audio_processing/test/debug_dump_replayer.cc
+++ b/modules/audio_processing/test/debug_dump_replayer.cc
@@ -51,9 +51,9 @@
// Get next event that has not run.
rtc::Optional<audioproc::Event> DebugDumpReplayer::GetNextEvent() const {
if (!has_next_event_)
- return rtc::Optional<audioproc::Event>();
+ return rtc::nullopt;
else
- return rtc::Optional<audioproc::Event>(next_event_);
+ return next_event_;
}
// Run the next event. Returns the event type.
diff --git a/modules/audio_processing/test/fake_recording_device.cc b/modules/audio_processing/test/fake_recording_device.cc
index ccf5080..aee3dce 100644
--- a/modules/audio_processing/test/fake_recording_device.cc
+++ b/modules/audio_processing/test/fake_recording_device.cc
@@ -34,9 +34,7 @@
: mic_level_(initial_mic_level) {}
int mic_level() const { return mic_level_; }
void set_mic_level(const int level) { mic_level_ = level; }
- void set_undo_mic_level(const int level) {
- undo_mic_level_ = rtc::Optional<int>(level);
- }
+ void set_undo_mic_level(const int level) { undo_mic_level_ = level; }
virtual ~FakeRecordingDeviceWorker() = default;
virtual void ModifyBufferInt16(AudioFrame* buffer) = 0;
virtual void ModifyBufferFloat(ChannelBuffer<float>* buffer) = 0;
diff --git a/modules/audio_processing/test/performance_timer.cc b/modules/audio_processing/test/performance_timer.cc
index c59aeed..1a82258 100644
--- a/modules/audio_processing/test/performance_timer.cc
+++ b/modules/audio_processing/test/performance_timer.cc
@@ -27,7 +27,7 @@
PerformanceTimer::~PerformanceTimer() = default;
void PerformanceTimer::StartTimer() {
- start_timestamp_us_ = rtc::Optional<int64_t>(clock_->TimeInMicroseconds());
+ start_timestamp_us_ = clock_->TimeInMicroseconds();
}
void PerformanceTimer::StopTimer() {