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/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