WebRtcVideoEncoderFactory cleanup

Remove some deprecated functions.

BUG=webrtc:6402

Review-Url: https://codereview.webrtc.org/2859223003
Cr-Commit-Position: refs/heads/master@{#18116}
This commit is contained in:
magjed
2017-05-12 00:24:40 -07:00
committed by Commit bot
parent 926ce564ed
commit c1a8974ebd
8 changed files with 13 additions and 114 deletions

View File

@ -150,7 +150,6 @@ rtc_static_library("rtc_media") {
"engine/webrtcvideocapturerfactory.cc", "engine/webrtcvideocapturerfactory.cc",
"engine/webrtcvideocapturerfactory.h", "engine/webrtcvideocapturerfactory.h",
"engine/webrtcvideodecoderfactory.h", "engine/webrtcvideodecoderfactory.h",
"engine/webrtcvideoencoderfactory.cc",
"engine/webrtcvideoencoderfactory.h", "engine/webrtcvideoencoderfactory.h",
"engine/webrtcvideoengine2.cc", "engine/webrtcvideoengine2.cc",
"engine/webrtcvideoengine2.h", "engine/webrtcvideoengine2.h",

View File

@ -247,10 +247,6 @@ class FakeWebRtcVideoEncoderFactory : public WebRtcVideoEncoderFactory {
} }
private: private:
// Disable overloaded virtual function warning. TODO(magjed): Remove once
// http://crbug/webrtc/6402 is fixed.
using cricket::WebRtcVideoEncoderFactory::CreateVideoEncoder;
rtc::CriticalSection crit_; rtc::CriticalSection crit_;
rtc::Event created_video_encoder_event_; rtc::Event created_video_encoder_event_;
std::vector<cricket::VideoCodec> codecs_; std::vector<cricket::VideoCodec> codecs_;

View File

@ -29,10 +29,6 @@ class InternalEncoderFactory : public WebRtcVideoEncoderFactory {
void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) override; void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) override;
private: 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_; std::vector<cricket::VideoCodec> supported_codecs_;
}; };

View File

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

View File

@ -24,46 +24,15 @@ namespace cricket {
class WebRtcVideoEncoderFactory { class WebRtcVideoEncoderFactory {
public: 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() {} 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 // Caller takes the ownership of the returned object and it should be released
// by calling DestroyVideoEncoder(). // by calling DestroyVideoEncoder().
virtual webrtc::VideoEncoder* CreateVideoEncoder( virtual webrtc::VideoEncoder* CreateVideoEncoder(
const cricket::VideoCodec& codec); const cricket::VideoCodec& codec) = 0;
// Returns a list of supported codecs in order of preference. // Returns a list of supported codecs in order of preference.
virtual const std::vector<cricket::VideoCodec>& supported_codecs() const; virtual const std::vector<cricket::VideoCodec>& supported_codecs() const = 0;
// 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;
// Returns true if encoders created by this factory of the given codec type // 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 // will use internal camera sources, meaning that they don't require/expect
@ -75,13 +44,6 @@ class WebRtcVideoEncoderFactory {
} }
virtual void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) = 0; 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 } // namespace cricket

View File

@ -16,15 +16,22 @@ class WebRtcVideoEncoderFactoryForTest
: public cricket::WebRtcVideoEncoderFactory { : public cricket::WebRtcVideoEncoderFactory {
public: public:
WebRtcVideoEncoderFactoryForTest() { WebRtcVideoEncoderFactoryForTest() {
codecs_.push_back(VideoCodec(webrtc::kVideoCodecH264, "H264")); codecs_.push_back(cricket::VideoCodec("H264"));
codecs_.push_back(VideoCodec(webrtc::kVideoCodecVP8, "VP8")); 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 {} void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) override {}
std::vector<VideoCodec> codecs_; std::vector<cricket::VideoCodec> codecs_;
}; };
TEST(WebRtcVideoEncoderFactoryTest, TestMultipleCallsToSupportedCodecs) { TEST(WebRtcVideoEncoderFactoryTest, TestMultipleCallsToSupportedCodecs) {

View File

@ -144,10 +144,6 @@ class WebRtcSimulcastEncoderFactory
} }
private: private:
// Disable overloaded virtual function warning. TODO(magjed): Remove once
// http://crbug/webrtc/6402 is fixed.
using cricket::WebRtcVideoEncoderFactory::CreateVideoEncoder;
cricket::WebRtcVideoEncoderFactory* factory_; cricket::WebRtcVideoEncoderFactory* factory_;
// A list of encoders that were created without being wrapped in a // A list of encoders that were created without being wrapped in a
// SimulcastEncoderAdapter. // SimulcastEncoderAdapter.

View File

@ -34,10 +34,6 @@ class MediaCodecVideoEncoderFactory
void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) override; void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) override;
private: private:
// Disable overloaded virtual function warning. TODO(magjed): Remove once
// http://crbug/webrtc/6402 is fixed.
using cricket::WebRtcVideoEncoderFactory::CreateVideoEncoder;
jobject egl_context_; jobject egl_context_;
// Empty if platform support is lacking, const after ctor returns. // Empty if platform support is lacking, const after ctor returns.