Enable clang::find_bad_constructs for sdk/ (part 1).

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: I6f03c46e772ccf4d15951a4b9d4e12015d539e58
Reviewed-on: https://webrtc-review.googlesource.com/90408
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24113}
diff --git a/media/BUILD.gn b/media/BUILD.gn
index 026715a..3042ac2 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -421,6 +421,7 @@
       "base/fakertp.h",
       "base/fakevideocapturer.cc",
       "base/fakevideocapturer.h",
+      "base/fakevideorenderer.cc",
       "base/fakevideorenderer.h",
       "base/testutils.cc",
       "base/testutils.h",
diff --git a/media/base/fakevideorenderer.cc b/media/base/fakevideorenderer.cc
new file mode 100644
index 0000000..fdd789a
--- /dev/null
+++ b/media/base/fakevideorenderer.cc
@@ -0,0 +1,33 @@
+/*
+ *  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 "media/base/fakevideorenderer.h"
+
+namespace cricket {
+
+FakeVideoRenderer::FakeVideoRenderer() = default;
+
+void FakeVideoRenderer::OnFrame(const webrtc::VideoFrame& frame) {
+  rtc::CritScope cs(&crit_);
+  // TODO(zhurunz) Check with VP8 team to see if we can remove this
+  // tolerance on Y values. Some unit tests produce Y values close
+  // to 16 rather than close to zero, for supposedly black frames.
+  // Largest value observed is 34, e.g., running
+  // PeerConnectionIntegrationTest.SendAndReceive16To9AspectRatio.
+  black_frame_ = CheckFrameColorYuv(0, 48, 128, 128, 128, 128, &frame);
+  // Treat unexpected frame size as error.
+  ++num_rendered_frames_;
+  width_ = frame.width();
+  height_ = frame.height();
+  rotation_ = frame.rotation();
+  timestamp_us_ = frame.timestamp_us();
+}
+
+}  // namespace cricket
diff --git a/media/base/fakevideorenderer.h b/media/base/fakevideorenderer.h
index a7c532a..f072c72 100644
--- a/media/base/fakevideorenderer.h
+++ b/media/base/fakevideorenderer.h
@@ -21,30 +21,9 @@
 // Faked video renderer that has a callback for actions on rendering.
 class FakeVideoRenderer : public rtc::VideoSinkInterface<webrtc::VideoFrame> {
  public:
-  FakeVideoRenderer()
-      : errors_(0),
-        width_(0),
-        height_(0),
-        rotation_(webrtc::kVideoRotation_0),
-        timestamp_us_(0),
-        num_rendered_frames_(0),
-        black_frame_(false) {}
+  FakeVideoRenderer();
 
-  virtual void OnFrame(const webrtc::VideoFrame& frame) {
-    rtc::CritScope cs(&crit_);
-    // TODO(zhurunz) Check with VP8 team to see if we can remove this
-    // tolerance on Y values. Some unit tests produce Y values close
-    // to 16 rather than close to zero, for supposedly black frames.
-    // Largest value observed is 34, e.g., running
-    // PeerConnectionIntegrationTest.SendAndReceive16To9AspectRatio.
-    black_frame_ = CheckFrameColorYuv(0, 48, 128, 128, 128, 128, &frame);
-    // Treat unexpected frame size as error.
-    ++num_rendered_frames_;
-    width_ = frame.width();
-    height_ = frame.height();
-    rotation_ = frame.rotation();
-    timestamp_us_ = frame.timestamp_us();
-  }
+  void OnFrame(const webrtc::VideoFrame& frame) override;
 
   int errors() const { return errors_; }
   int width() const {
@@ -127,13 +106,13 @@
     return true;
   }
 
-  int errors_;
-  int width_;
-  int height_;
-  webrtc::VideoRotation rotation_;
-  int64_t timestamp_us_;
-  int num_rendered_frames_;
-  bool black_frame_;
+  int errors_ = 0;
+  int width_ = 0;
+  int height_ = 0;
+  webrtc::VideoRotation rotation_ = webrtc::kVideoRotation_0;
+  int64_t timestamp_us_ = 0;
+  int num_rendered_frames_ = 0;
+  bool black_frame_ = false;
   rtc::CriticalSection crit_;
 };
 
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 34f103b..4501391 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -199,12 +199,6 @@
           "../rtc_base:rtc_base",
           "../rtc_base:rtc_base_approved",
         ]
-
-        if (is_clang) {
-          # Suppress warnings from the Chromium Clang plugin
-          # (bugs.webrtc.org/163).
-          suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
-        }
       }
     }
 
@@ -234,11 +228,6 @@
         "..:common_objc",
         ":used_from_extension",
       ]
-      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" ]
-      }
     }
 
     rtc_static_library("videoframebuffer_objc") {
@@ -316,11 +305,6 @@
         "..:common_objc",
         ":used_from_extension",
       ]
-      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" ]
-      }
     }
 
     rtc_static_library("ui_objc") {
@@ -442,12 +426,6 @@
 
       public_configs = [ ":common_config_objc" ]
 
-      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 = [
         ":common_objc",
         ":video_objc",
@@ -519,12 +497,6 @@
         "objc/Framework/Headers/WebRTC/RTCVideoEncoderVP8.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 = [
         ":wrapped_native_codec_objc",
         "../modules/video_coding:webrtc_vp8",
@@ -541,12 +513,6 @@
         "objc/Framework/Headers/WebRTC/RTCVideoEncoderVP9.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 = [
         ":wrapped_native_codec_objc",
         "../modules/video_coding:webrtc_vp9",
@@ -575,12 +541,6 @@
 
       public_configs = [ ":common_config_objc" ]
 
-      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 = [
         ":native_api",
         ":native_video",
@@ -596,11 +556,6 @@
         "objc/Framework/Classes/PeerConnection/RTCMediaConstraints.mm",
         "objc/Framework/Headers/WebRTC/RTCMediaConstraints.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" ]
-      }
 
       public_configs = [ ":common_config_objc" ]
       deps = [
@@ -771,12 +726,6 @@
       ]
       public_configs = [ ":common_config_objc" ]
 
-      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 = [
         ":common_objc",
         ":mediaconstraints_objc",
@@ -879,12 +828,6 @@
           ]
 
           include_dirs += [ "$root_out_dir/WebRTC.framework/Headers/" ]
-
-          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" ]
-          }
         }
 
         bundle_data("sdk_unittests_bundle_data") {
@@ -915,12 +858,6 @@
             ":sdk_unittests_sources",
           ]
           ldflags = [ "-all_load" ]
-
-          if (is_clang) {
-            # Suppress warnings from the Chromium Clang plugin
-            # (bugs.webrtc.org/163).
-            suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
-          }
         }
       }
 
@@ -986,12 +923,6 @@
           sources += [ "objc/Framework/UnitTests/RTCAudioSessionTest.mm" ]
           deps += [ ":audio_objc" ]
         }
-
-        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" ]
-        }
       }
     }
 
@@ -1111,12 +1042,6 @@
         ]
 
         public_configs = [ ":common_config_objc" ]
-
-        if (!build_with_chromium && is_clang) {
-          # Suppress warnings from the Chromium Clang plugin
-          # (bugs.webrtc.org/163).
-          configs -= [ "//build/config/clang:find_bad_constructs" ]
-        }
       }
     }
 
@@ -1131,12 +1056,6 @@
       configs += [ "..:common_objc" ]
       public_configs = [ ":common_config_objc" ]
 
-      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 = [
         ":common_objc",
         ":videocodec_objc",
@@ -1171,12 +1090,6 @@
 
       public_configs = [ ":common_config_objc" ]
 
-      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 = [
         ":native_video",
         ":videocapturebase_objc",
@@ -1254,11 +1167,6 @@
         "../rtc_base:checks",
         "../rtc_base:rtc_base_approved",
       ]
-      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" ]
-      }
     }
 
     rtc_static_library("videotoolbox_objc") {
@@ -1309,12 +1217,6 @@
         "CoreVideo.framework",
         "VideoToolbox.framework",
       ]
-
-      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" ]
-      }
     }
   }
 }
diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCMediaConstraints+Private.h b/sdk/objc/Framework/Classes/PeerConnection/RTCMediaConstraints+Private.h
index 75cd79b..1c8eb28 100644
--- a/sdk/objc/Framework/Classes/PeerConnection/RTCMediaConstraints+Private.h
+++ b/sdk/objc/Framework/Classes/PeerConnection/RTCMediaConstraints+Private.h
@@ -18,12 +18,12 @@
 
 class MediaConstraints : public MediaConstraintsInterface {
  public:
-  virtual ~MediaConstraints();
+  ~MediaConstraints() override;
   MediaConstraints();
   MediaConstraints(const MediaConstraintsInterface::Constraints& mandatory,
                    const MediaConstraintsInterface::Constraints& optional);
-  virtual const Constraints& GetMandatory() const;
-  virtual const Constraints& GetOptional() const;
+  const Constraints& GetMandatory() const override;
+  const Constraints& GetOptional() const override;
 
  private:
   MediaConstraintsInterface::Constraints mandatory_;
diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+Private.h b/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+Private.h
index 15b05de..1d02b63 100644
--- a/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+Private.h
+++ b/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+Private.h
@@ -23,7 +23,7 @@
 class PeerConnectionDelegateAdapter : public PeerConnectionObserver {
  public:
   PeerConnectionDelegateAdapter(RTCPeerConnection *peerConnection);
-  virtual ~PeerConnectionDelegateAdapter();
+  ~PeerConnectionDelegateAdapter() override;
 
   void OnSignalingChange(PeerConnectionInterface::SignalingState new_state) override;
 
diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+Stats.mm b/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+Stats.mm
index fb16a31..e399722 100644
--- a/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+Stats.mm
+++ b/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+Stats.mm
@@ -25,9 +25,7 @@
     completion_handler_ = completionHandler;
   }
 
-  ~StatsObserverAdapter() {
-    completion_handler_ = nil;
-  }
+  ~StatsObserverAdapter() override { completion_handler_ = nil; }
 
   void OnComplete(const StatsReports& reports) override {
     RTC_DCHECK(completion_handler_);
diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm b/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm
index 947bba6..103b3c0 100644
--- a/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm
+++ b/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm
@@ -46,9 +46,7 @@
     completion_handler_ = completionHandler;
   }
 
-  ~CreateSessionDescriptionObserverAdapter() {
-    completion_handler_ = nil;
-  }
+  ~CreateSessionDescriptionObserverAdapter() override { completion_handler_ = nil; }
 
   void OnSuccess(SessionDescriptionInterface *desc) override {
     RTC_DCHECK(completion_handler_);
@@ -86,9 +84,7 @@
     completion_handler_ = completionHandler;
   }
 
-  ~SetSessionDescriptionObserverAdapter() {
-    completion_handler_ = nil;
-  }
+  ~SetSessionDescriptionObserverAdapter() override { completion_handler_ = nil; }
 
   void OnSuccess() override {
     RTC_DCHECK(completion_handler_);
diff --git a/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc b/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc
index a373050..479ef3c 100644
--- a/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc
+++ b/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc
@@ -286,6 +286,8 @@
   offset_ = offsets_.begin();
 }
 
+AnnexBBufferReader::~AnnexBBufferReader() = default;
+
 bool AnnexBBufferReader::ReadNalu(const uint8_t** out_nalu,
                                   size_t* out_length) {
   RTC_DCHECK(out_nalu);
diff --git a/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h b/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h
index 0155882..cd5a510 100644
--- a/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h
+++ b/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h
@@ -57,7 +57,7 @@
 class AnnexBBufferReader final {
  public:
   AnnexBBufferReader(const uint8_t* annexb_buffer, size_t length);
-  ~AnnexBBufferReader() {}
+  ~AnnexBBufferReader();
   AnnexBBufferReader(const AnnexBBufferReader& other) = delete;
   void operator=(const AnnexBBufferReader& other) = delete;
 
diff --git a/sdk/objc/Framework/Native/src/audio/audio_device_ios.h b/sdk/objc/Framework/Native/src/audio/audio_device_ios.h
index 56326c1..23e54b1 100644
--- a/sdk/objc/Framework/Native/src/audio/audio_device_ios.h
+++ b/sdk/objc/Framework/Native/src/audio/audio_device_ios.h
@@ -49,7 +49,7 @@
                        public rtc::MessageHandler {
  public:
   AudioDeviceIOS();
-  ~AudioDeviceIOS();
+  ~AudioDeviceIOS() override;
 
   void AttachAudioBuffer(AudioDeviceBuffer* audioBuffer) override;
 
@@ -65,11 +65,11 @@
 
   int32_t StartPlayout() override;
   int32_t StopPlayout() override;
-  bool Playing() const override { return playing_; }
+  bool Playing() const override;
 
   int32_t StartRecording() override;
   int32_t StopRecording() override;
-  bool Recording() const override { return recording_; }
+  bool Recording() const override;
 
   // These methods returns hard-coded delay values and not dynamic delay
   // estimates. The reason is that iOS supports a built-in AEC and the WebRTC
diff --git a/sdk/objc/Framework/Native/src/audio/audio_device_ios.mm b/sdk/objc/Framework/Native/src/audio/audio_device_ios.mm
index 3779c25..dfa4dea 100644
--- a/sdk/objc/Framework/Native/src/audio/audio_device_ios.mm
+++ b/sdk/objc/Framework/Native/src/audio/audio_device_ios.mm
@@ -271,6 +271,10 @@
   return 0;
 }
 
+bool AudioDeviceIOS::Playing() const {
+  return playing_;
+}
+
 int32_t AudioDeviceIOS::StartRecording() {
   LOGI() << "StartRecording";
   RTC_DCHECK_RUN_ON(&thread_checker_);
@@ -305,6 +309,10 @@
   return 0;
 }
 
+bool AudioDeviceIOS::Recording() const {
+  return recording_;
+}
+
 int32_t AudioDeviceIOS::PlayoutDelay(uint16_t& delayMS) const {
   delayMS = kFixedPlayoutDelayEstimate;
   return 0;
diff --git a/sdk/objc/Framework/Native/src/objc_video_decoder_factory.h b/sdk/objc/Framework/Native/src/objc_video_decoder_factory.h
index 2967b0a..3e29808 100644
--- a/sdk/objc/Framework/Native/src/objc_video_decoder_factory.h
+++ b/sdk/objc/Framework/Native/src/objc_video_decoder_factory.h
@@ -21,7 +21,7 @@
 class ObjCVideoDecoderFactory : public VideoDecoderFactory {
  public:
   explicit ObjCVideoDecoderFactory(id<RTCVideoDecoderFactory>);
-  ~ObjCVideoDecoderFactory();
+  ~ObjCVideoDecoderFactory() override;
 
   id<RTCVideoDecoderFactory> wrapped_decoder_factory() const;
 
diff --git a/sdk/objc/Framework/Native/src/objc_video_encoder_factory.h b/sdk/objc/Framework/Native/src/objc_video_encoder_factory.h
index 8c3a5a8..43a3bf4 100644
--- a/sdk/objc/Framework/Native/src/objc_video_encoder_factory.h
+++ b/sdk/objc/Framework/Native/src/objc_video_encoder_factory.h
@@ -22,7 +22,7 @@
 class ObjCVideoEncoderFactory : public VideoEncoderFactory {
  public:
   explicit ObjCVideoEncoderFactory(id<RTCVideoEncoderFactory>);
-  ~ObjCVideoEncoderFactory();
+  ~ObjCVideoEncoderFactory() override;
 
   id<RTCVideoEncoderFactory> wrapped_encoder_factory() const;
 
diff --git a/sdk/objc/Framework/Native/src/objc_video_track_source.h b/sdk/objc/Framework/Native/src/objc_video_track_source.h
index d237980..e26b281 100644
--- a/sdk/objc/Framework/Native/src/objc_video_track_source.h
+++ b/sdk/objc/Framework/Native/src/objc_video_track_source.h
@@ -31,16 +31,16 @@
 
   // This class can not be used for implementing screen casting. Hopefully, this
   // function will be removed before we add that to iOS/Mac.
-  bool is_screencast() const override { return false; }
+  bool is_screencast() const override;
 
   // Indicates that the encoder should denoise video before encoding it.
   // If it is not set, the default configuration is used which is different
   // depending on video codec.
-  absl::optional<bool> needs_denoising() const override { return false; }
+  absl::optional<bool> needs_denoising() const override;
 
-  SourceState state() const override { return SourceState::kLive; }
+  SourceState state() const override;
 
-  bool remote() const override { return false; }
+  bool remote() const override;
 
   void OnCapturedFrame(RTCVideoFrame* frame);
 
diff --git a/sdk/objc/Framework/Native/src/objc_video_track_source.mm b/sdk/objc/Framework/Native/src/objc_video_track_source.mm
index b430efa..abb0378 100644
--- a/sdk/objc/Framework/Native/src/objc_video_track_source.mm
+++ b/sdk/objc/Framework/Native/src/objc_video_track_source.mm
@@ -39,6 +39,22 @@
   adapter_.objCVideoTrackSource = this;
 }
 
+bool ObjCVideoTrackSource::is_screencast() const {
+  return false;
+}
+
+absl::optional<bool> ObjCVideoTrackSource::needs_denoising() const {
+  return false;
+}
+
+MediaSourceInterface::SourceState ObjCVideoTrackSource::state() const {
+  return SourceState::kLive;
+}
+
+bool ObjCVideoTrackSource::remote() const {
+  return false;
+}
+
 void ObjCVideoTrackSource::OnOutputFormatRequest(int width, int height, int fps) {
   cricket::VideoFormat format(width, height, cricket::VideoFormat::FpsToInterval(fps), 0);
   video_adapter()->OnOutputFormatRequest(format);
diff --git a/sdk/objc/Framework/UnitTests/ObjCVideoTrackSource_xctest.mm b/sdk/objc/Framework/UnitTests/ObjCVideoTrackSource_xctest.mm
index 7d111c8..a32ccce 100644
--- a/sdk/objc/Framework/UnitTests/ObjCVideoTrackSource_xctest.mm
+++ b/sdk/objc/Framework/UnitTests/ObjCVideoTrackSource_xctest.mm
@@ -31,7 +31,7 @@
  public:
   ObjCCallbackVideoSink(VideoSinkCallback callback) : callback_(callback) {}
 
-  virtual void OnFrame(const webrtc::VideoFrame &frame) {
+  void OnFrame(const webrtc::VideoFrame &frame) override {
     callback_(NativeToObjCVideoFrame(frame));
   }
 
diff --git a/sdk/objc/Framework/UnitTests/RTCAudioDeviceModule_xctest.mm b/sdk/objc/Framework/UnitTests/RTCAudioDeviceModule_xctest.mm
index 9644b2b..739ec6a 100644
--- a/sdk/objc/Framework/UnitTests/RTCAudioDeviceModule_xctest.mm
+++ b/sdk/objc/Framework/UnitTests/RTCAudioDeviceModule_xctest.mm
@@ -43,7 +43,7 @@
 class MockAudioTransport : public webrtc::AudioTransport {
 public:
   MockAudioTransport() {}
-  ~MockAudioTransport() {}
+  ~MockAudioTransport() override {}
 
   void expectNeedMorePlayData(NeedMorePlayDataBlock block) {
     needMorePlayDataBlock = block;
@@ -60,7 +60,7 @@
                            void* audioSamples,
                            size_t& nSamplesOut,
                            int64_t* elapsed_time_ms,
-                           int64_t* ntp_time_ms) {
+                           int64_t* ntp_time_ms) override {
     return needMorePlayDataBlock(nSamples,
                                  nBytesPerSample,
                                  nChannels,
@@ -80,7 +80,7 @@
                                   const int32_t clockDrift,
                                   const uint32_t currentMicLevel,
                                   const bool keyPressed,
-                                  uint32_t& newMicLevel) {
+                                  uint32_t& newMicLevel) override {
     return recordedDataIsAvailableBlock(audioSamples,
                                         nSamples,
                                         nBytesPerSample,
@@ -99,11 +99,9 @@
                       size_t number_of_frames,
                       void* audio_data,
                       int64_t* elapsed_time_ms,
-                      int64_t* ntp_time_ms) {
+                      int64_t* ntp_time_ms) override {}
 
-  }
-
-private:
+ private:
   NeedMorePlayDataBlock needMorePlayDataBlock;
   RecordedDataIsAvailableBlock recordedDataIsAvailableBlock;
 };
diff --git a/sdk/objc/Framework/UnitTests/RTCAudioSessionTest.mm b/sdk/objc/Framework/UnitTests/RTCAudioSessionTest.mm
index 951b5ea..ee52242 100644
--- a/sdk/objc/Framework/UnitTests/RTCAudioSessionTest.mm
+++ b/sdk/objc/Framework/UnitTests/RTCAudioSessionTest.mm
@@ -299,7 +299,7 @@
 
 class AudioSessionTest : public ::testing::Test {
  protected:
-  void TearDown() {
+  void TearDown() override {
     RTCAudioSession *session = [RTCAudioSession sharedInstance];
     for (id<RTCAudioSessionDelegate> delegate : session.delegates) {
       [session removeDelegate:delegate];
diff --git a/sdk/objc/Framework/UnitTests/objc_video_decoder_factory_tests.mm b/sdk/objc/Framework/UnitTests/objc_video_decoder_factory_tests.mm
index 713ed9f..a8ea43c 100644
--- a/sdk/objc/Framework/UnitTests/objc_video_decoder_factory_tests.mm
+++ b/sdk/objc/Framework/UnitTests/objc_video_decoder_factory_tests.mm
@@ -56,14 +56,14 @@
 TEST(ObjCVideoDecoderFactoryTest, InitDecodeReturnsOKOnSuccess) {
   std::unique_ptr<webrtc::VideoDecoder> decoder = GetObjCDecoder(CreateOKDecoderFactory());
 
-  auto settings = new webrtc::VideoCodec();
+  auto* settings = new webrtc::VideoCodec();
   EXPECT_EQ(decoder->InitDecode(settings, 1), WEBRTC_VIDEO_CODEC_OK);
 }
 
 TEST(ObjCVideoDecoderFactoryTest, InitDecodeReturnsErrorOnFail) {
   std::unique_ptr<webrtc::VideoDecoder> decoder = GetObjCDecoder(CreateErrorDecoderFactory());
 
-  auto settings = new webrtc::VideoCodec();
+  auto* settings = new webrtc::VideoCodec();
   EXPECT_EQ(decoder->InitDecode(settings, 1), WEBRTC_VIDEO_CODEC_ERROR);
 }
 
diff --git a/sdk/objc/Framework/UnitTests/objc_video_encoder_factory_tests.mm b/sdk/objc/Framework/UnitTests/objc_video_encoder_factory_tests.mm
index 2ae1ebb..9377751 100644
--- a/sdk/objc/Framework/UnitTests/objc_video_encoder_factory_tests.mm
+++ b/sdk/objc/Framework/UnitTests/objc_video_encoder_factory_tests.mm
@@ -58,14 +58,14 @@
 TEST(ObjCVideoEncoderFactoryTest, InitEncodeReturnsOKOnSuccess) {
   std::unique_ptr<webrtc::VideoEncoder> encoder = GetObjCEncoder(CreateOKEncoderFactory());
 
-  auto settings = new webrtc::VideoCodec();
+  auto* settings = new webrtc::VideoCodec();
   EXPECT_EQ(encoder->InitEncode(settings, 1, 0), WEBRTC_VIDEO_CODEC_OK);
 }
 
 TEST(ObjCVideoEncoderFactoryTest, InitEncodeReturnsErrorOnFail) {
   std::unique_ptr<webrtc::VideoEncoder> encoder = GetObjCEncoder(CreateErrorEncoderFactory());
 
-  auto settings = new webrtc::VideoCodec();
+  auto* settings = new webrtc::VideoCodec();
   EXPECT_EQ(encoder->InitEncode(settings, 1, 0), WEBRTC_VIDEO_CODEC_ERROR);
 }