Fix clang style warnings in webrtc/modules/audio_coding
Mostly this consists of marking functions with override when
applicable, and moving function bodies from .h to .cc files.
BUG=163
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/44979004
Cr-Commit-Position: refs/heads/master@{#8938}
diff --git a/webrtc/modules/audio_coding/BUILD.gn b/webrtc/modules/audio_coding/BUILD.gn
index d18ed66..7a053a9 100644
--- a/webrtc/modules/audio_coding/BUILD.gn
+++ b/webrtc/modules/audio_coding/BUILD.gn
@@ -51,12 +51,6 @@
":audio_coding_config",
]
- if (is_clang) {
- # Suppress warnings from Chrome's Clang plugins.
- # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
- configs -= [ "//build/config/clang:find_bad_constructs" ]
- }
-
if (is_win) {
cflags = [
# TODO(kjellander): Bug 261: fix this warning.
diff --git a/webrtc/modules/audio_coding/main/acm2/acm_generic_codec.cc b/webrtc/modules/audio_coding/main/acm2/acm_generic_codec.cc
index 6d7b095..6b04081 100644
--- a/webrtc/modules/audio_coding/main/acm2/acm_generic_codec.cc
+++ b/webrtc/modules/audio_coding/main/acm2/acm_generic_codec.cc
@@ -118,6 +118,8 @@
decoder_(nullptr) {
}
+AudioDecoderProxy::~AudioDecoderProxy() = default;
+
void AudioDecoderProxy::SetDecoder(AudioDecoder* decoder) {
CriticalSectionScoped decoder_lock(decoder_lock_.get());
decoder_ = decoder;
diff --git a/webrtc/modules/audio_coding/main/acm2/acm_generic_codec.h b/webrtc/modules/audio_coding/main/acm2/acm_generic_codec.h
index d491dfd..d775434 100644
--- a/webrtc/modules/audio_coding/main/acm2/acm_generic_codec.h
+++ b/webrtc/modules/audio_coding/main/acm2/acm_generic_codec.h
@@ -45,6 +45,7 @@
class AudioDecoderProxy final : public AudioDecoder {
public:
AudioDecoderProxy();
+ ~AudioDecoderProxy() override;
void SetDecoder(AudioDecoder* decoder);
bool IsSet() const;
int Decode(const uint8_t* encoded,
diff --git a/webrtc/modules/audio_coding/main/acm2/audio_coding_module.cc b/webrtc/modules/audio_coding/main/acm2/audio_coding_module.cc
index 9b61d33..f1d7a5d 100644
--- a/webrtc/modules/audio_coding/main/acm2/audio_coding_module.cc
+++ b/webrtc/modules/audio_coding/main/acm2/audio_coding_module.cc
@@ -94,6 +94,17 @@
}
}
+AudioCoding::Config::Config()
+ : neteq_config(),
+ clock(Clock::GetRealTimeClock()),
+ transport(nullptr),
+ vad_callback(nullptr),
+ play_dtmf(true),
+ initial_playout_delay_ms(0),
+ playout_channels(1),
+ playout_frequency_hz(32000) {
+}
+
AudioCoding* AudioCoding::Create(const Config& config) {
return new AudioCodingImpl(config);
}
diff --git a/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc b/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc
index d78af65..4918d21 100644
--- a/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc
+++ b/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc
@@ -909,6 +909,14 @@
return receiver_.SetInitialDelay(delay_ms);
}
+int AudioCodingModuleImpl::SetDtmfPlayoutStatus(bool enable) {
+ return 0;
+}
+
+bool AudioCodingModuleImpl::DtmfPlayoutStatus() const {
+ return true;
+}
+
int AudioCodingModuleImpl::EnableNack(size_t max_nack_list_size) {
return receiver_.EnableNack(max_nack_list_size);
}
@@ -933,6 +941,20 @@
} // namespace acm2
+AudioCodingImpl::AudioCodingImpl(const Config& config) {
+ AudioCodingModule::Config config_old = config.ToOldConfig();
+ acm_old_.reset(new acm2::AudioCodingModuleImpl(config_old));
+ acm_old_->RegisterTransportCallback(config.transport);
+ acm_old_->RegisterVADCallback(config.vad_callback);
+ acm_old_->SetDtmfPlayoutStatus(config.play_dtmf);
+ if (config.initial_playout_delay_ms > 0) {
+ acm_old_->SetInitialPlayoutDelay(config.initial_playout_delay_ms);
+ }
+ playout_frequency_hz_ = config.playout_frequency_hz;
+}
+
+AudioCodingImpl::~AudioCodingImpl() = default;
+
bool AudioCodingImpl::RegisterSendCodec(AudioEncoder* send_codec) {
FATAL() << "Not implemented yet.";
return false;
diff --git a/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.h b/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.h
index 1e9cbb9..d307cda 100644
--- a/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.h
+++ b/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.h
@@ -37,7 +37,7 @@
friend webrtc::AudioCodingImpl;
explicit AudioCodingModuleImpl(const AudioCodingModule::Config& config);
- ~AudioCodingModuleImpl();
+ ~AudioCodingModuleImpl() override;
/////////////////////////////////////////
// Sender
@@ -168,10 +168,10 @@
//
// Configure Dtmf playout status i.e on/off playout the incoming outband Dtmf
// tone.
- int SetDtmfPlayoutStatus(bool enable) override { return 0; }
+ int SetDtmfPlayoutStatus(bool enable) override;
// Get Dtmf playout status.
- bool DtmfPlayoutStatus() const override { return true; }
+ bool DtmfPlayoutStatus() const override;
// Estimate the Bandwidth based on the incoming stream, needed
// for one way audio where the RTCP send the BW estimate.
@@ -314,19 +314,8 @@
class AudioCodingImpl : public AudioCoding {
public:
- AudioCodingImpl(const Config& config) {
- AudioCodingModule::Config config_old = config.ToOldConfig();
- acm_old_.reset(new acm2::AudioCodingModuleImpl(config_old));
- acm_old_->RegisterTransportCallback(config.transport);
- acm_old_->RegisterVADCallback(config.vad_callback);
- acm_old_->SetDtmfPlayoutStatus(config.play_dtmf);
- if (config.initial_playout_delay_ms > 0) {
- acm_old_->SetInitialPlayoutDelay(config.initial_playout_delay_ms);
- }
- playout_frequency_hz_ = config.playout_frequency_hz;
- }
-
- ~AudioCodingImpl() override{};
+ AudioCodingImpl(const Config& config);
+ ~AudioCodingImpl() override;
bool RegisterSendCodec(AudioEncoder* send_codec) override;
diff --git a/webrtc/modules/audio_coding/main/acm2/nack.cc b/webrtc/modules/audio_coding/main/acm2/nack.cc
index 4324cd2..525b1ea 100644
--- a/webrtc/modules/audio_coding/main/acm2/nack.cc
+++ b/webrtc/modules/audio_coding/main/acm2/nack.cc
@@ -40,6 +40,8 @@
samples_per_packet_(sample_rate_khz_ * kDefaultPacketSizeMs),
max_nack_list_size_(kNackListSizeLimit) {}
+Nack::~Nack() = default;
+
Nack* Nack::Create(int nack_threshold_packets) {
return new Nack(nack_threshold_packets);
}
diff --git a/webrtc/modules/audio_coding/main/acm2/nack.h b/webrtc/modules/audio_coding/main/acm2/nack.h
index 4224c99..1fb3e9b 100644
--- a/webrtc/modules/audio_coding/main/acm2/nack.h
+++ b/webrtc/modules/audio_coding/main/acm2/nack.h
@@ -59,7 +59,7 @@
// Factory method.
static Nack* Create(int nack_threshold_packets);
- ~Nack() {}
+ ~Nack();
// Set a maximum for the size of the NACK list. If the last received packet
// has sequence number of N, then NACK list will not contain any element
diff --git a/webrtc/modules/audio_coding/main/interface/audio_coding_module.h b/webrtc/modules/audio_coding/main/interface/audio_coding_module.h
index 796444e..0a14788 100644
--- a/webrtc/modules/audio_coding/main/interface/audio_coding_module.h
+++ b/webrtc/modules/audio_coding/main/interface/audio_coding_module.h
@@ -997,15 +997,7 @@
class AudioCoding {
public:
struct Config {
- Config()
- : neteq_config(),
- clock(Clock::GetRealTimeClock()),
- transport(NULL),
- vad_callback(NULL),
- play_dtmf(true),
- initial_playout_delay_ms(0),
- playout_channels(1),
- playout_frequency_hz(32000) {}
+ Config();
AudioCodingModule::Config ToOldConfig() const {
AudioCodingModule::Config old_config;
diff --git a/webrtc/modules/audio_coding/neteq/audio_decoder_impl.cc b/webrtc/modules/audio_coding/neteq/audio_decoder_impl.cc
index ce24e4a..c3f1dbb 100644
--- a/webrtc/modules/audio_coding/neteq/audio_decoder_impl.cc
+++ b/webrtc/modules/audio_coding/neteq/audio_decoder_impl.cc
@@ -38,6 +38,14 @@
namespace webrtc {
// PCMu
+
+int AudioDecoderPcmU::Init() {
+ return 0;
+}
+size_t AudioDecoderPcmU::Channels() const {
+ return 1;
+}
+
int AudioDecoderPcmU::DecodeInternal(const uint8_t* encoded,
size_t encoded_len,
int sample_rate_hz,
@@ -57,7 +65,19 @@
return static_cast<int>(encoded_len / Channels());
}
+size_t AudioDecoderPcmUMultiCh::Channels() const {
+ return channels_;
+}
+
// PCMa
+
+int AudioDecoderPcmA::Init() {
+ return 0;
+}
+size_t AudioDecoderPcmA::Channels() const {
+ return 1;
+}
+
int AudioDecoderPcmA::DecodeInternal(const uint8_t* encoded,
size_t encoded_len,
int sample_rate_hz,
@@ -77,10 +97,21 @@
return static_cast<int>(encoded_len / Channels());
}
+size_t AudioDecoderPcmAMultiCh::Channels() const {
+ return channels_;
+}
+
// PCM16B
#ifdef WEBRTC_CODEC_PCM16
AudioDecoderPcm16B::AudioDecoderPcm16B() {}
+int AudioDecoderPcm16B::Init() {
+ return 0;
+}
+size_t AudioDecoderPcm16B::Channels() const {
+ return 1;
+}
+
int AudioDecoderPcm16B::DecodeInternal(const uint8_t* encoded,
size_t encoded_len,
int sample_rate_hz,
@@ -105,6 +136,10 @@
: channels_(num_channels) {
DCHECK(num_channels > 0);
}
+
+size_t AudioDecoderPcm16BMultiCh::Channels() const {
+ return channels_;
+}
#endif
// iLBC
@@ -117,6 +152,10 @@
WebRtcIlbcfix_DecoderFree(dec_state_);
}
+bool AudioDecoderIlbc::HasDecodePlc() const {
+ return true;
+}
+
int AudioDecoderIlbc::DecodeInternal(const uint8_t* encoded,
size_t encoded_len,
int sample_rate_hz,
@@ -138,6 +177,10 @@
int AudioDecoderIlbc::Init() {
return WebRtcIlbcfix_Decoderinit30Ms(dec_state_);
}
+
+size_t AudioDecoderIlbc::Channels() const {
+ return 1;
+}
#endif
// G.722
@@ -150,6 +193,10 @@
WebRtcG722_FreeDecoder(dec_state_);
}
+bool AudioDecoderG722::HasDecodePlc() const {
+ return false;
+}
+
int AudioDecoderG722::DecodeInternal(const uint8_t* encoded,
size_t encoded_len,
int sample_rate_hz,
@@ -174,6 +221,10 @@
return static_cast<int>(2 * encoded_len / Channels());
}
+size_t AudioDecoderG722::Channels() const {
+ return 1;
+}
+
AudioDecoderG722Stereo::AudioDecoderG722Stereo() {
WebRtcG722_CreateDecoder(&dec_state_left_);
WebRtcG722_CreateDecoder(&dec_state_right_);
@@ -222,6 +273,10 @@
return ret;
}
+size_t AudioDecoderG722Stereo::Channels() const {
+ return 2;
+}
+
int AudioDecoderG722Stereo::Init() {
int r = WebRtcG722_DecoderInit(dec_state_left_);
if (r != 0)
@@ -332,6 +387,10 @@
fec = WebRtcOpus_PacketHasFec(encoded, static_cast<int>(encoded_len));
return (fec == 1);
}
+
+size_t AudioDecoderOpus::Channels() const {
+ return channels_;
+}
#endif
AudioDecoderCng::AudioDecoderCng() {
@@ -346,6 +405,30 @@
return WebRtcCng_InitDec(dec_state_);
}
+int AudioDecoderCng::IncomingPacket(const uint8_t* payload,
+ size_t payload_len,
+ uint16_t rtp_sequence_number,
+ uint32_t rtp_timestamp,
+ uint32_t arrival_timestamp) {
+ return -1;
+}
+
+CNG_dec_inst* AudioDecoderCng::CngDecoderInstance() {
+ return dec_state_;
+}
+
+size_t AudioDecoderCng::Channels() const {
+ return 1;
+}
+
+int AudioDecoderCng::DecodeInternal(const uint8_t* encoded,
+ size_t encoded_len,
+ int sample_rate_hz,
+ int16_t* decoded,
+ SpeechType* speech_type) {
+ return -1;
+}
+
bool CodecSupported(NetEqDecoder codec_type) {
switch (codec_type) {
case kDecoderPCMu:
diff --git a/webrtc/modules/audio_coding/neteq/audio_decoder_impl.h b/webrtc/modules/audio_coding/neteq/audio_decoder_impl.h
index 5f9c35b..202d79d 100644
--- a/webrtc/modules/audio_coding/neteq/audio_decoder_impl.h
+++ b/webrtc/modules/audio_coding/neteq/audio_decoder_impl.h
@@ -37,9 +37,9 @@
class AudioDecoderPcmU : public AudioDecoder {
public:
AudioDecoderPcmU() {}
- virtual int Init() { return 0; }
- virtual int PacketDuration(const uint8_t* encoded, size_t encoded_len) const;
- size_t Channels() const override { return 1; }
+ int Init() override;
+ int PacketDuration(const uint8_t* encoded, size_t encoded_len) const override;
+ size_t Channels() const override;
protected:
int DecodeInternal(const uint8_t* encoded,
@@ -55,9 +55,9 @@
class AudioDecoderPcmA : public AudioDecoder {
public:
AudioDecoderPcmA() {}
- virtual int Init() { return 0; }
- virtual int PacketDuration(const uint8_t* encoded, size_t encoded_len) const;
- size_t Channels() const override { return 1; }
+ int Init() override;
+ int PacketDuration(const uint8_t* encoded, size_t encoded_len) const override;
+ size_t Channels() const override;
protected:
int DecodeInternal(const uint8_t* encoded,
@@ -76,7 +76,7 @@
: AudioDecoderPcmU(), channels_(channels) {
assert(channels > 0);
}
- size_t Channels() const override { return channels_; }
+ size_t Channels() const override;
private:
const size_t channels_;
@@ -89,7 +89,7 @@
: AudioDecoderPcmA(), channels_(channels) {
assert(channels > 0);
}
- size_t Channels() const override { return channels_; }
+ size_t Channels() const override;
private:
const size_t channels_;
@@ -102,9 +102,9 @@
class AudioDecoderPcm16B : public AudioDecoder {
public:
AudioDecoderPcm16B();
- virtual int Init() { return 0; }
- virtual int PacketDuration(const uint8_t* encoded, size_t encoded_len) const;
- size_t Channels() const override { return 1; }
+ int Init() override;
+ int PacketDuration(const uint8_t* encoded, size_t encoded_len) const override;
+ size_t Channels() const override;
protected:
int DecodeInternal(const uint8_t* encoded,
@@ -123,7 +123,7 @@
class AudioDecoderPcm16BMultiCh : public AudioDecoderPcm16B {
public:
explicit AudioDecoderPcm16BMultiCh(int num_channels);
- size_t Channels() const override { return channels_; }
+ size_t Channels() const override;
private:
const size_t channels_;
@@ -135,11 +135,11 @@
class AudioDecoderIlbc : public AudioDecoder {
public:
AudioDecoderIlbc();
- virtual ~AudioDecoderIlbc();
- virtual bool HasDecodePlc() const { return true; }
- virtual int DecodePlc(int num_frames, int16_t* decoded);
- virtual int Init();
- size_t Channels() const override { return 1; }
+ ~AudioDecoderIlbc() override;
+ bool HasDecodePlc() const override;
+ int DecodePlc(int num_frames, int16_t* decoded) override;
+ int Init() override;
+ size_t Channels() const override;
protected:
int DecodeInternal(const uint8_t* encoded,
@@ -158,11 +158,11 @@
class AudioDecoderG722 : public AudioDecoder {
public:
AudioDecoderG722();
- virtual ~AudioDecoderG722();
- virtual bool HasDecodePlc() const { return false; }
- virtual int Init();
- virtual int PacketDuration(const uint8_t* encoded, size_t encoded_len) const;
- size_t Channels() const override { return 1; }
+ ~AudioDecoderG722() override;
+ bool HasDecodePlc() const override;
+ int Init() override;
+ int PacketDuration(const uint8_t* encoded, size_t encoded_len) const override;
+ size_t Channels() const override;
protected:
int DecodeInternal(const uint8_t* encoded,
@@ -179,8 +179,8 @@
class AudioDecoderG722Stereo : public AudioDecoder {
public:
AudioDecoderG722Stereo();
- virtual ~AudioDecoderG722Stereo();
- virtual int Init();
+ ~AudioDecoderG722Stereo() override;
+ int Init() override;
protected:
int DecodeInternal(const uint8_t* encoded,
@@ -188,7 +188,7 @@
int sample_rate_hz,
int16_t* decoded,
SpeechType* speech_type) override;
- size_t Channels() const override { return 2; }
+ size_t Channels() const override;
private:
// Splits the stereo-interleaved payload in |encoded| into separate payloads
@@ -210,14 +210,14 @@
class AudioDecoderOpus : public AudioDecoder {
public:
explicit AudioDecoderOpus(int num_channels);
- virtual ~AudioDecoderOpus();
+ ~AudioDecoderOpus() override;
- virtual int Init();
- virtual int PacketDuration(const uint8_t* encoded, size_t encoded_len) const;
- virtual int PacketDurationRedundant(const uint8_t* encoded,
- size_t encoded_len) const;
- virtual bool PacketHasFec(const uint8_t* encoded, size_t encoded_len) const;
- size_t Channels() const override { return channels_; }
+ int Init() override;
+ int PacketDuration(const uint8_t* encoded, size_t encoded_len) const override;
+ int PacketDurationRedundant(const uint8_t* encoded,
+ size_t encoded_len) const override;
+ bool PacketHasFec(const uint8_t* encoded, size_t encoded_len) const override;
+ size_t Channels() const override;
protected:
int DecodeInternal(const uint8_t* encoded,
@@ -247,25 +247,23 @@
class AudioDecoderCng : public AudioDecoder {
public:
explicit AudioDecoderCng();
- virtual ~AudioDecoderCng();
- virtual int Init();
- virtual int IncomingPacket(const uint8_t* payload,
- size_t payload_len,
- uint16_t rtp_sequence_number,
- uint32_t rtp_timestamp,
- uint32_t arrival_timestamp) { return -1; }
+ ~AudioDecoderCng() override;
+ int Init() override;
+ int IncomingPacket(const uint8_t* payload,
+ size_t payload_len,
+ uint16_t rtp_sequence_number,
+ uint32_t rtp_timestamp,
+ uint32_t arrival_timestamp) override;
- CNG_dec_inst* CngDecoderInstance() override { return dec_state_; }
- size_t Channels() const override { return 1; }
+ CNG_dec_inst* CngDecoderInstance() override;
+ size_t Channels() const override;
protected:
int DecodeInternal(const uint8_t* encoded,
size_t encoded_len,
int sample_rate_hz,
int16_t* decoded,
- SpeechType* speech_type) override {
- return -1;
- }
+ SpeechType* speech_type) override;
private:
CNG_dec_inst* dec_state_;
diff --git a/webrtc/modules/interface/module.h b/webrtc/modules/interface/module.h
index a83f148..529138d 100644
--- a/webrtc/modules/interface/module.h
+++ b/webrtc/modules/interface/module.h
@@ -73,7 +73,7 @@
virtual int32_t Release() = 0;
protected:
- virtual ~RefCountedModule() {}
+ ~RefCountedModule() override = default;
};
} // namespace webrtc