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:
@ -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",
|
||||||
|
|||||||
@ -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_;
|
||||||
|
|||||||
@ -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_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -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
|
|
||||||
@ -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
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user