Fix Chromium clang plugin warnings
This adds a new file, webrtc/modules/audio_coding/neteq/tools/packet_source.cc, so that I'll have somewhere to put the new non-inlined methods.
NOTRY=true
BUG=webrtc:163
Review-Url: https://codereview.webrtc.org/2290593002
Cr-Commit-Position: refs/heads/master@{#13956}
diff --git a/webrtc/modules/audio_coding/BUILD.gn b/webrtc/modules/audio_coding/BUILD.gn
index 0313b2b..2925e08 100644
--- a/webrtc/modules/audio_coding/BUILD.gn
+++ b/webrtc/modules/audio_coding/BUILD.gn
@@ -898,11 +898,6 @@
configs += [ "../..:common_config" ]
public_configs = [ "../..:common_inherited_config" ]
- if (is_clang) {
- # Suppress warnings from the Chromium Clang plugins (bugs.webrtc.org/163).
- configs -= [ "//build/config/clang:find_bad_constructs" ]
- }
-
defines = audio_coding_defines
deps = audio_coding_deps + [
@@ -1209,6 +1204,7 @@
"neteq/tools/output_wav_file.h",
"neteq/tools/packet.cc",
"neteq/tools/packet.h",
+ "neteq/tools/packet_source.cc",
"neteq/tools/packet_source.h",
"neteq/tools/resample_input_audio_file.cc",
"neteq/tools/resample_input_audio_file.h",
diff --git a/webrtc/modules/audio_coding/acm2/acm_receive_test_oldapi.cc b/webrtc/modules/audio_coding/acm2/acm_receive_test_oldapi.cc
index 025a0e9..aac5e16 100644
--- a/webrtc/modules/audio_coding/acm2/acm_receive_test_oldapi.cc
+++ b/webrtc/modules/audio_coding/acm2/acm_receive_test_oldapi.cc
@@ -112,6 +112,8 @@
exptected_output_channels_(exptected_output_channels) {
}
+AcmReceiveTestOldApi::~AcmReceiveTestOldApi() = default;
+
void AcmReceiveTestOldApi::RegisterDefaultCodecs() {
CodecInst my_codec_param;
for (int n = 0; n < acm_->NumberOfCodecs(); n++) {
diff --git a/webrtc/modules/audio_coding/acm2/acm_receive_test_oldapi.h b/webrtc/modules/audio_coding/acm2/acm_receive_test_oldapi.h
index 6952641..5d6fbb3 100644
--- a/webrtc/modules/audio_coding/acm2/acm_receive_test_oldapi.h
+++ b/webrtc/modules/audio_coding/acm2/acm_receive_test_oldapi.h
@@ -38,7 +38,7 @@
AudioSink* audio_sink,
int output_freq_hz,
NumOutputChannels exptected_output_channels);
- virtual ~AcmReceiveTestOldApi() {}
+ virtual ~AcmReceiveTestOldApi();
// Registers the codecs with default parameters from ACM.
void RegisterDefaultCodecs();
diff --git a/webrtc/modules/audio_coding/neteq/neteq.gypi b/webrtc/modules/audio_coding/neteq/neteq.gypi
index f43a261..d9c152e 100644
--- a/webrtc/modules/audio_coding/neteq/neteq.gypi
+++ b/webrtc/modules/audio_coding/neteq/neteq.gypi
@@ -246,6 +246,7 @@
'tools/output_wav_file.h',
'tools/packet.cc',
'tools/packet.h',
+ 'tools/packet_source.cc',
'tools/packet_source.h',
'tools/resample_input_audio_file.cc',
'tools/resample_input_audio_file.h',
diff --git a/webrtc/modules/audio_coding/neteq/tools/packet.cc b/webrtc/modules/audio_coding/neteq/tools/packet.cc
index a31d080..0ed1be1 100644
--- a/webrtc/modules/audio_coding/neteq/tools/packet.cc
+++ b/webrtc/modules/audio_coding/neteq/tools/packet.cc
@@ -77,6 +77,8 @@
valid_header_ = ParseHeader(*parser);
}
+Packet::~Packet() = default;
+
bool Packet::ExtractRedHeaders(std::list<RTPHeader*>* headers) const {
//
// 0 1 2 3
diff --git a/webrtc/modules/audio_coding/neteq/tools/packet.h b/webrtc/modules/audio_coding/neteq/tools/packet.h
index 86eedc0..d150805 100644
--- a/webrtc/modules/audio_coding/neteq/tools/packet.h
+++ b/webrtc/modules/audio_coding/neteq/tools/packet.h
@@ -62,7 +62,7 @@
size_t virtual_packet_length_bytes,
double time_ms);
- virtual ~Packet() {}
+ virtual ~Packet();
// Parses the first bytes of the RTP payload, interpreting them as RED headers
// according to RFC 2198. The headers will be inserted into |headers|. The
diff --git a/webrtc/modules/audio_coding/neteq/tools/packet_source.cc b/webrtc/modules/audio_coding/neteq/tools/packet_source.cc
new file mode 100644
index 0000000..d6cb37e
--- /dev/null
+++ b/webrtc/modules/audio_coding/neteq/tools/packet_source.cc
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree. An additional intellectual property rights grant can be found
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+#include "webrtc/modules/audio_coding/neteq/tools/packet_source.h"
+
+namespace webrtc {
+namespace test {
+
+PacketSource::PacketSource() : use_ssrc_filter_(false), ssrc_(0) {}
+
+PacketSource::~PacketSource() = default;
+
+void PacketSource::FilterOutPayloadType(uint8_t payload_type) {
+ filter_.set(payload_type, true);
+}
+
+void PacketSource::SelectSsrc(uint32_t ssrc) {
+ use_ssrc_filter_ = true;
+ ssrc_ = ssrc;
+}
+
+} // namespace test
+} // namespace webrtc
diff --git a/webrtc/modules/audio_coding/neteq/tools/packet_source.h b/webrtc/modules/audio_coding/neteq/tools/packet_source.h
index 3ec576d..caae4ae 100644
--- a/webrtc/modules/audio_coding/neteq/tools/packet_source.h
+++ b/webrtc/modules/audio_coding/neteq/tools/packet_source.h
@@ -24,21 +24,16 @@
// Interface class for an object delivering RTP packets to test applications.
class PacketSource {
public:
- PacketSource() : use_ssrc_filter_(false), ssrc_(0) {}
- virtual ~PacketSource() {}
+ PacketSource();
+ virtual ~PacketSource();
// Returns next packet. Returns nullptr if the source is depleted, or if an
// error occurred.
virtual std::unique_ptr<Packet> NextPacket() = 0;
- virtual void FilterOutPayloadType(uint8_t payload_type) {
- filter_.set(payload_type, true);
- }
+ virtual void FilterOutPayloadType(uint8_t payload_type);
- virtual void SelectSsrc(uint32_t ssrc) {
- use_ssrc_filter_ = true;
- ssrc_ = ssrc;
- }
+ virtual void SelectSsrc(uint32_t ssrc);
protected:
std::bitset<128> filter_; // Payload type is 7 bits in the RFC.