WebRtcVideoEncoderFactory cleanup

Remove some deprecated functions.

BUG=webrtc:6402

Review-Url: https://codereview.webrtc.org/2859223003
Cr-Commit-Position: refs/heads/master@{#18116}
diff --git a/webrtc/media/BUILD.gn b/webrtc/media/BUILD.gn
index 4e4d67a..cc77598 100644
--- a/webrtc/media/BUILD.gn
+++ b/webrtc/media/BUILD.gn
@@ -150,7 +150,6 @@
     "engine/webrtcvideocapturerfactory.cc",
     "engine/webrtcvideocapturerfactory.h",
     "engine/webrtcvideodecoderfactory.h",
-    "engine/webrtcvideoencoderfactory.cc",
     "engine/webrtcvideoencoderfactory.h",
     "engine/webrtcvideoengine2.cc",
     "engine/webrtcvideoengine2.h",
diff --git a/webrtc/media/engine/fakewebrtcvideoengine.h b/webrtc/media/engine/fakewebrtcvideoengine.h
index f95fa7b..081005d 100644
--- a/webrtc/media/engine/fakewebrtcvideoengine.h
+++ b/webrtc/media/engine/fakewebrtcvideoengine.h
@@ -247,10 +247,6 @@
   }
 
  private:
-  // Disable overloaded virtual function warning. TODO(magjed): Remove once
-  // http://crbug/webrtc/6402 is fixed.
-  using cricket::WebRtcVideoEncoderFactory::CreateVideoEncoder;
-
   rtc::CriticalSection crit_;
   rtc::Event created_video_encoder_event_;
   std::vector<cricket::VideoCodec> codecs_;
diff --git a/webrtc/media/engine/internalencoderfactory.h b/webrtc/media/engine/internalencoderfactory.h
index 909fa0f..cfc6101 100644
--- a/webrtc/media/engine/internalencoderfactory.h
+++ b/webrtc/media/engine/internalencoderfactory.h
@@ -29,10 +29,6 @@
   void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) override;
 
  private:
-  // Disable overloaded virtual function warning. TODO(magjed): Remove once
-  // http://crbug/webrtc/6402 is fixed.
-  using WebRtcVideoEncoderFactory::CreateVideoEncoder;
-
   std::vector<cricket::VideoCodec> supported_codecs_;
 };
 
diff --git a/webrtc/media/engine/webrtcvideoencoderfactory.cc b/webrtc/media/engine/webrtcvideoencoderfactory.cc
deleted file mode 100644
index a332d86..0000000
--- a/webrtc/media/engine/webrtcvideoencoderfactory.cc
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- *  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/media/engine/webrtcvideoencoderfactory.h"
-
-#include "webrtc/common_types.h"
-
-namespace cricket {
-
-webrtc::VideoEncoder* WebRtcVideoEncoderFactory::CreateVideoEncoder(
-    const cricket::VideoCodec& codec) {
-  return CreateVideoEncoder(webrtc::PayloadNameToCodecType(codec.name)
-                                .value_or(webrtc::kVideoCodecUnknown));
-}
-
-const std::vector<cricket::VideoCodec>&
-WebRtcVideoEncoderFactory::supported_codecs() const {
-  codecs_.clear();
-  const std::vector<VideoCodec>& encoder_codecs = codecs();
-  for (const VideoCodec& encoder_codec : encoder_codecs) {
-    codecs_.push_back(cricket::VideoCodec(encoder_codec.name));
-  }
-  return codecs_;
-}
-
-webrtc::VideoEncoder* WebRtcVideoEncoderFactory::CreateVideoEncoder(
-    webrtc::VideoCodecType type) {
-  const cricket::VideoCodec codec(
-      webrtc::CodecTypeToPayloadName(type).value_or("Unknown codec"));
-  return CreateVideoEncoder(codec);
-}
-
-const std::vector<WebRtcVideoEncoderFactory::VideoCodec>&
-WebRtcVideoEncoderFactory::codecs() const {
-  encoder_codecs_.clear();
-  const std::vector<cricket::VideoCodec>& codecs = supported_codecs();
-  for (const cricket::VideoCodec& codec : codecs) {
-    encoder_codecs_.push_back(
-        VideoCodec(webrtc::PayloadNameToCodecType(codec.name)
-                       .value_or(webrtc::kVideoCodecUnknown),
-                   codec.name));
-  }
-  return encoder_codecs_;
-}
-
-}  // namespace cricket
diff --git a/webrtc/media/engine/webrtcvideoencoderfactory.h b/webrtc/media/engine/webrtcvideoencoderfactory.h
index 35e4092..208ab8b 100644
--- a/webrtc/media/engine/webrtcvideoencoderfactory.h
+++ b/webrtc/media/engine/webrtcvideoencoderfactory.h
@@ -24,46 +24,15 @@
 
 class WebRtcVideoEncoderFactory {
  public:
-  // This VideoCodec class is deprecated. Use cricket::VideoCodec directly
-  // instead and the corresponding factory function. See
-  // http://crbug/webrtc/6402 for more info.
-  struct VideoCodec {
-    webrtc::VideoCodecType type;
-    std::string name;
-
-    VideoCodec(webrtc::VideoCodecType t, const std::string& nm)
-        : type(t), name(nm) {}
-
-    VideoCodec(webrtc::VideoCodecType t,
-               const std::string& nm,
-               int w,
-               int h,
-               int fr)
-        : type(t), name(nm) {}
-  };
-
   virtual ~WebRtcVideoEncoderFactory() {}
 
-  // TODO(magjed): Make these functions pure virtual when every external client
-  // implements it. See http://crbug/webrtc/6402 for more info.
   // Caller takes the ownership of the returned object and it should be released
   // by calling DestroyVideoEncoder().
   virtual webrtc::VideoEncoder* CreateVideoEncoder(
-      const cricket::VideoCodec& codec);
+      const cricket::VideoCodec& codec) = 0;
 
   // Returns a list of supported codecs in order of preference.
