Fix Chromium clang plugin warnings
BUG=webrtc:163
Review-Url: https://codereview.webrtc.org/2288593004
Cr-Commit-Position: refs/heads/master@{#13961}
diff --git a/webrtc/common_audio/blocker.cc b/webrtc/common_audio/blocker.cc
index 13432f2..86dfdf3 100644
--- a/webrtc/common_audio/blocker.cc
+++ b/webrtc/common_audio/blocker.cc
@@ -125,6 +125,8 @@
input_buffer_.MoveReadPositionBackward(initial_delay_);
}
+Blocker::~Blocker() = default;
+
// When block_size < chunk_size the input and output buffers look like this:
//
// delay* chunk_size chunk_size + delay*
diff --git a/webrtc/common_audio/blocker.h b/webrtc/common_audio/blocker.h
index edf81d3..07f9f1a 100644
--- a/webrtc/common_audio/blocker.h
+++ b/webrtc/common_audio/blocker.h
@@ -71,6 +71,7 @@
const float* window,
size_t shift_amount,
BlockerCallback* callback);
+ ~Blocker();
void ProcessChunk(const float* const* input,
size_t chunk_size,
diff --git a/webrtc/common_audio/channel_buffer.cc b/webrtc/common_audio/channel_buffer.cc
index cc0001b..0f36411 100644
--- a/webrtc/common_audio/channel_buffer.cc
+++ b/webrtc/common_audio/channel_buffer.cc
@@ -22,6 +22,8 @@
fvalid_(true),
fbuf_(num_frames, num_channels, num_bands) {}
+IFChannelBuffer::~IFChannelBuffer() = default;
+
ChannelBuffer<int16_t>* IFChannelBuffer::ibuf() {
RefreshI();
fvalid_ = false;
diff --git a/webrtc/common_audio/channel_buffer.h b/webrtc/common_audio/channel_buffer.h
index d6661de..f4ed683 100644
--- a/webrtc/common_audio/channel_buffer.h
+++ b/webrtc/common_audio/channel_buffer.h
@@ -153,6 +153,7 @@
class IFChannelBuffer {
public:
IFChannelBuffer(size_t num_frames, size_t num_channels, size_t num_bands = 1);
+ ~IFChannelBuffer();
ChannelBuffer<int16_t>* ibuf();
ChannelBuffer<float>* fbuf();
diff --git a/webrtc/common_audio/lapped_transform.cc b/webrtc/common_audio/lapped_transform.cc
index 006bda0..8a791f3 100644
--- a/webrtc/common_audio/lapped_transform.cc
+++ b/webrtc/common_audio/lapped_transform.cc
@@ -92,6 +92,8 @@
RTC_CHECK_EQ(0u, block_length_ & (block_length_ - 1));
}
+LappedTransform::~LappedTransform() = default;
+
void LappedTransform::ProcessChunk(const float* const* in_chunk,
float* const* out_chunk) {
blocker_.ProcessChunk(in_chunk, chunk_length_, num_in_channels_,
diff --git a/webrtc/common_audio/lapped_transform.h b/webrtc/common_audio/lapped_transform.h
index 8327359..0d668d0 100644
--- a/webrtc/common_audio/lapped_transform.h
+++ b/webrtc/common_audio/lapped_transform.h
@@ -53,7 +53,7 @@
size_t block_length,
size_t shift_amount,
Callback* callback);
- ~LappedTransform() {}
+ ~LappedTransform();
// Main audio processing helper method. Internally slices |in_chunk| into
// blocks, transforms them to frequency domain, calls the callback for each
@@ -93,11 +93,11 @@
public:
explicit BlockThunk(LappedTransform* parent) : parent_(parent) {}
- virtual void ProcessBlock(const float* const* input,
+ void ProcessBlock(const float* const* input,
size_t num_frames,
size_t num_input_channels,
size_t num_output_channels,
- float* const* output);
+ float* const* output) override;
private:
LappedTransform* const parent_;
diff --git a/webrtc/modules/audio_processing/BUILD.gn b/webrtc/modules/audio_processing/BUILD.gn
index 5deaecb..9b3259f 100644
--- a/webrtc/modules/audio_processing/BUILD.gn
+++ b/webrtc/modules/audio_processing/BUILD.gn
@@ -479,10 +479,6 @@
"../../system_wrappers:metrics_default",
"//third_party/gflags",
]
- if (is_clang) {
- # Suppress warnings from the Chromium Clang plugins (bugs.webrtc.org/163).
- configs -= [ "//build/config/clang:find_bad_constructs" ]
- }
}
if (rtc_enable_intelligibility_enhancer) {
diff --git a/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc b/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
index bfb65c0..5d9d32a 100644
--- a/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
+++ b/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
@@ -222,6 +222,8 @@
WindowGenerator::KaiserBesselDerived(kKbdAlpha, kFftSize, window_);
}
+NonlinearBeamformer::~NonlinearBeamformer() = default;
+
void NonlinearBeamformer::Initialize(int chunk_size_ms, int sample_rate_hz) {
chunk_length_ =
static_cast<size_t>(sample_rate_hz / (1000.f / chunk_size_ms));
@@ -438,6 +440,8 @@
kHalfBeamWidthRadians;
}
+bool NonlinearBeamformer::is_target_present() { return is_target_present_; }
+
void NonlinearBeamformer::ProcessAudioBlock(const complex_f* const* input,
size_t num_input_channels,
size_t num_freq_bins,
diff --git a/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.h b/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.h
index c9fd995..9b45c8b 100644
--- a/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.h
+++ b/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.h
@@ -63,6 +63,7 @@
size_t num_postfilter_channels = 1u,
SphericalPointf target_direction =
SphericalPointf(static_cast<float>(M_PI) / 2.f, 0.f, 1.f));
+ ~NonlinearBeamformer() override;
// Sample rate corresponds to the lower band.
// Needs to be called before the NonlinearBeamformer can be used.
@@ -86,7 +87,7 @@
// target signal es present and to false otherwise. This methods can be called
// to know if the data is target signal or interference and process it
// accordingly.
- virtual bool is_target_present() { return is_target_present_; }
+ virtual bool is_target_present();
protected:
// Process one frequency-domain block of audio. This is where the fun
diff --git a/webrtc/modules/audio_processing/test/test_utils.cc b/webrtc/modules/audio_processing/test/test_utils.cc
index 0d50b0c..95490f0 100644
--- a/webrtc/modules/audio_processing/test/test_utils.cc
+++ b/webrtc/modules/audio_processing/test/test_utils.cc
@@ -36,6 +36,8 @@
ChannelBufferWavReader::ChannelBufferWavReader(std::unique_ptr<WavReader> file)
: file_(std::move(file)) {}
+ChannelBufferWavReader::~ChannelBufferWavReader() = default;
+
bool ChannelBufferWavReader::Read(ChannelBuffer<float>* buffer) {
RTC_CHECK_EQ(file_->num_channels(), buffer->num_channels());
interleaved_.resize(buffer->size());
@@ -53,6 +55,8 @@
ChannelBufferWavWriter::ChannelBufferWavWriter(std::unique_ptr<WavWriter> file)
: file_(std::move(file)) {}
+ChannelBufferWavWriter::~ChannelBufferWavWriter() = default;
+
void ChannelBufferWavWriter::Write(const ChannelBuffer<float>& buffer) {
RTC_CHECK_EQ(file_->num_channels(), buffer.num_channels());
interleaved_.resize(buffer.size());
diff --git a/webrtc/modules/audio_processing/test/test_utils.h b/webrtc/modules/audio_processing/test/test_utils.h
index 5de67cf..ca66520 100644
--- a/webrtc/modules/audio_processing/test/test_utils.h
+++ b/webrtc/modules/audio_processing/test/test_utils.h
@@ -47,6 +47,7 @@
class ChannelBufferWavReader final {
public:
explicit ChannelBufferWavReader(std::unique_ptr<WavReader> file);
+ ~ChannelBufferWavReader();
// Reads data from the file according to the |buffer| format. Returns false if
// a full buffer can't be read from the file.
@@ -63,6 +64,8 @@
class ChannelBufferWavWriter final {
public:
explicit ChannelBufferWavWriter(std::unique_ptr<WavWriter> file);
+ ~ChannelBufferWavWriter();
+
void Write(const ChannelBuffer<float>& buffer);
private: