diff options
author | Mirko Bonadei <mbonadei@webrtc.org> | 2018-08-28 16:30:18 +0200 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2018-08-29 11:57:00 +0000 |
commit | 8fdcac3f06ae09fe17bbed02037ef136f086cc00 (patch) | |
tree | bb27658f7878b24791b97f74e0bf84095755107d | |
parent | c7ea852189c81f20ff6a34880651a334e57f3d7a (diff) | |
download | webrtc-8fdcac3f06ae09fe17bbed02037ef136f086cc00.tar.gz |
Remove clang:find_bad_constructs suppression from call:call.
This CL removes //build/config/clang:find_bad_constructs from the
suppressed_configs list, which means that clang:find_bad_constructs
is now enabled on these translation units.
Bug: webrtc:9251, webrtc:163
Change-Id: I74cb86c29cebb69dd22083718f1446f18f705cd4
Reviewed-on: https://webrtc-review.googlesource.com/95883
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24483}
34 files changed, 106 insertions, 21 deletions
diff --git a/api/video/BUILD.gn b/api/video/BUILD.gn index a0c2ae17aa..dfc4f27540 100644 --- a/api/video/BUILD.gn +++ b/api/video/BUILD.gn @@ -145,6 +145,7 @@ rtc_source_set("video_stream_encoder") { visibility = [ "*" ] sources = [ "video_stream_encoder_interface.h", + "video_stream_encoder_observer.cc", "video_stream_encoder_observer.h", "video_stream_encoder_settings.h", ] diff --git a/api/video/video_stream_encoder_observer.cc b/api/video/video_stream_encoder_observer.cc new file mode 100644 index 0000000000..3b9bd522c3 --- /dev/null +++ b/api/video/video_stream_encoder_observer.cc @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2018 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 "api/video/video_stream_encoder_observer.h" + +namespace webrtc { + +VideoStreamEncoderObserver::AdaptationSteps::AdaptationSteps() = default; + +} // namespace webrtc diff --git a/api/video/video_stream_encoder_observer.h b/api/video/video_stream_encoder_observer.h index ac5c8a1f5b..b940efdf11 100644 --- a/api/video/video_stream_encoder_observer.h +++ b/api/video/video_stream_encoder_observer.h @@ -37,6 +37,7 @@ class VideoStreamEncoderObserver : public CpuOveruseMetricsObserver { public: // Number of resolution and framerate reductions (unset if disabled). struct AdaptationSteps { + AdaptationSteps(); absl::optional<int> num_resolution_reductions = 0; absl::optional<int> num_framerate_reductions = 0; }; @@ -58,7 +59,7 @@ class VideoStreamEncoderObserver : public CpuOveruseMetricsObserver { kMediaOptimization }; - virtual ~VideoStreamEncoderObserver() = default; + ~VideoStreamEncoderObserver() override = default; virtual void OnIncomingFrame(int width, int height) = 0; diff --git a/audio/audio_state.cc b/audio/audio_state.cc index 35ea03d384..7d473ae631 100644 --- a/audio/audio_state.cc +++ b/audio/audio_state.cc @@ -39,6 +39,15 @@ AudioState::~AudioState() { RTC_DCHECK(sending_streams_.empty()); } +AudioProcessing* AudioState::audio_processing() { + RTC_DCHECK(config_.audio_processing); + return config_.audio_processing.get(); +} + +AudioTransport* AudioState::audio_transport() { + return &audio_transport_; +} + bool AudioState::typing_noise_detected() const { RTC_DCHECK(thread_checker_.CalledOnValidThread()); return audio_transport_.typing_noise_detected(); diff --git a/audio/audio_state.h b/audio/audio_state.h index 689534b0ee..9e302c4007 100644 --- a/audio/audio_state.h +++ b/audio/audio_state.h @@ -35,11 +35,8 @@ class AudioState final : public webrtc::AudioState { explicit AudioState(const AudioState::Config& config); ~AudioState() override; - AudioProcessing* audio_processing() override { - RTC_DCHECK(config_.audio_processing); - return config_.audio_processing.get(); - } - AudioTransport* audio_transport() override { return &audio_transport_; } + AudioProcessing* audio_processing() override; + AudioTransport* audio_transport() override; void SetPlayout(bool enabled) override; void SetRecording(bool enabled) override; diff --git a/audio/null_audio_poller.h b/audio/null_audio_poller.h index b6ddf17150..afb6edbaf1 100644 --- a/audio/null_audio_poller.h +++ b/audio/null_audio_poller.h @@ -21,7 +21,7 @@ namespace internal { class NullAudioPoller final : public rtc::MessageHandler { public: explicit NullAudioPoller(AudioTransport* audio_transport); - ~NullAudioPoller(); + ~NullAudioPoller() override; protected: void OnMessage(rtc::Message* msg) override; diff --git a/audio/transport_feedback_packet_loss_tracker.cc b/audio/transport_feedback_packet_loss_tracker.cc index 7e0c5c542f..c7acd766c4 100644 --- a/audio/transport_feedback_packet_loss_tracker.cc +++ b/audio/transport_feedback_packet_loss_tracker.cc @@ -47,6 +47,9 @@ TransportFeedbackPacketLossTracker::TransportFeedbackPacketLossTracker( Reset(); } +TransportFeedbackPacketLossTracker::~TransportFeedbackPacketLossTracker() = + default; + void TransportFeedbackPacketLossTracker::Reset() { acked_packets_ = 0; plr_state_.Reset(); diff --git a/audio/transport_feedback_packet_loss_tracker.h b/audio/transport_feedback_packet_loss_tracker.h index 7d58d6c4bd..180b64a16a 100644 --- a/audio/transport_feedback_packet_loss_tracker.h +++ b/audio/transport_feedback_packet_loss_tracker.h @@ -35,6 +35,7 @@ class TransportFeedbackPacketLossTracker final { TransportFeedbackPacketLossTracker(int64_t max_window_size_ms, size_t plr_min_num_acked_packets, size_t rplr_min_num_acked_pairs); + ~TransportFeedbackPacketLossTracker(); void OnPacketAdded(uint16_t seq_num, int64_t send_time_ms); diff --git a/call/BUILD.gn b/call/BUILD.gn index ee06825c2c..b485ead55c 100644 --- a/call/BUILD.gn +++ b/call/BUILD.gn @@ -177,11 +177,6 @@ rtc_static_library("call") { "receive_time_calculator.h", ] - if (!build_with_chromium && is_clang) { - # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). - suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] - } - deps = [ ":bitrate_allocator", ":call_interfaces", diff --git a/call/call.cc b/call/call.cc index 113109a823..be5bb1d6c4 100644 --- a/call/call.cc +++ b/call/call.cc @@ -170,7 +170,7 @@ class Call final : public webrtc::Call, public: Call(const Call::Config& config, std::unique_ptr<RtpTransportControllerSendInterface> transport_send); - virtual ~Call(); + ~Call() override; // Implements webrtc::Call. PacketReceiver* Receiver() override; diff --git a/call/call_config.cc b/call/call_config.cc index ca5fb60b34..d3425aa579 100644 --- a/call/call_config.cc +++ b/call/call_config.cc @@ -15,6 +15,9 @@ namespace webrtc { CallConfig::CallConfig(RtcEventLog* event_log) : event_log(event_log) { RTC_DCHECK(event_log); } + +CallConfig::CallConfig(const CallConfig& config) = default; + CallConfig::~CallConfig() = default; } // namespace webrtc diff --git a/call/call_config.h b/call/call_config.h index 438929f4d3..7fc4b868cc 100644 --- a/call/call_config.h +++ b/call/call_config.h @@ -24,6 +24,7 @@ class RtcEventLog; struct CallConfig { explicit CallConfig(RtcEventLog* event_log); + CallConfig(const CallConfig&); ~CallConfig(); RTC_DEPRECATED static constexpr int kDefaultStartBitrateBps = 300000; diff --git a/call/flexfec_receive_stream.cc b/call/flexfec_receive_stream.cc index 86c000623d..ab138368ba 100644 --- a/call/flexfec_receive_stream.cc +++ b/call/flexfec_receive_stream.cc @@ -16,6 +16,9 @@ FlexfecReceiveStream::Config::Config(Transport* rtcp_send_transport) : rtcp_send_transport(rtcp_send_transport) { RTC_DCHECK(rtcp_send_transport); } + +FlexfecReceiveStream::Config::Config(const Config& config) = default; + FlexfecReceiveStream::Config::~Config() = default; } // namespace webrtc diff --git a/call/flexfec_receive_stream.h b/call/flexfec_receive_stream.h index d64cb26f70..ccc301430e 100644 --- a/call/flexfec_receive_stream.h +++ b/call/flexfec_receive_stream.h @@ -37,6 +37,7 @@ class FlexfecReceiveStream : public RtpPacketSinkInterface { struct Config { explicit Config(Transport* rtcp_send_transport); + Config(const Config&); ~Config(); std::string ToString() const; diff --git a/modules/congestion_controller/include/receive_side_congestion_controller.h b/modules/congestion_controller/include/receive_side_congestion_controller.h index ef3c8b16eb..2cb1b52ac0 100644 --- a/modules/congestion_controller/include/receive_side_congestion_controller.h +++ b/modules/congestion_controller/include/receive_side_congestion_controller.h @@ -33,7 +33,7 @@ class ReceiveSideCongestionController : public CallStatsObserver, ReceiveSideCongestionController(const Clock* clock, PacketRouter* packet_router); - virtual ~ReceiveSideCongestionController() {} + ~ReceiveSideCongestionController() override {} virtual void OnReceivedPacket(int64_t arrival_time_ms, size_t payload_size, @@ -60,7 +60,7 @@ class ReceiveSideCongestionController : public CallStatsObserver, WrappingBitrateEstimator(RemoteBitrateObserver* observer, const Clock* clock); - virtual ~WrappingBitrateEstimator() {} + ~WrappingBitrateEstimator() override; void IncomingPacket(int64_t arrival_time_ms, size_t payload_size, diff --git a/modules/congestion_controller/receive_side_congestion_controller.cc b/modules/congestion_controller/receive_side_congestion_controller.cc index 11e66efbc2..09c7ca5e58 100644 --- a/modules/congestion_controller/receive_side_congestion_controller.cc +++ b/modules/congestion_controller/receive_side_congestion_controller.cc @@ -31,6 +31,9 @@ ReceiveSideCongestionController::WrappingBitrateEstimator:: packets_since_absolute_send_time_(0), min_bitrate_bps_(congestion_controller::GetMinBitrateBps()) {} +ReceiveSideCongestionController::WrappingBitrateEstimator:: + ~WrappingBitrateEstimator() = default; + void ReceiveSideCongestionController::WrappingBitrateEstimator::IncomingPacket( int64_t arrival_time_ms, size_t payload_size, diff --git a/modules/video_coding/fec_controller_default.cc b/modules/video_coding/fec_controller_default.cc index 84e8a7bfcc..5fe38e6297 100644 --- a/modules/video_coding/fec_controller_default.cc +++ b/modules/video_coding/fec_controller_default.cc @@ -167,4 +167,9 @@ void FecControllerDefault::UpdateWithEncodedData( } } } + +bool FecControllerDefault::UseLossVectorMask() { + return false; +} + } // namespace webrtc diff --git a/modules/video_coding/fec_controller_default.h b/modules/video_coding/fec_controller_default.h index 776977a27d..a95eced245 100644 --- a/modules/video_coding/fec_controller_default.h +++ b/modules/video_coding/fec_controller_default.h @@ -26,7 +26,7 @@ class FecControllerDefault : public FecController { FecControllerDefault(Clock* clock, VCMProtectionCallback* protection_callback); explicit FecControllerDefault(Clock* clock); - ~FecControllerDefault(); + ~FecControllerDefault() override; void SetProtectionCallback( VCMProtectionCallback* protection_callback) override; void SetProtectionMethod(bool enable_fec, bool enable_nack) override; @@ -41,7 +41,7 @@ class FecControllerDefault : public FecController { int64_t round_trip_time_ms) override; void UpdateWithEncodedData(const size_t encoded_image_length, const FrameType encoded_image_frametype) override; - bool UseLossVectorMask() override { return false; } + bool UseLossVectorMask() override; private: enum { kBitrateAverageWinMs = 1000 }; diff --git a/modules/video_coding/h264_sps_pps_tracker.cc b/modules/video_coding/h264_sps_pps_tracker.cc index d67d827b08..1122364644 100644 --- a/modules/video_coding/h264_sps_pps_tracker.cc +++ b/modules/video_coding/h264_sps_pps_tracker.cc @@ -29,6 +29,21 @@ namespace { const uint8_t start_code_h264[] = {0, 0, 0, 1}; } // namespace +H264SpsPpsTracker::H264SpsPpsTracker() = default; +H264SpsPpsTracker::~H264SpsPpsTracker() = default; + +H264SpsPpsTracker::PpsInfo::PpsInfo() = default; +H264SpsPpsTracker::PpsInfo::PpsInfo(PpsInfo&& rhs) = default; +H264SpsPpsTracker::PpsInfo& H264SpsPpsTracker::PpsInfo::operator=( + PpsInfo&& rhs) = default; +H264SpsPpsTracker::PpsInfo::~PpsInfo() = default; + +H264SpsPpsTracker::SpsInfo::SpsInfo() = default; +H264SpsPpsTracker::SpsInfo::SpsInfo(SpsInfo&& rhs) = default; +H264SpsPpsTracker::SpsInfo& H264SpsPpsTracker::SpsInfo::operator=( + SpsInfo&& rhs) = default; +H264SpsPpsTracker::SpsInfo::~SpsInfo() = default; + H264SpsPpsTracker::PacketAction H264SpsPpsTracker::CopyAndFixBitstream( VCMPacket* packet) { RTC_DCHECK(packet->codec == kVideoCodecH264); diff --git a/modules/video_coding/h264_sps_pps_tracker.h b/modules/video_coding/h264_sps_pps_tracker.h index 61c548cf49..45720e6b70 100644 --- a/modules/video_coding/h264_sps_pps_tracker.h +++ b/modules/video_coding/h264_sps_pps_tracker.h @@ -28,6 +28,9 @@ class H264SpsPpsTracker { public: enum PacketAction { kInsert, kDrop, kRequestKeyframe }; + H264SpsPpsTracker(); + ~H264SpsPpsTracker(); + PacketAction CopyAndFixBitstream(VCMPacket* packet); void InsertSpsPpsNalus(const std::vector<uint8_t>& sps, @@ -35,12 +38,22 @@ class H264SpsPpsTracker { private: struct PpsInfo { + PpsInfo(); + PpsInfo(PpsInfo&& rhs); + PpsInfo& operator=(PpsInfo&& rhs); + ~PpsInfo(); + int sps_id = -1; size_t size = 0; std::unique_ptr<uint8_t[]> data; }; struct SpsInfo { + SpsInfo(); + SpsInfo(SpsInfo&& rhs); + SpsInfo& operator=(SpsInfo&& rhs); + ~SpsInfo(); + size_t size = 0; int width = -1; int height = -1; diff --git a/modules/video_coding/rtp_frame_reference_finder.cc b/modules/video_coding/rtp_frame_reference_finder.cc index 12517885a4..7714b29d92 100644 --- a/modules/video_coding/rtp_frame_reference_finder.cc +++ b/modules/video_coding/rtp_frame_reference_finder.cc @@ -31,6 +31,8 @@ RtpFrameReferenceFinder::RtpFrameReferenceFinder( cleared_to_seq_num_(-1), frame_callback_(frame_callback) {} +RtpFrameReferenceFinder::~RtpFrameReferenceFinder() = default; + void RtpFrameReferenceFinder::ManageFrame( std::unique_ptr<RtpFrameObject> frame) { rtc::CritScope lock(&crit_); diff --git a/modules/video_coding/rtp_frame_reference_finder.h b/modules/video_coding/rtp_frame_reference_finder.h index f7e2720e7d..09467cb6f3 100644 --- a/modules/video_coding/rtp_frame_reference_finder.h +++ b/modules/video_coding/rtp_frame_reference_finder.h @@ -40,6 +40,7 @@ class OnCompleteFrameCallback { class RtpFrameReferenceFinder { public: explicit RtpFrameReferenceFinder(OnCompleteFrameCallback* frame_callback); + ~RtpFrameReferenceFinder(); // Manage this frame until: // - We have all information needed to determine its references, after diff --git a/video/quality_threshold.cc b/video/quality_threshold.cc index 2b2999280c..b681ce4080 100644 --- a/video/quality_threshold.cc +++ b/video/quality_threshold.cc @@ -36,6 +36,8 @@ QualityThreshold::QualityThreshold(int low_threshold, RTC_CHECK_LT(low_threshold, high_threshold); } +QualityThreshold::~QualityThreshold() = default; + void QualityThreshold::AddMeasurement(int measurement) { int prev_val = until_full_ > 0 ? 0 : buffer_[next_index_]; buffer_[next_index_] = measurement; diff --git a/video/quality_threshold.h b/video/quality_threshold.h index 4fad555ce6..a193aa7f01 100644 --- a/video/quality_threshold.h +++ b/video/quality_threshold.h @@ -25,6 +25,7 @@ class QualityThreshold { int high_threshold, float fraction, int max_measurements); + ~QualityThreshold(); void AddMeasurement(int measurement); absl::optional<bool> IsHigh() const; diff --git a/video/receive_statistics_proxy.cc b/video/receive_statistics_proxy.cc index dada445597..fff3e8e1ce 100644 --- a/video/receive_statistics_proxy.cc +++ b/video/receive_statistics_proxy.cc @@ -881,6 +881,8 @@ void ReceiveStatisticsProxy::DecoderThreadStopped() { ReceiveStatisticsProxy::ContentSpecificStats::ContentSpecificStats() : interframe_delay_percentiles(kMaxCommonInterframeDelayMs) {} +ReceiveStatisticsProxy::ContentSpecificStats::~ContentSpecificStats() = default; + void ReceiveStatisticsProxy::ContentSpecificStats::Add( const ContentSpecificStats& other) { e2e_delay_counter.Add(other.e2e_delay_counter); diff --git a/video/receive_statistics_proxy.h b/video/receive_statistics_proxy.h index 2ccfc938d1..f8afe45cff 100644 --- a/video/receive_statistics_proxy.h +++ b/video/receive_statistics_proxy.h @@ -48,7 +48,7 @@ class ReceiveStatisticsProxy : public VCMReceiveStatisticsCallback, public: ReceiveStatisticsProxy(const VideoReceiveStream::Config* config, Clock* clock); - virtual ~ReceiveStatisticsProxy(); + ~ReceiveStatisticsProxy() override; VideoReceiveStream::Stats GetStats() const; @@ -115,6 +115,7 @@ class ReceiveStatisticsProxy : public VCMReceiveStatisticsCallback, struct ContentSpecificStats { ContentSpecificStats(); + ~ContentSpecificStats(); void Add(const ContentSpecificStats& other); diff --git a/video/rtp_streams_synchronizer.cc b/video/rtp_streams_synchronizer.cc index e46a2200c5..0ce252eb93 100644 --- a/video/rtp_streams_synchronizer.cc +++ b/video/rtp_streams_synchronizer.cc @@ -43,6 +43,8 @@ RtpStreamsSynchronizer::RtpStreamsSynchronizer(Syncable* syncable_video) process_thread_checker_.DetachFromThread(); } +RtpStreamsSynchronizer::~RtpStreamsSynchronizer() = default; + void RtpStreamsSynchronizer::ConfigureSync(Syncable* syncable_audio) { rtc::CritScope lock(&crit_); if (syncable_audio == syncable_audio_) { diff --git a/video/rtp_streams_synchronizer.h b/video/rtp_streams_synchronizer.h index 1a24391d2a..720ea14d17 100644 --- a/video/rtp_streams_synchronizer.h +++ b/video/rtp_streams_synchronizer.h @@ -28,6 +28,7 @@ class Syncable; class RtpStreamsSynchronizer : public Module { public: explicit RtpStreamsSynchronizer(Syncable* syncable_video); + ~RtpStreamsSynchronizer() override; void ConfigureSync(Syncable* syncable_audio); diff --git a/video/rtp_video_stream_receiver.h b/video/rtp_video_stream_receiver.h index 216a768927..20463b9fe8 100644 --- a/video/rtp_video_stream_receiver.h +++ b/video/rtp_video_stream_receiver.h @@ -69,7 +69,7 @@ class RtpVideoStreamReceiver : public RtpData, NackSender* nack_sender, KeyFrameRequestSender* keyframe_request_sender, video_coding::OnCompleteFrameCallback* complete_frame_callback); - ~RtpVideoStreamReceiver(); + ~RtpVideoStreamReceiver() override; void AddReceiveCodec(const VideoCodec& video_codec, const std::map<std::string, std::string>& codec_params); diff --git a/video/send_statistics_proxy.cc b/video/send_statistics_proxy.cc index 2091bad5a3..2ab025a514 100644 --- a/video/send_statistics_proxy.cc +++ b/video/send_statistics_proxy.cc @@ -155,6 +155,8 @@ SendStatisticsProxy::~SendStatisticsProxy() { UpdateCodecTypeHistogram(payload_name_); } +SendStatisticsProxy::FallbackEncoderInfo::FallbackEncoderInfo() = default; + SendStatisticsProxy::UmaSamplesContainer::UmaSamplesContainer( const char* prefix, const VideoSendStream::Stats& stats, diff --git a/video/send_statistics_proxy.h b/video/send_statistics_proxy.h index 97b4a4afe6..875348f162 100644 --- a/video/send_statistics_proxy.h +++ b/video/send_statistics_proxy.h @@ -150,7 +150,7 @@ class SendStatisticsProxy : public VideoStreamEncoderObserver, int64_t last_ms; }; struct FallbackEncoderInfo { - FallbackEncoderInfo() = default; + FallbackEncoderInfo(); bool is_possible = true; bool is_active = false; int on_off_events = 0; diff --git a/video/transport_adapter.cc b/video/transport_adapter.cc index 4a478858ba..5d6ccc8819 100644 --- a/video/transport_adapter.cc +++ b/video/transport_adapter.cc @@ -20,6 +20,8 @@ TransportAdapter::TransportAdapter(Transport* transport) RTC_DCHECK(nullptr != transport); } +TransportAdapter::~TransportAdapter() = default; + bool TransportAdapter::SendRtp(const uint8_t* packet, size_t length, const PacketOptions& options) { diff --git a/video/transport_adapter.h b/video/transport_adapter.h index dd9964f363..8ec53fdf25 100644 --- a/video/transport_adapter.h +++ b/video/transport_adapter.h @@ -21,6 +21,7 @@ namespace internal { class TransportAdapter : public Transport { public: explicit TransportAdapter(Transport* transport); + ~TransportAdapter() override; bool SendRtp(const uint8_t* packet, size_t length, diff --git a/video/video_stream_decoder.h b/video/video_stream_decoder.h index dd8601a5e6..df2ab9be4e 100644 --- a/video/video_stream_decoder.h +++ b/video/video_stream_decoder.h @@ -47,7 +47,7 @@ class VideoStreamDecoder : public VCMReceiveCallback, bool enable_fec, ReceiveStatisticsProxy* receive_statistics_proxy, rtc::VideoSinkInterface<VideoFrame>* incoming_video_stream); - ~VideoStreamDecoder(); + ~VideoStreamDecoder() override; // Implements VCMReceiveCallback. int32_t FrameToRender(VideoFrame& video_frame, |