-  virtual const std::vector<cricket::VideoCodec>& supported_codecs() const;
-
-  // Caller takes the ownership of the returned object and it should be released
-  // by calling DestroyVideoEncoder().
-  // Deprecated: Use cricket::VideoCodec as argument instead. See
-  // http://crbug/webrtc/6402 for more info.
-  virtual webrtc::VideoEncoder* CreateVideoEncoder(webrtc::VideoCodecType type);
-
-  // Returns a list of supported codecs in order of preference.
-  // Deprecated: Return cricket::VideoCodecs instead. See
-  // http://crbug/webrtc/6402 for more info.
-  virtual const std::vector<VideoCodec>& codecs() const;
+  virtual const std::vector<cricket::VideoCodec>& supported_codecs() const = 0;
 
   // Returns true if encoders created by this factory of the given codec type
   // will use internal camera sources, meaning that they don't require/expect
@@ -75,13 +44,6 @@
   }
 
   virtual void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) = 0;
-
- private:
-  // TODO(magjed): Remove these. They are necessary in order to return a const
-  // reference to a std::vector in the default implementations of codecs() and
-  // supported_codecs(). See http://crbug/webrtc/6402 for more info.
-  mutable std::vector<VideoCodec> encoder_codecs_;
-  mutable std::vector<cricket::VideoCodec> codecs_;
 };
 
 }  // namespace cricket
diff --git a/webrtc/media/engine/webrtcvideoencoderfactory_unittest.cc b/webrtc/media/engine/webrtcvideoencoderfactory_unittest.cc
index 967c33b..5d3c9ab 100644
--- a/webrtc/media/engine/webrtcvideoencoderfactory_unittest.cc
+++ b/webrtc/media/engine/webrtcvideoencoderfactory_unittest.cc
@@ -16,15 +16,22 @@
     : public cricket::WebRtcVideoEncoderFactory {
  public:
   WebRtcVideoEncoderFactoryForTest() {
-    codecs_.push_back(VideoCodec(webrtc::kVideoCodecH264, "H264"));
-    codecs_.push_back(VideoCodec(webrtc::kVideoCodecVP8, "VP8"));
+    codecs_.push_back(cricket::VideoCodec("H264"));
+    codecs_.push_back(cricket::VideoCodec("VP8"));
   }
 
-  const std::vector<VideoCodec>& codecs() const override { return codecs_; }
+  webrtc::VideoEncoder* CreateVideoEncoder(
+      const cricket::VideoCodec& codec) override {
+    return nullptr;
+  }
+
+  const std::vector<cricket::VideoCodec>& supported_codecs() const override {
+    return codecs_;
+  }
 
   void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) override {}
 
-  std::vector<VideoCodec> codecs_;
+  std::vector<cricket::VideoCodec> codecs_;
 };
 
 TEST(WebRtcVideoEncoderFactoryTest, TestMultipleCallsToSupportedCodecs) {
diff --git a/webrtc/media/engine/webrtcvideoengine2.cc b/webrtc/media/engine/webrtcvideoengine2.cc
index 6583387..2465aab 100644
--- a/webrtc/media/engine/webrtcvideoengine2.cc
+++ b/webrtc/media/engine/webrtcvideoengine2.cc
@@ -144,10 +144,6 @@
   }
 
  private:
-  // Disable overloaded virtual function warning. TODO(magjed): Remove once
-  // http://crbug/webrtc/6402 is fixed.
-  using cricket::WebRtcVideoEncoderFactory::CreateVideoEncoder;
-
   cricket::WebRtcVideoEncoderFactory* factory_;
   // A list of encoders that were created without being wrapped in a
   // SimulcastEncoderAdapter.
diff --git a/webrtc/sdk/android/src/jni/androidmediaencoder_jni.h b/webrtc/sdk/android/src/jni/androidmediaencoder_jni.h
index 3e6d884..08f5502 100644
--- a/webrtc/sdk/android/src/jni/androidmediaencoder_jni.h
+++ b/webrtc/sdk/android/src/jni/androidmediaencoder_jni.h
@@ -34,10 +34,6 @@
   void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) override;
 
  private:
-  // Disable overloaded virtual function warning. TODO(magjed): Remove once
-  // http://crbug/webrtc/6402 is fixed.
-  using cricket::WebRtcVideoEncoderFactory::CreateVideoEncoder;
-
   jobject egl_context_;
 
   // Empty if platform support is lacking, const after ctor returns.