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}
This commit is contained in:
kwiberg
2016-08-29 06:37:33 -07:00
committed by Commit bot
parent 36a43887f3
commit b8e56ee320
8 changed files with 42 additions and 16 deletions

View File

@ -898,11 +898,6 @@ if (rtc_include_tests) {
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 @@ if (rtc_include_tests) {
"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",

View File

@ -112,6 +112,8 @@ AcmReceiveTestOldApi::AcmReceiveTestOldApi(
exptected_output_channels_(exptected_output_channels) {
}
AcmReceiveTestOldApi::~AcmReceiveTestOldApi() = default;
void AcmReceiveTestOldApi::RegisterDefaultCodecs() {
CodecInst my_codec_param;
for (int n = 0; n < acm_->NumberOfCodecs(); n++) {

View File

@ -38,7 +38,7 @@ class AcmReceiveTestOldApi {
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();

View File

@ -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',

View File

@ -77,6 +77,8 @@ Packet::Packet(uint8_t* packet_memory,
valid_header_ = ParseHeader(*parser);
}
Packet::~Packet() = default;
bool Packet::ExtractRedHeaders(std::list<RTPHeader*>* headers) const {
//
// 0 1 2 3

View File

@ -62,7 +62,7 @@ class Packet {
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

View File

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

View File

@ -24,21 +24,16 @@ namespace test {
// 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.