diff --git a/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc b/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc index ffac7d1278..cc9b09bb32 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 @@ TEST(AdaptiveFirFilter, FilterAndAdapt) { filter.Adapt(render_buffer, G); aec_state.HandleEchoPathChange(EchoPathVariability(false, false)); aec_state.Update(filter.FilterFrequencyResponse(), - filter.FilterImpulseResponse(), true, - rtc::Optional(), 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 9b0f774664..9349e475dd 100644 --- a/modules/audio_processing/aec3/aec_state.cc +++ b/modules/audio_processing/aec3/aec_state.cc @@ -113,12 +113,11 @@ void AecState::Update(const std::vector>& force_zero_gain_ = (++force_zero_gain_counter_) < kNumBlocksPerSecond / 5; // Estimate delays. - filter_delay_ = rtc::Optional( - EstimateFilterDelay(adaptive_filter_frequency_response)); + filter_delay_ = EstimateFilterDelay(adaptive_filter_frequency_response); external_delay_ = external_delay_samples ? rtc::Optional(*external_delay_samples / kBlockSize) - : rtc::Optional(); + : 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 fd6a34b2a5..34b877b4f9 100644 --- a/modules/audio_processing/aec3/aec_state_unittest.cc +++ b/modules/audio_processing/aec3/aec_state_unittest.cc @@ -44,51 +44,44 @@ TEST(AecState, NormalUsage) { // 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(), 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(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(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(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(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(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(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 @@ TEST(AecState, NormalUsage) { 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(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 @@ TEST(AecState, NormalUsage) { 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(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 @@ TEST(AecState, NormalUsage) { 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(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 @@ TEST(AecState, ConvergedFilterDelay) { 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(), 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 @@ TEST(AecState, ExternalDelay) { 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(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 @@ TEST(AecState, ExternalDelay) { // 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(), 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 a57d5416cf..914f2d28eb 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 @@ rtc::Optional EchoPathDelayEstimator::EstimateDelay( return aggregated_matched_filter_lag ? rtc::Optional(*aggregated_matched_filter_lag * down_sampling_factor_) - : rtc::Optional(); + : 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 84a54b45aa..24b50e8c95 100644 --- a/modules/audio_processing/aec3/echo_remover_unittest.cc +++ b/modules/audio_processing/aec3/echo_remover_unittest.cc @@ -64,7 +64,7 @@ TEST(EchoRemover, BasicApiCalls) { k % 5 == 0 ? true : false); rtc::Optional echo_path_delay_samples = (k % 6 == 0 ? rtc::Optional(k * 10) - : rtc::Optional()); + : rtc::nullopt); render_buffer->Insert(render); render_buffer->UpdateBuffers(); remover->ProcessCapture(echo_path_delay_samples, echo_path_variability, @@ -198,8 +198,7 @@ TEST(EchoRemover, BasicEchoRemoval) { render_buffer->Insert(x); render_buffer->UpdateBuffers(); - remover->ProcessCapture(rtc::Optional(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 9e794de5d7..561fcdb722 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 @@ void RunFilterUpdateTest(int num_blocks_to_process, // Update the delay. aec_state.HandleEchoPathChange(EchoPathVariability(false, false)); aec_state.Update(main_filter.FilterFrequencyResponse(), - main_filter.FilterImpulseResponse(), true, - rtc::Optional(), 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 5115fcbf43..92cb4f7736 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 @@ rtc::Optional MatchedFilterLagAggregator::Aggregate( std::max_element(histogram_.begin(), histogram_.end())); if (histogram_[candidate] > 25) { - return rtc::Optional(candidate); + return candidate; } } - return rtc::Optional(); + 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 e03ea8f362..06004190ae 100644 --- a/modules/audio_processing/aec3/matched_filter_unittest.cc +++ b/modules/audio_processing/aec3/matched_filter_unittest.cc @@ -183,8 +183,7 @@ TEST(MatchedFilter, LagEstimation) { if ((alignment_shift_sub_blocks + 3 * kWindowSizeSubBlocks / 4) * sub_block_size > delay_samples) { - expected_most_accurate_lag_estimate = - rtc::Optional(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 7de97cd095..2c1f263ee7 100644 --- a/modules/audio_processing/aec3/render_delay_controller.cc +++ b/modules/audio_processing/aec3/render_delay_controller.cc @@ -96,7 +96,7 @@ void RenderDelayControllerImpl::Reset() { blocks_since_last_delay_estimate_ = 300000; echo_path_delay_samples_ = delay_ * kBlockSize; align_call_counter_ = 0; - headroom_samples_ = rtc::Optional(); + headroom_samples_ = rtc::nullopt; std::fill(capture_delay_buffer_.begin(), capture_delay_buffer_.end(), 0.f); delay_estimator_.Reset(); } @@ -150,15 +150,15 @@ size_t RenderDelayControllerImpl::GetDelay( 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(headroom); + headroom_samples_ = headroom; } else { - headroom_samples_ = rtc::Optional(); + headroom_samples_ = rtc::nullopt; } } - metrics_.Update(rtc::Optional(echo_path_delay_samples_), delay_); + metrics_.Update(echo_path_delay_samples_, delay_); } else { - metrics_.Update(rtc::Optional(), 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 974d75dce9..433c249554 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 @@ TEST(RenderDelayControllerMetrics, NormalUsage) { for (int j = 0; j < 3; ++j) { for (int k = 0; k < kMetricsReportingIntervalBlocks - 1; ++k) { - metrics.Update(rtc::Optional(), 0); + metrics.Update(rtc::nullopt, 0); EXPECT_FALSE(metrics.MetricsReported()); } - metrics.Update(rtc::Optional(), 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 5e29542391..22aa352320 100644 --- a/modules/audio_processing/aec3/render_signal_analyzer.cc +++ b/modules/audio_processing/aec3/render_signal_analyzer.cc @@ -77,11 +77,11 @@ void IdentifyStrongNarrowBandComponent(const RenderBuffer& render_buffer, // 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(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(); + *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 dca9a04c53..7e01f3fc44 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 @@ TEST(RenderSignalAnalyzer, NoFalseDetectionOfNarrowBands) { RandomizeSampleVector(&random_generator, x[0]); fft.PaddedFft(x[0], x_old, &X); render_buffer.Insert(x); - analyzer.Update(render_buffer, rtc::Optional(0)); + analyzer.Update(render_buffer, 0); } mask.fill(1.f); @@ -99,7 +99,7 @@ TEST(RenderSignalAnalyzer, NarrowBandDetection) { &sample_counter, x[0]); render_buffer.Insert(x); analyzer.Update(render_buffer, known_delay ? rtc::Optional(0) - : rtc::Optional()); + : 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 76a97392fa..b85bc1d936 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 @@ TEST(ResidualEchoEstimator, BasicTest) { render_buffer.Insert(x); aec_state.HandleEchoPathChange(echo_path_variability); - aec_state.Update(H2, h, true, rtc::Optional(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 da514d98ce..0d79a0d87d 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 @@ void RunFilterUpdateTest(int num_blocks_to_process, RandomizeSampleVector(&random_generator, x[0]); delay_buffer.Delay(x[0], y); render_buffer.Insert(x); - render_signal_analyzer.Update( - render_buffer, rtc::Optional(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 0c296a7c18..b10421b428 100644 --- a/modules/audio_processing/aec3/subtractor_unittest.cc +++ b/modules/audio_processing/aec3/subtractor_unittest.cc @@ -69,8 +69,7 @@ float RunSubtractorTest(int num_blocks_to_process, aec_state.HandleEchoPathChange(EchoPathVariability(false, false)); aec_state.Update(subtractor.FilterFrequencyResponse(), subtractor.FilterImpulseResponse(), - subtractor.ConvergedFilter(), - rtc::Optional(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 577407916b..9fee6a24a9 100644 --- a/modules/audio_processing/aec3/suppression_gain_unittest.cc +++ b/modules/audio_processing/aec3/suppression_gain_unittest.cc @@ -70,10 +70,9 @@ TEST(SuppressionGain, BasicGainComputation) { R2.fill(10000000000000.f); N2.fill(0.f); s.fill(10.f); - aec_state.Update(subtractor.FilterFrequencyResponse(), - subtractor.FilterImpulseResponse(), - subtractor.ConvergedFilter(), rtc::Optional(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 @@ TEST(SuppressionGain, BasicGainComputation) { for (int k = 0; k <= kNumBlocksPerSecond / 5 + 1; ++k) { aec_state.Update(subtractor.FilterFrequencyResponse(), subtractor.FilterImpulseResponse(), - subtractor.ConvergedFilter(), rtc::Optional(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(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 @@ TEST(SuppressionGain, BasicGainComputation) { for (int k = 0; k < 100; ++k) { aec_state.Update(subtractor.FilterFrequencyResponse(), subtractor.FilterImpulseResponse(), - subtractor.ConvergedFilter(), rtc::Optional(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 f5862bb754..e853559140 100644 --- a/modules/audio_processing/beamformer/array_util.cc +++ b/modules/audio_processing/beamformer/array_util.cc @@ -65,10 +65,10 @@ rtc::Optional GetDirectionIfLinear( const Point pair_direction = PairDirection(array_geometry[i - 1], array_geometry[i]); if (!AreParallel(first_pair_direction, pair_direction)) { - return rtc::Optional(); + return rtc::nullopt; } } - return rtc::Optional(first_pair_direction); + return first_pair_direction; } rtc::Optional GetNormalIfPlanar( @@ -86,30 +86,30 @@ rtc::Optional GetNormalIfPlanar( } } if (is_linear) { - return rtc::Optional(); + 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(); + return rtc::nullopt; } } - return rtc::Optional(normal_direction); + return normal_direction; } rtc::Optional GetArrayNormalIfExists( const std::vector& array_geometry) { const rtc::Optional direction = GetDirectionIfLinear(array_geometry); if (direction) { - return rtc::Optional(Point(direction->y(), -direction->x(), 0.f)); + return Point(direction->y(), -direction->x(), 0.f); } const rtc::Optional normal = GetNormalIfPlanar(array_geometry); if (normal && normal->z() < kMaxDotProduct) { return normal; } - return rtc::Optional(); + 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 dc4fd93605..0c6cc8a933 100644 --- a/modules/audio_processing/echo_detector/circular_buffer.cc +++ b/modules/audio_processing/echo_detector/circular_buffer.cc @@ -30,14 +30,14 @@ void CircularBuffer::Push(float value) { rtc::Optional CircularBuffer::Pop() { if (nr_elements_in_buffer_ == 0) { - return rtc::Optional(); + 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(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 41f276b96c..657bd05888 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 @@ TEST(CircularBufferTests, LessThanMaxTest) { CircularBuffer test_buffer(3); test_buffer.Push(1.f); test_buffer.Push(2.f); - EXPECT_EQ(rtc::Optional(1.f), test_buffer.Pop()); - EXPECT_EQ(rtc::Optional(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(CircularBufferTests, FillTest) { test_buffer.Push(1.f); test_buffer.Push(2.f); test_buffer.Push(3.f); - EXPECT_EQ(rtc::Optional(1.f), test_buffer.Pop()); - EXPECT_EQ(rtc::Optional(2.f), test_buffer.Pop()); - EXPECT_EQ(rtc::Optional(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(CircularBufferTests, OverflowTest) { 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(2.f), test_buffer.Pop()); - EXPECT_EQ(rtc::Optional(3.f), test_buffer.Pop()); - EXPECT_EQ(rtc::Optional(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(), 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 eeab1e038d..e550ebbfad 100644 --- a/modules/audio_processing/gain_control_impl.cc +++ b/modules/audio_processing/gain_control_impl.cc @@ -68,7 +68,7 @@ class GainControlImpl::GainController { } void set_capture_level(int capture_level) { - capture_level_ = rtc::Optional(capture_level); + capture_level_ = capture_level; } int get_capture_level() { @@ -394,8 +394,8 @@ void GainControlImpl::Initialize(size_t num_proc_channels, int sample_rate_hz) { rtc::CritScope cs_capture(crit_capture_); data_dumper_->InitiateNewSetOfRecordings(); - num_proc_channels_ = rtc::Optional(num_proc_channels); - sample_rate_hz_ = rtc::Optional(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 6343ef7a01..521f82e842 100644 --- a/modules/audio_processing/level_controller/level_controller.cc +++ b/modules/audio_processing/level_controller/level_controller.cc @@ -202,7 +202,7 @@ void LevelController::Initialize(int sample_rate_hz) { metrics_.Initialize(sample_rate_hz); last_gain_ = 1.0f; - sample_rate_hz_ = rtc::Optional(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 837cfc3928..cb36ae08f3 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(LevelControllerConfig, ToString) { TEST(LevelControlBitExactnessTest, Mono8kHz) { const float kOutputReference[] = {-0.013939f, -0.012154f, -0.009054f}; - RunBitexactnessTest(AudioProcessing::kSampleRate8kHz, 1, - rtc::Optional(), 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(), 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(), kOutputReference); + RunBitexactnessTest(AudioProcessing::kSampleRate32kHz, 1, rtc::nullopt, + kOutputReference); } // TODO(peah): Investigate why this particular testcase differ between Android @@ -115,42 +115,42 @@ TEST(LevelControlBitExactnessTest, Mono48kHz) { #else const float kOutputReference[] = {-0.014306f, -0.015209f, -0.017466f}; #endif - RunBitexactnessTest(AudioProcessing::kSampleRate48kHz, 1, - rtc::Optional(), 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(), 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(), 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(), 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(), 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(-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 1470267f7b..55db226af2 100644 --- a/modules/audio_processing/rms_level.cc +++ b/modules/audio_processing/rms_level.cc @@ -54,7 +54,7 @@ void RmsLevel::Reset() { sum_square_ = 0.f; sample_count_ = 0; max_sum_square_ = 0.f; - block_size_ = rtc::Optional(); + block_size_ = rtc::nullopt; } void RmsLevel::Analyze(rtc::ArrayView data) { @@ -99,9 +99,9 @@ RmsLevel::Levels RmsLevel::AverageAndPeak() { } void RmsLevel::CheckBlockSize(size_t block_size) { - if (block_size_ != rtc::Optional(block_size)) { + if (block_size_ != block_size) { Reset(); - block_size_ = rtc::Optional(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 45ca8f01b7..c5229a4e10 100644 --- a/modules/audio_processing/test/audioproc_float.cc +++ b/modules/audio_processing/test/audioproc_float.cc @@ -186,39 +186,39 @@ DEFINE_bool(help, false, "Print this message"); void SetSettingIfSpecified(const std::string& value, rtc::Optional* parameter) { if (value.compare("") != 0) { - *parameter = rtc::Optional(value); + *parameter = value; } } void SetSettingIfSpecified(int value, rtc::Optional* parameter) { if (value != kParameterNotSpecifiedValue) { - *parameter = rtc::Optional(value); + *parameter = value; } } void SetSettingIfFlagSet(int32_t flag, rtc::Optional* parameter) { if (flag == 0) { - *parameter = rtc::Optional(false); + *parameter = false; } else if (flag == 1) { - *parameter = rtc::Optional(true); + *parameter = true; } } SimulationSettings CreateSettings() { SimulationSettings settings; if (FLAG_all_default) { - settings.use_le = rtc::Optional(true); - settings.use_vad = rtc::Optional(true); - settings.use_ie = rtc::Optional(false); - settings.use_bf = rtc::Optional(false); - settings.use_ts = rtc::Optional(true); - settings.use_ns = rtc::Optional(true); - settings.use_hpf = rtc::Optional(true); - settings.use_agc = rtc::Optional(true); - settings.use_agc2 = rtc::Optional(false); - settings.use_aec = rtc::Optional(true); - settings.use_aecm = rtc::Optional(false); - settings.use_ed = rtc::Optional(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 a3c4d63f23..a027d07a9f 100644 --- a/modules/audio_processing/test/debug_dump_replayer.cc +++ b/modules/audio_processing/test/debug_dump_replayer.cc @@ -51,9 +51,9 @@ bool DebugDumpReplayer::SetDumpFile(const std::string& filename) { // Get next event that has not run. rtc::Optional DebugDumpReplayer::GetNextEvent() const { if (!has_next_event_) - return rtc::Optional(); + return rtc::nullopt; else - return rtc::Optional(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 ccf50800ba..aee3dcef61 100644 --- a/modules/audio_processing/test/fake_recording_device.cc +++ b/modules/audio_processing/test/fake_recording_device.cc @@ -34,9 +34,7 @@ class FakeRecordingDeviceWorker { : 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(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* buffer) = 0; diff --git a/modules/audio_processing/test/performance_timer.cc b/modules/audio_processing/test/performance_timer.cc index c59aeed405..1a82258903 100644 --- a/modules/audio_processing/test/performance_timer.cc +++ b/modules/audio_processing/test/performance_timer.cc @@ -27,7 +27,7 @@ PerformanceTimer::PerformanceTimer(int num_frames_to_process) PerformanceTimer::~PerformanceTimer() = default; void PerformanceTimer::StartTimer() { - start_timestamp_us_ = rtc::Optional(clock_->TimeInMicroseconds()); + start_timestamp_us_ = clock_->TimeInMicroseconds(); } void PerformanceTimer::StopTimer() {