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.