Mark functions using old factory classes as deprecated.

The flag rtc_use_builtin_sw_codecs will be removed in a later CL and
this marks usage of the various entry points using the old video factory
API as deprecated.

Bug: webrtc:7925, webrtc:10044
Change-Id: I5c75516a41b0666e77539c028808cc2b173ed4bd
Reviewed-on: https://webrtc-review.googlesource.com/c/113061
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25970}
This commit is contained in:
Anders Carlsson 2018-12-11 15:44:54 +01:00 committed by Commit Bot
parent ad858d1231
commit 01092957f5
13 changed files with 77 additions and 33 deletions

View File

@ -62,6 +62,7 @@ rtc_static_library("create_peerconnection_factory") {
"../modules/audio_device:audio_device_api",
"../modules/audio_processing:api",
"../pc:peerconnection",
"../rtc_base:deprecation",
"../rtc_base:ptr_util",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",

View File

@ -67,6 +67,7 @@ specific_include_rules = {
],
"create_peerconnection_factory\.h": [
"+rtc_base/deprecation.h",
"+rtc_base/scoped_ref_ptr.h",
],

View File

@ -19,6 +19,7 @@
#include "api/fec_controller.h"
#include "api/peerconnectioninterface.h"
#include "api/transport/network_control.h"
#include "rtc_base/deprecation.h"
#include "rtc_base/scoped_ref_ptr.h"
namespace rtc {
@ -49,7 +50,7 @@ class AudioProcessing;
// rtc::Thread::Current()->Run(), or call
// rtc::Thread::Current()->ProcessMessages() within the application's own
// message loop.
RTC_EXPORT rtc::scoped_refptr<PeerConnectionFactoryInterface>
RTC_DEPRECATED RTC_EXPORT rtc::scoped_refptr<PeerConnectionFactoryInterface>
CreatePeerConnectionFactory(
rtc::scoped_refptr<AudioEncoderFactory> audio_encoder_factory,
rtc::scoped_refptr<AudioDecoderFactory> audio_decoder_factory);
@ -64,7 +65,7 @@ CreatePeerConnectionFactory(
// returned factory.
// TODO(deadbeef): Use rtc::scoped_refptr<> and std::unique_ptr<> to make this
// ownership transfer and ref counting more obvious.
RTC_EXPORT rtc::scoped_refptr<PeerConnectionFactoryInterface>
RTC_DEPRECATED RTC_EXPORT rtc::scoped_refptr<PeerConnectionFactoryInterface>
CreatePeerConnectionFactory(
rtc::Thread* network_thread,
rtc::Thread* worker_thread,
@ -81,7 +82,7 @@ CreatePeerConnectionFactory(
// If |audio_mixer| is null, an internal audio mixer will be created and used.
// If |audio_processing| is null, an internal audio processing module will be
// created and used.
RTC_EXPORT rtc::scoped_refptr<PeerConnectionFactoryInterface>
RTC_DEPRECATED RTC_EXPORT rtc::scoped_refptr<PeerConnectionFactoryInterface>
CreatePeerConnectionFactory(
rtc::Thread* network_thread,
rtc::Thread* worker_thread,
@ -104,7 +105,7 @@ CreatePeerConnectionFactory(
// be created and used.
// If |network_controller_factory| is provided, it will be used if enabled via
// field trial.
RTC_EXPORT rtc::scoped_refptr<PeerConnectionFactoryInterface>
RTC_DEPRECATED RTC_EXPORT rtc::scoped_refptr<PeerConnectionFactoryInterface>
CreatePeerConnectionFactory(
rtc::Thread* network_thread,
rtc::Thread* worker_thread,
@ -144,7 +145,7 @@ CreatePeerConnectionFactory(
// mixer.
//
// If |audio_mixer| is null, an internal audio mixer will be created and used.
RTC_EXPORT rtc::scoped_refptr<PeerConnectionFactoryInterface>
RTC_DEPRECATED RTC_EXPORT rtc::scoped_refptr<PeerConnectionFactoryInterface>
CreatePeerConnectionFactoryWithAudioMixer(
rtc::Thread* network_thread,
rtc::Thread* worker_thread,
@ -158,6 +159,7 @@ CreatePeerConnectionFactoryWithAudioMixer(
// Create a new instance of PeerConnectionFactoryInterface.
// Same thread is used as worker and network thread.
RTC_DEPRECATED
RTC_EXPORT inline rtc::scoped_refptr<PeerConnectionFactoryInterface>
CreatePeerConnectionFactory(
rtc::Thread* worker_and_network_thread,

View File

@ -297,6 +297,7 @@ rtc_static_library("rtc_internal_video_codecs") {
"../modules/video_coding:webrtc_vp8",
"../modules/video_coding:webrtc_vp9",
"../rtc_base:checks",
"../rtc_base:deprecation",
"../rtc_base:rtc_base_approved",
"../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/strings",

View File

@ -89,8 +89,8 @@ class CricketToWebRtcEncoderFactory : public webrtc::VideoEncoderFactory {
std::unique_ptr<webrtc::VideoEncoder> CreateVideoEncoder(
const webrtc::SdpVideoFormat& format) override {
return CreateScopedVideoEncoder(external_encoder_factory_.get(),
VideoCodec(format));
return DEPRECATED_CreateScopedVideoEncoder(external_encoder_factory_.get(),
VideoCodec(format));
}
private:
@ -200,8 +200,9 @@ class CricketToWebRtcDecoderFactory : public webrtc::VideoDecoderFactory {
const webrtc::SdpVideoFormat& format,
const std::string& receive_stream_id) override {
if (external_decoder_factory_ != nullptr) {
return CreateScopedVideoDecoder(external_decoder_factory_.get(),
VideoCodec(format), {receive_stream_id});
return DEPRECATED_CreateScopedVideoDecoder(
external_decoder_factory_.get(), VideoCodec(format),
{receive_stream_id});
}
return nullptr;
}
@ -279,13 +280,15 @@ class DecoderAdapter : public webrtc::VideoDecoderFactory {
} // namespace
std::unique_ptr<webrtc::VideoEncoderFactory> ConvertVideoEncoderFactory(
std::unique_ptr<webrtc::VideoEncoderFactory>
DEPRECATED_ConvertVideoEncoderFactory(
std::unique_ptr<WebRtcVideoEncoderFactory> external_encoder_factory) {
return std::unique_ptr<webrtc::VideoEncoderFactory>(
new EncoderAdapter(std::move(external_encoder_factory)));
}
std::unique_ptr<webrtc::VideoDecoderFactory> ConvertVideoDecoderFactory(
std::unique_ptr<webrtc::VideoDecoderFactory>
DEPRECATED_ConvertVideoDecoderFactory(
std::unique_ptr<WebRtcVideoDecoderFactory> external_decoder_factory) {
return std::unique_ptr<webrtc::VideoDecoderFactory>(
new DecoderAdapter(std::move(external_decoder_factory)));

View File

@ -12,7 +12,11 @@
#define MEDIA_ENGINE_CONVERT_LEGACY_VIDEO_FACTORY_H_
#include <memory>
#include <utility>
#include "media/engine/webrtcvideodecoderfactory.h"
#include "media/engine/webrtcvideoencoderfactory.h"
#include "rtc_base/deprecation.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -22,20 +26,31 @@ class VideoDecoderFactory;
namespace cricket {
class WebRtcVideoEncoderFactory;
class WebRtcVideoDecoderFactory;
RTC_EXPORT std::unique_ptr<webrtc::VideoEncoderFactory>
DEPRECATED_ConvertVideoEncoderFactory(
std::unique_ptr<WebRtcVideoEncoderFactory> external_encoder_factory);
RTC_EXPORT std::unique_ptr<webrtc::VideoDecoderFactory>
DEPRECATED_ConvertVideoDecoderFactory(
std::unique_ptr<WebRtcVideoDecoderFactory> external_decoder_factory);
// Adds internal SW codecs, simulcast, SW fallback wrappers, and converts to the
// new type of codec factories. The purpose of these functions is to provide an
// easy way for clients to migrate to the API with new factory types.
// TODO(magjed): Remove once old factories are gone, webrtc:7925.
RTC_EXPORT std::unique_ptr<webrtc::VideoEncoderFactory>
RTC_DEPRECATED RTC_EXPORT inline std::unique_ptr<webrtc::VideoEncoderFactory>
ConvertVideoEncoderFactory(
std::unique_ptr<WebRtcVideoEncoderFactory> external_encoder_factory);
std::unique_ptr<WebRtcVideoEncoderFactory> external_encoder_factory) {
return DEPRECATED_ConvertVideoEncoderFactory(
std::move(external_encoder_factory));
}
RTC_EXPORT std::unique_ptr<webrtc::VideoDecoderFactory>
RTC_DEPRECATED RTC_EXPORT inline std::unique_ptr<webrtc::VideoDecoderFactory>
ConvertVideoDecoderFactory(
std::unique_ptr<WebRtcVideoDecoderFactory> external_decoder_factory);
std::unique_ptr<WebRtcVideoDecoderFactory> external_decoder_factory) {
return DEPRECATED_ConvertVideoDecoderFactory(
std::move(external_decoder_factory));
}
} // namespace cricket

View File

@ -85,7 +85,7 @@ ScopedVideoDecoder::~ScopedVideoDecoder() {
} // namespace
std::unique_ptr<webrtc::VideoDecoder> CreateScopedVideoDecoder(
std::unique_ptr<webrtc::VideoDecoder> DEPRECATED_CreateScopedVideoDecoder(
WebRtcVideoDecoderFactory* factory,
const VideoCodec& codec,
VideoDecoderParams params) {

View File

@ -16,9 +16,15 @@
#include "api/video_codecs/video_decoder.h"
#include "media/base/codec.h"
#include "media/engine/webrtcvideodecoderfactory.h"
#include "rtc_base/deprecation.h"
namespace cricket {
std::unique_ptr<webrtc::VideoDecoder> DEPRECATED_CreateScopedVideoDecoder(
cricket::WebRtcVideoDecoderFactory* factory,
const VideoCodec& codec,
VideoDecoderParams params);
// Helper function that creates a webrtc::VideoDecoder held by an
// std::unique_ptr instead of having to be deleted through
// WebRtcVideoDecoderFactory::DestroyVideoDecoder. The factory passed in must
@ -26,10 +32,12 @@ namespace cricket {
// TODO(andersc): This helper function will be deleted once
// cricket::WebRtcVideoDecoderFactory is deprecated, see
// https://bugs.chromium.org/p/webrtc/issues/detail?id=7925 for more info.
std::unique_ptr<webrtc::VideoDecoder> CreateScopedVideoDecoder(
cricket::WebRtcVideoDecoderFactory* factory,
const VideoCodec& codec,
VideoDecoderParams params);
RTC_DEPRECATED inline std::unique_ptr<webrtc::VideoDecoder>
CreateScopedVideoDecoder(cricket::WebRtcVideoDecoderFactory* factory,
const VideoCodec& codec,
VideoDecoderParams params) {
return DEPRECATED_CreateScopedVideoDecoder(factory, codec, params);
}
} // namespace cricket

View File

@ -96,7 +96,7 @@ ScopedVideoEncoder::~ScopedVideoEncoder() {
} // namespace
std::unique_ptr<webrtc::VideoEncoder> CreateScopedVideoEncoder(
std::unique_ptr<webrtc::VideoEncoder> DEPRECATED_CreateScopedVideoEncoder(
WebRtcVideoEncoderFactory* factory,
const VideoCodec& codec) {
webrtc::VideoEncoder* encoder = factory->CreateVideoEncoder(codec);

View File

@ -16,9 +16,14 @@
#include "api/video_codecs/video_encoder.h"
#include "media/base/codec.h"
#include "media/engine/webrtcvideoencoderfactory.h"
#include "rtc_base/deprecation.h"
namespace cricket {
std::unique_ptr<webrtc::VideoEncoder> DEPRECATED_CreateScopedVideoEncoder(
cricket::WebRtcVideoEncoderFactory* factory,
const VideoCodec& codec);
// Helper function that creates a webrtc::VideoEncoder held by an
// std::unique_ptr instead of having to be deleted through
// WebRtcVideoEncoderFactory::DestroyVideoEncoder. The factory passed in must
@ -26,9 +31,11 @@ namespace cricket {
// TODO(magjed): This helper function will be deleted once
// cricket::WebRtcVideoEncoderFactory is deprecated, see
// https://bugs.chromium.org/p/webrtc/issues/detail?id=7925 for more info.
std::unique_ptr<webrtc::VideoEncoder> CreateScopedVideoEncoder(
cricket::WebRtcVideoEncoderFactory* factory,
const VideoCodec& codec);
RTC_DEPRECATED inline std::unique_ptr<webrtc::VideoEncoder>
CreateScopedVideoEncoder(cricket::WebRtcVideoEncoderFactory* factory,
const VideoCodec& codec) {
return DEPRECATED_CreateScopedVideoEncoder(factory, codec);
}
} // namespace cricket

View File

@ -19,6 +19,10 @@
#include "api/video_codecs/video_encoder_factory.h"
#include "media/engine/webrtcvoiceengine.h"
#if defined(USE_BUILTIN_SW_CODECS)
#include "media/engine/convert_legacy_video_factory.h"
#endif
#ifdef HAVE_WEBRTC_VIDEO
#include "media/engine/webrtcvideoengine.h"
#else
@ -45,8 +49,10 @@ MediaEngineInterface* CreateWebRtcMediaEngine(
std::unique_ptr<VideoEngineInterface> video_engine;
#ifdef HAVE_WEBRTC_VIDEO
video_engine = absl::make_unique<WebRtcVideoEngine>(
std::unique_ptr<WebRtcVideoEncoderFactory>(video_encoder_factory),
std::unique_ptr<WebRtcVideoDecoderFactory>(video_decoder_factory),
DEPRECATED_ConvertVideoEncoderFactory(
std::unique_ptr<WebRtcVideoEncoderFactory>(video_encoder_factory)),
DEPRECATED_ConvertVideoDecoderFactory(
std::unique_ptr<WebRtcVideoDecoderFactory>(video_decoder_factory)),
std::move(video_bitrate_allocator_factory));
#else
video_engine = absl::make_unique<NullWebRtcVideoEngine>();

View File

@ -43,7 +43,7 @@ class WebRtcMediaEngineFactory {
// TODO(deadbeef): Change these to return an std::unique_ptr<>, to indicate
// that the caller owns the returned object.
#if defined(USE_BUILTIN_SW_CODECS)
static MediaEngineInterface* Create(
RTC_DEPRECATED static MediaEngineInterface* Create(
webrtc::AudioDeviceModule* adm,
const rtc::scoped_refptr<webrtc::AudioEncoderFactory>&
audio_encoder_factory,
@ -52,7 +52,7 @@ class WebRtcMediaEngineFactory {
WebRtcVideoEncoderFactory* video_encoder_factory,
WebRtcVideoDecoderFactory* video_decoder_factory);
static MediaEngineInterface* Create(
RTC_DEPRECATED static MediaEngineInterface* Create(
webrtc::AudioDeviceModule* adm,
const rtc::scoped_refptr<webrtc::AudioEncoderFactory>&
audio_encoder_factory,
@ -63,7 +63,7 @@ class WebRtcMediaEngineFactory {
rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer,
rtc::scoped_refptr<webrtc::AudioProcessing> apm);
static MediaEngineInterface* Create(
RTC_DEPRECATED static MediaEngineInterface* Create(
webrtc::AudioDeviceModule* adm,
const rtc::scoped_refptr<webrtc::AudioEncoderFactory>&
audio_encoder_factory,
@ -74,7 +74,7 @@ class WebRtcMediaEngineFactory {
std::unique_ptr<webrtc::VideoBitrateAllocatorFactory>
video_bitrate_allocator_factory);
static MediaEngineInterface* Create(
RTC_DEPRECATED static MediaEngineInterface* Create(
webrtc::AudioDeviceModule* adm,
const rtc::scoped_refptr<webrtc::AudioEncoderFactory>&
audio_encoder_factory,

View File

@ -83,7 +83,7 @@ class WebRtcVideoEngine : public VideoEngineInterface {
public:
#if defined(USE_BUILTIN_SW_CODECS)
// Internal SW video codecs will be added on top of the external codecs.
WebRtcVideoEngine(
RTC_DEPRECATED WebRtcVideoEngine(
std::unique_ptr<WebRtcVideoEncoderFactory> external_video_encoder_factory,
std::unique_ptr<WebRtcVideoDecoderFactory> external_video_decoder_factory,
std::unique_ptr<webrtc::VideoBitrateAllocatorFactory>