diff --git a/BUILD.gn b/BUILD.gn index 4db6558ecd..98dae4e18a 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -242,10 +242,6 @@ config("common_config") { defines += [ "ENABLE_EXTERNAL_AUTH" ] } - if (rtc_use_builtin_sw_codecs) { - defines += [ "USE_BUILTIN_SW_CODECS" ] - } - if (build_with_chromium) { defines += [ # NOTICE: Since common_inherited_config is used in public_configs for our diff --git a/api/BUILD.gn b/api/BUILD.gn index ef8e3318c3..1d34a16b00 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -47,7 +47,6 @@ rtc_source_set("callfactory_api") { rtc_static_library("create_peerconnection_factory") { visibility = [ "*" ] - allow_poison = [ "software_video_codecs" ] sources = [ "create_peerconnection_factory.cc", "create_peerconnection_factory.h", diff --git a/api/create_peerconnection_factory.cc b/api/create_peerconnection_factory.cc index 3e1566e51a..cc7541bb83 100644 --- a/api/create_peerconnection_factory.cc +++ b/api/create_peerconnection_factory.cc @@ -33,89 +33,6 @@ namespace webrtc { -#if defined(USE_BUILTIN_SW_CODECS) -rtc::scoped_refptr CreatePeerConnectionFactory( - rtc::scoped_refptr audio_encoder_factory, - rtc::scoped_refptr audio_decoder_factory) { - return CreatePeerConnectionFactoryWithAudioMixer( - nullptr /*network_thread*/, nullptr /*worker_thread*/, - nullptr /*signaling_thread*/, nullptr /*default_adm*/, - audio_encoder_factory, audio_decoder_factory, - nullptr /*video_encoder_factory*/, nullptr /*video_decoder_factory*/, - nullptr /*audio_mixer*/); -} - -// Note: all the other CreatePeerConnectionFactory variants just end up calling -// this, ultimately. -rtc::scoped_refptr CreatePeerConnectionFactory( - rtc::Thread* network_thread, - rtc::Thread* worker_thread, - rtc::Thread* signaling_thread, - AudioDeviceModule* default_adm, - rtc::scoped_refptr audio_encoder_factory, - rtc::scoped_refptr audio_decoder_factory, - cricket::WebRtcVideoEncoderFactory* video_encoder_factory, - cricket::WebRtcVideoDecoderFactory* video_decoder_factory, - rtc::scoped_refptr audio_mixer, - rtc::scoped_refptr audio_processing) { - rtc::scoped_refptr audio_processing_use = audio_processing; - if (!audio_processing_use) { - audio_processing_use = AudioProcessingBuilder().Create(); - } - - std::unique_ptr media_engine( - cricket::WebRtcMediaEngineFactory::Create( - default_adm, audio_encoder_factory, audio_decoder_factory, - video_encoder_factory, video_decoder_factory, audio_mixer, - audio_processing_use)); - - std::unique_ptr call_factory = CreateCallFactory(); - - std::unique_ptr event_log_factory = - CreateRtcEventLogFactory(); - - return CreateModularPeerConnectionFactory( - network_thread, worker_thread, signaling_thread, std::move(media_engine), - std::move(call_factory), std::move(event_log_factory)); -} - -rtc::scoped_refptr CreatePeerConnectionFactory( - rtc::Thread* network_thread, - rtc::Thread* worker_thread, - rtc::Thread* signaling_thread, - AudioDeviceModule* default_adm, - rtc::scoped_refptr audio_encoder_factory, - rtc::scoped_refptr audio_decoder_factory, - cricket::WebRtcVideoEncoderFactory* video_encoder_factory, - cricket::WebRtcVideoDecoderFactory* video_decoder_factory, - rtc::scoped_refptr audio_mixer, - rtc::scoped_refptr audio_processing, - std::unique_ptr fec_controller_factory, - std::unique_ptr - network_controller_factory) { - rtc::scoped_refptr audio_processing_use = audio_processing; - if (!audio_processing_use) { - audio_processing_use = AudioProcessingBuilder().Create(); - } - - std::unique_ptr media_engine( - cricket::WebRtcMediaEngineFactory::Create( - default_adm, audio_encoder_factory, audio_decoder_factory, - video_encoder_factory, video_decoder_factory, audio_mixer, - audio_processing_use)); - - std::unique_ptr call_factory = CreateCallFactory(); - - std::unique_ptr event_log_factory = - CreateRtcEventLogFactory(); - - return CreateModularPeerConnectionFactory( - network_thread, worker_thread, signaling_thread, std::move(media_engine), - std::move(call_factory), std::move(event_log_factory), - std::move(fec_controller_factory), std::move(network_controller_factory)); -} -#endif - rtc::scoped_refptr CreatePeerConnectionFactory( rtc::Thread* network_thread, rtc::Thread* worker_thread, @@ -150,38 +67,4 @@ rtc::scoped_refptr CreatePeerConnectionFactory( return CreateModularPeerConnectionFactory(std::move(dependencies)); } -#if defined(USE_BUILTIN_SW_CODECS) -rtc::scoped_refptr -CreatePeerConnectionFactoryWithAudioMixer( - rtc::Thread* network_thread, - rtc::Thread* worker_thread, - rtc::Thread* signaling_thread, - AudioDeviceModule* default_adm, - rtc::scoped_refptr audio_encoder_factory, - rtc::scoped_refptr audio_decoder_factory, - cricket::WebRtcVideoEncoderFactory* video_encoder_factory, - cricket::WebRtcVideoDecoderFactory* video_decoder_factory, - rtc::scoped_refptr audio_mixer) { - return CreatePeerConnectionFactory( - network_thread, worker_thread, signaling_thread, default_adm, - audio_encoder_factory, audio_decoder_factory, video_encoder_factory, - video_decoder_factory, audio_mixer, nullptr); -} - -rtc::scoped_refptr CreatePeerConnectionFactory( - rtc::Thread* network_thread, - rtc::Thread* worker_thread, - rtc::Thread* signaling_thread, - AudioDeviceModule* default_adm, - rtc::scoped_refptr audio_encoder_factory, - rtc::scoped_refptr audio_decoder_factory, - cricket::WebRtcVideoEncoderFactory* video_encoder_factory, - cricket::WebRtcVideoDecoderFactory* video_decoder_factory) { - return CreatePeerConnectionFactoryWithAudioMixer( - network_thread, worker_thread, signaling_thread, default_adm, - audio_encoder_factory, audio_decoder_factory, video_encoder_factory, - video_decoder_factory, nullptr); -} -#endif - } // namespace webrtc diff --git a/api/create_peerconnection_factory.h b/api/create_peerconnection_factory.h index c3729d2db8..88ecef8746 100644 --- a/api/create_peerconnection_factory.h +++ b/api/create_peerconnection_factory.h @@ -29,104 +29,14 @@ namespace rtc { class Thread; } // namespace rtc -namespace cricket { -class WebRtcVideoDecoderFactory; -class WebRtcVideoEncoderFactory; -} // namespace cricket - namespace webrtc { class AudioDeviceModule; class AudioProcessing; -#if defined(USE_BUILTIN_SW_CODECS) -// Create a new instance of PeerConnectionFactoryInterface. -// -// This method relies on the thread it's called on as the "signaling thread" -// for the PeerConnectionFactory it creates. -// -// As such, if the current thread is not already running an rtc::Thread message -// loop, an application using this method must eventually either call -// rtc::Thread::Current()->Run(), or call -// rtc::Thread::Current()->ProcessMessages() within the application's own -// message loop. -RTC_DEPRECATED RTC_EXPORT rtc::scoped_refptr -CreatePeerConnectionFactory( - rtc::scoped_refptr audio_encoder_factory, - rtc::scoped_refptr audio_decoder_factory); - -// Create a new instance of PeerConnectionFactoryInterface. -// -// |network_thread|, |worker_thread| and |signaling_thread| are -// the only mandatory parameters. -// -// If non-null, a reference is added to |default_adm|, and ownership of -// |video_encoder_factory| and |video_decoder_factory| is transferred to the -// returned factory. -// TODO(deadbeef): Use rtc::scoped_refptr<> and std::unique_ptr<> to make this -// ownership transfer and ref counting more obvious. -RTC_DEPRECATED RTC_EXPORT rtc::scoped_refptr -CreatePeerConnectionFactory( - rtc::Thread* network_thread, - rtc::Thread* worker_thread, - rtc::Thread* signaling_thread, - AudioDeviceModule* default_adm, - rtc::scoped_refptr audio_encoder_factory, - rtc::scoped_refptr audio_decoder_factory, - cricket::WebRtcVideoEncoderFactory* video_encoder_factory, - cricket::WebRtcVideoDecoderFactory* video_decoder_factory); - -// Create a new instance of PeerConnectionFactoryInterface with optional -// external audio mixed and audio processing modules. -// -// 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_DEPRECATED RTC_EXPORT rtc::scoped_refptr -CreatePeerConnectionFactory( - rtc::Thread* network_thread, - rtc::Thread* worker_thread, - rtc::Thread* signaling_thread, - AudioDeviceModule* default_adm, - rtc::scoped_refptr audio_encoder_factory, - rtc::scoped_refptr audio_decoder_factory, - cricket::WebRtcVideoEncoderFactory* video_encoder_factory, - cricket::WebRtcVideoDecoderFactory* video_decoder_factory, - rtc::scoped_refptr audio_mixer, - rtc::scoped_refptr audio_processing); - -// Create a new instance of PeerConnectionFactoryInterface with optional -// external audio mixer, audio processing, and fec controller modules. -// -// 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. -// If |fec_controller_factory| is null, an internal fec controller module will -// be created and used. -// If |network_controller_factory| is provided, it will be used if enabled via -// field trial. -RTC_DEPRECATED RTC_EXPORT rtc::scoped_refptr -CreatePeerConnectionFactory( - rtc::Thread* network_thread, - rtc::Thread* worker_thread, - rtc::Thread* signaling_thread, - AudioDeviceModule* default_adm, - rtc::scoped_refptr audio_encoder_factory, - rtc::scoped_refptr audio_decoder_factory, - cricket::WebRtcVideoEncoderFactory* video_encoder_factory, - cricket::WebRtcVideoDecoderFactory* video_decoder_factory, - rtc::scoped_refptr audio_mixer, - rtc::scoped_refptr audio_processing, - std::unique_ptr fec_controller_factory, - std::unique_ptr - network_controller_factory = nullptr); -#endif // defined(USE_BUILTIN_SW_CODECS) - // Create a new instance of PeerConnectionFactoryInterface with optional video // codec factories. These video factories represents all video codecs, i.e. no // extra internal video codecs will be added. -// When building WebRTC with rtc_use_builtin_sw_codecs = false, this is the -// only available CreatePeerConnectionFactory overload. RTC_EXPORT rtc::scoped_refptr CreatePeerConnectionFactory( rtc::Thread* network_thread, @@ -140,42 +50,6 @@ CreatePeerConnectionFactory( rtc::scoped_refptr audio_mixer, rtc::scoped_refptr audio_processing); -#if defined(USE_BUILTIN_SW_CODECS) -// Create a new instance of PeerConnectionFactoryInterface with external audio -// mixer. -// -// If |audio_mixer| is null, an internal audio mixer will be created and used. -RTC_DEPRECATED RTC_EXPORT rtc::scoped_refptr -CreatePeerConnectionFactoryWithAudioMixer( - rtc::Thread* network_thread, - rtc::Thread* worker_thread, - rtc::Thread* signaling_thread, - AudioDeviceModule* default_adm, - rtc::scoped_refptr audio_encoder_factory, - rtc::scoped_refptr audio_decoder_factory, - cricket::WebRtcVideoEncoderFactory* video_encoder_factory, - cricket::WebRtcVideoDecoderFactory* video_decoder_factory, - rtc::scoped_refptr audio_mixer); - -// Create a new instance of PeerConnectionFactoryInterface. -// Same thread is used as worker and network thread. -RTC_DEPRECATED -RTC_EXPORT inline rtc::scoped_refptr -CreatePeerConnectionFactory( - rtc::Thread* worker_and_network_thread, - rtc::Thread* signaling_thread, - AudioDeviceModule* default_adm, - rtc::scoped_refptr audio_encoder_factory, - rtc::scoped_refptr audio_decoder_factory, - cricket::WebRtcVideoEncoderFactory* video_encoder_factory, - cricket::WebRtcVideoDecoderFactory* video_decoder_factory) { - return CreatePeerConnectionFactory( - worker_and_network_thread, worker_and_network_thread, signaling_thread, - default_adm, audio_encoder_factory, audio_decoder_factory, - video_encoder_factory, video_decoder_factory); -} -#endif // defined(USE_BUILTIN_SW_CODECS) - } // namespace webrtc #endif // API_CREATE_PEERCONNECTION_FACTORY_H_ diff --git a/api/peer_connection_interface.h b/api/peer_connection_interface.h index d431a8e587..3115e25a4a 100644 --- a/api/peer_connection_interface.h +++ b/api/peer_connection_interface.h @@ -120,11 +120,6 @@ class SSLIdentity; class Thread; } // namespace rtc -namespace cricket { -class WebRtcVideoDecoderFactory; -class WebRtcVideoEncoderFactory; -} // namespace cricket - namespace webrtc { class AudioDeviceModule; class AudioMixer; diff --git a/api/video/BUILD.gn b/api/video/BUILD.gn index 91a505350d..22aebd3851 100644 --- a/api/video/BUILD.gn +++ b/api/video/BUILD.gn @@ -188,7 +188,6 @@ rtc_source_set("video_stream_encoder") { rtc_source_set("video_stream_encoder_create") { visibility = [ "*" ] - allow_poison = [ "software_video_codecs" ] # TODO(bugs.webrtc.org/7925): Remove. sources = [ "video_stream_encoder_create.cc", "video_stream_encoder_create.h", diff --git a/examples/unityplugin/simple_peer_connection.cc b/examples/unityplugin/simple_peer_connection.cc index 0b0a810ed4..06bfe93919 100644 --- a/examples/unityplugin/simple_peer_connection.cc +++ b/examples/unityplugin/simple_peer_connection.cc @@ -20,8 +20,6 @@ #include "media/engine/internal_decoder_factory.h" #include "media/engine/internal_encoder_factory.h" #include "media/engine/multiplex_codec_factory.h" -#include "media/engine/webrtc_video_decoder_factory.h" -#include "media/engine/webrtc_video_encoder_factory.h" #include "modules/audio_device/include/audio_device.h" #include "modules/audio_processing/include/audio_processing.h" #include "modules/video_capture/video_capture_factory.h" diff --git a/media/BUILD.gn b/media/BUILD.gn index f6a735f47c..d84656281c 100644 --- a/media/BUILD.gn +++ b/media/BUILD.gn @@ -248,8 +248,6 @@ rtc_static_library("rtc_internal_video_codecs") { "//third_party/abseil-cpp/absl/memory", ] sources = [ - "engine/convert_legacy_video_factory.cc", - "engine/convert_legacy_video_factory.h", "engine/internal_decoder_factory.cc", "engine/internal_decoder_factory.h", "engine/internal_encoder_factory.cc", @@ -259,20 +257,10 @@ rtc_static_library("rtc_internal_video_codecs") { "engine/multiplex_codec_factory.cc", "engine/multiplex_codec_factory.h", "engine/multiplexcodecfactory.h", - "engine/scoped_video_decoder.cc", - "engine/scoped_video_decoder.h", - "engine/scoped_video_encoder.cc", - "engine/scoped_video_encoder.h", - "engine/scopedvideodecoder.h", - "engine/scopedvideoencoder.h", # TODO(bugs.webrtc.org/7925): stop exporting this header once downstream # targets depend on :rtc_encoder_simulcast_proxy directly. "engine/encoder_simulcast_proxy.h", - "engine/webrtc_video_decoder_factory.h", - "engine/webrtc_video_encoder_factory.h", - "engine/webrtcvideodecoderfactory.h", - "engine/webrtcvideoencoderfactory.h", ] if (!build_with_chromium && is_clang) { @@ -306,10 +294,7 @@ rtc_static_library("rtc_internal_video_codecs") { rtc_static_library("rtc_audio_video") { visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove. - ] + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. defines = [] libs = [] deps = [ @@ -342,17 +327,11 @@ rtc_static_library("rtc_audio_video") { "engine/simulcast.h", "engine/webrtc_media_engine.cc", "engine/webrtc_media_engine.h", - "engine/webrtc_video_decoder_factory.cc", - "engine/webrtc_video_decoder_factory.h", - "engine/webrtc_video_encoder_factory.cc", - "engine/webrtc_video_encoder_factory.h", "engine/webrtc_video_engine.cc", "engine/webrtc_video_engine.h", "engine/webrtc_voice_engine.cc", "engine/webrtc_voice_engine.h", "engine/webrtcmediaengine.h", - "engine/webrtcvideodecoderfactory.h", - "engine/webrtcvideoencoderfactory.h", "engine/webrtcvideoengine.h", "engine/webrtcvoiceengine.h", ] @@ -382,9 +361,6 @@ rtc_static_library("rtc_audio_video") { } else { deps += [ "../modules/audio_processing/aec_dump:null_aec_dump_factory" ] } - if (rtc_use_builtin_sw_codecs) { - deps += [ ":rtc_internal_video_codecs" ] - } deps += [ ":rtc_constants", ":rtc_media_base", @@ -467,10 +443,7 @@ rtc_static_library("rtc_data") { rtc_source_set("rtc_media") { visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove. - ] + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. deps = [ ":rtc_audio_video", ":rtc_data", @@ -634,7 +607,6 @@ if (rtc_include_tests) { "engine/simulcast_encoder_adapter_unittest.cc", "engine/simulcast_unittest.cc", "engine/webrtc_media_engine_unittest.cc", - "engine/webrtc_video_encoder_factory_unittest.cc", "engine/webrtc_video_engine_unittest.cc", ] diff --git a/media/engine/convert_legacy_video_factory.cc b/media/engine/convert_legacy_video_factory.cc deleted file mode 100644 index 221b6bc7b4..0000000000 --- a/media/engine/convert_legacy_video_factory.cc +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Copyright (c) 2017 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 "media/engine/convert_legacy_video_factory.h" - -#include -#include -#include - -#include "absl/memory/memory.h" -#include "absl/strings/match.h" -#include "api/video_codecs/sdp_video_format.h" -#include "api/video_codecs/video_codec.h" -#include "api/video_codecs/video_decoder.h" -#include "api/video_codecs/video_decoder_factory.h" -#include "api/video_codecs/video_decoder_software_fallback_wrapper.h" -#include "api/video_codecs/video_encoder.h" -#include "api/video_codecs/video_encoder_factory.h" -#include "api/video_codecs/video_encoder_software_fallback_wrapper.h" -#include "media/base/codec.h" -#include "media/base/media_constants.h" -#include "media/engine/encoder_simulcast_proxy.h" -#include "media/engine/internal_decoder_factory.h" -#include "media/engine/internal_encoder_factory.h" -#include "media/engine/scoped_video_decoder.h" -#include "media/engine/scoped_video_encoder.h" -#include "media/engine/simulcast_encoder_adapter.h" -#include "media/engine/webrtc_video_decoder_factory.h" -#include "media/engine/webrtc_video_encoder_factory.h" -#include "rtc_base/checks.h" - -namespace cricket { - -namespace { - -bool IsFormatSupported( - const std::vector& supported_formats, - const webrtc::SdpVideoFormat& format) { - for (const webrtc::SdpVideoFormat& supported_format : supported_formats) { - if (IsSameCodec(format.name, format.parameters, supported_format.name, - supported_format.parameters)) { - return true; - } - } - return false; -} - -// Converts the cricket::WebRtcVideoEncoderFactory to a -// webrtc::VideoEncoderFactory (without adding any simulcast or SW fallback). -class CricketToWebRtcEncoderFactory : public webrtc::VideoEncoderFactory { - public: - explicit CricketToWebRtcEncoderFactory( - std::unique_ptr external_encoder_factory) - : external_encoder_factory_(std::move(external_encoder_factory)) {} - - webrtc::VideoEncoderFactory::CodecInfo QueryVideoEncoder( - const webrtc::SdpVideoFormat& format) const override { - CodecInfo info; - info.has_internal_source = false; - info.is_hardware_accelerated = false; - if (!external_encoder_factory_) - return info; - - info.has_internal_source = - external_encoder_factory_->EncoderTypeHasInternalSource( - webrtc::PayloadStringToCodecType(format.name)); - info.is_hardware_accelerated = true; - return info; - } - - std::vector GetSupportedFormats() const override { - if (!external_encoder_factory_) - return std::vector(); - - std::vector formats; - for (const VideoCodec& codec : - external_encoder_factory_->supported_codecs()) { - formats.push_back(webrtc::SdpVideoFormat(codec.name, codec.params)); - } - return formats; - } - - std::unique_ptr CreateVideoEncoder( - const webrtc::SdpVideoFormat& format) override { - return DEPRECATED_CreateScopedVideoEncoder(external_encoder_factory_.get(), - VideoCodec(format)); - } - - private: - const std::unique_ptr external_encoder_factory_; -}; - -// This class combines an external factory with the internal factory and adds -// internal SW codecs, simulcast, and SW fallback wrappers. -class EncoderAdapter : public webrtc::VideoEncoderFactory { - public: - explicit EncoderAdapter( - std::unique_ptr external_encoder_factory) - : internal_encoder_factory_(new webrtc::InternalEncoderFactory()), - external_encoder_factory_( - absl::make_unique( - std::move(external_encoder_factory))) {} - - explicit EncoderAdapter( - std::unique_ptr external_encoder_factory) - : internal_encoder_factory_(new webrtc::InternalEncoderFactory()), - external_encoder_factory_(std::move(external_encoder_factory)) {} - - webrtc::VideoEncoderFactory::CodecInfo QueryVideoEncoder( - const webrtc::SdpVideoFormat& format) const override { - if (IsFormatSupported(external_encoder_factory_->GetSupportedFormats(), - format)) { - return external_encoder_factory_->QueryVideoEncoder(format); - } - - // Format must be one of the internal formats. - RTC_DCHECK(IsFormatSupported( - internal_encoder_factory_->GetSupportedFormats(), format)); - webrtc::VideoEncoderFactory::CodecInfo info; - info.has_internal_source = false; - info.is_hardware_accelerated = false; - return info; - } - - std::unique_ptr CreateVideoEncoder( - const webrtc::SdpVideoFormat& format) override { - // Try creating internal encoder. - std::unique_ptr internal_encoder; - if (IsFormatSupported(internal_encoder_factory_->GetSupportedFormats(), - format)) { - internal_encoder = - absl::EqualsIgnoreCase(format.name, kVp8CodecName) - ? absl::make_unique( - internal_encoder_factory_.get(), format) - : internal_encoder_factory_->CreateVideoEncoder(format); - } - - // Try creating external encoder. - std::unique_ptr external_encoder; - if (IsFormatSupported(external_encoder_factory_->GetSupportedFormats(), - format)) { - external_encoder = - absl::EqualsIgnoreCase(format.name, kVp8CodecName) - ? absl::make_unique( - external_encoder_factory_.get(), format) - : external_encoder_factory_->CreateVideoEncoder(format); - } - - if (internal_encoder && external_encoder) { - // Both internal SW encoder and external HW encoder available - create - // fallback encoder. - return webrtc::CreateVideoEncoderSoftwareFallbackWrapper( - std::move(internal_encoder), std::move(external_encoder)); - } - return external_encoder ? std::move(external_encoder) - : std::move(internal_encoder); - } - - std::vector GetSupportedFormats() const override { - std::vector formats = - internal_encoder_factory_->GetSupportedFormats(); - - // Add external codecs. - for (const webrtc::SdpVideoFormat& format : - external_encoder_factory_->GetSupportedFormats()) { - // Don't add same codec twice. - if (!IsFormatSupported(formats, format)) - formats.push_back(format); - } - - return formats; - } - - private: - const std::unique_ptr internal_encoder_factory_; - const std::unique_ptr external_encoder_factory_; -}; - -// Converts the cricket::WebRtcVideoDecoderFactory to a -// webrtc::VideoDecoderFactory (without adding any SW fallback). -class CricketToWebRtcDecoderFactory : public webrtc::VideoDecoderFactory { - public: - explicit CricketToWebRtcDecoderFactory( - std::unique_ptr external_decoder_factory) - : external_decoder_factory_(std::move(external_decoder_factory)) {} - - std::unique_ptr CreateVideoDecoder( - const webrtc::SdpVideoFormat& format) override { - return LegacyCreateVideoDecoder(format, /* receive_stream_id= */ ""); - } - - std::unique_ptr LegacyCreateVideoDecoder( - const webrtc::SdpVideoFormat& format, - const std::string& receive_stream_id) override { - if (external_decoder_factory_ != nullptr) { - return DEPRECATED_CreateScopedVideoDecoder( - external_decoder_factory_.get(), VideoCodec(format), - {receive_stream_id}); - } - return nullptr; - } - - std::vector GetSupportedFormats() const override { - // This is not implemented for the legacy decoder factory. - RTC_NOTREACHED(); - return std::vector(); - } - - private: - const std::unique_ptr external_decoder_factory_; -}; - -// This class combines an external factory with the internal factory and adds -// internal SW codecs and SW fallback wrappers. -class DecoderAdapter : public webrtc::VideoDecoderFactory { - public: - explicit DecoderAdapter( - std::unique_ptr external_decoder_factory) - : internal_decoder_factory_(new webrtc::InternalDecoderFactory()), - external_decoder_factory_( - absl::make_unique( - std::move(external_decoder_factory))) {} - - std::unique_ptr CreateVideoDecoder( - const webrtc::SdpVideoFormat& format) override { - return LegacyCreateVideoDecoder(format, /* receive_stream_id= */ ""); - } - - std::unique_ptr LegacyCreateVideoDecoder( - const webrtc::SdpVideoFormat& format, - const std::string& receive_stream_id) override { - std::unique_ptr internal_decoder; - if (IsFormatSupported(internal_decoder_factory_->GetSupportedFormats(), - format)) { - internal_decoder = internal_decoder_factory_->CreateVideoDecoder(format); - } - - std::unique_ptr external_decoder = nullptr; - if (external_decoder_factory_ != nullptr) { - external_decoder = external_decoder_factory_->LegacyCreateVideoDecoder( - format, receive_stream_id); - } - - if (internal_decoder && external_decoder) { - // Both internal SW decoder and external HW decoder available - create - // fallback decoder. - return webrtc::CreateVideoDecoderSoftwareFallbackWrapper( - std::move(internal_decoder), std::move(external_decoder)); - } - return external_decoder ? std::move(external_decoder) - : std::move(internal_decoder); - } - - std::vector GetSupportedFormats() const override { - std::vector formats = - internal_decoder_factory_->GetSupportedFormats(); - - // Add external codecs. - for (const webrtc::SdpVideoFormat& format : - external_decoder_factory_->GetSupportedFormats()) { - // Don't add same codec twice. - if (!IsFormatSupported(formats, format)) - formats.push_back(format); - } - - return formats; - } - - private: - const std::unique_ptr internal_decoder_factory_; - const std::unique_ptr external_decoder_factory_; -}; - -} // namespace - -std::unique_ptr -DEPRECATED_ConvertVideoEncoderFactory( - std::unique_ptr external_encoder_factory) { - return std::unique_ptr( - new EncoderAdapter(std::move(external_encoder_factory))); -} - -std::unique_ptr -DEPRECATED_ConvertVideoDecoderFactory( - std::unique_ptr external_decoder_factory) { - return std::unique_ptr( - new DecoderAdapter(std::move(external_decoder_factory))); -} - -} // namespace cricket diff --git a/media/engine/convert_legacy_video_factory.h b/media/engine/convert_legacy_video_factory.h deleted file mode 100644 index 1fb19dd599..0000000000 --- a/media/engine/convert_legacy_video_factory.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2017 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. - */ - -#ifndef MEDIA_ENGINE_CONVERT_LEGACY_VIDEO_FACTORY_H_ -#define MEDIA_ENGINE_CONVERT_LEGACY_VIDEO_FACTORY_H_ - -#include -#include - -#include "media/engine/webrtc_video_decoder_factory.h" -#include "media/engine/webrtc_video_encoder_factory.h" -#include "rtc_base/deprecation.h" -#include "rtc_base/system/rtc_export.h" - -namespace webrtc { -class VideoEncoderFactory; -class VideoDecoderFactory; -} // namespace webrtc - -namespace cricket { - -RTC_EXPORT std::unique_ptr -DEPRECATED_ConvertVideoEncoderFactory( - std::unique_ptr external_encoder_factory); - -RTC_EXPORT std::unique_ptr -DEPRECATED_ConvertVideoDecoderFactory( - std::unique_ptr 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_DEPRECATED RTC_EXPORT inline std::unique_ptr -ConvertVideoEncoderFactory( - std::unique_ptr external_encoder_factory) { - return DEPRECATED_ConvertVideoEncoderFactory( - std::move(external_encoder_factory)); -} - -RTC_DEPRECATED RTC_EXPORT inline std::unique_ptr -ConvertVideoDecoderFactory( - std::unique_ptr external_decoder_factory) { - return DEPRECATED_ConvertVideoDecoderFactory( - std::move(external_decoder_factory)); -} - -} // namespace cricket - -#endif // MEDIA_ENGINE_CONVERT_LEGACY_VIDEO_FACTORY_H_ diff --git a/media/engine/encoder_simulcast_proxy_unittest.cc b/media/engine/encoder_simulcast_proxy_unittest.cc index 20ea36e7ff..15fdaaf9af 100644 --- a/media/engine/encoder_simulcast_proxy_unittest.cc +++ b/media/engine/encoder_simulcast_proxy_unittest.cc @@ -14,7 +14,6 @@ #include "api/test/mock_video_encoder_factory.h" #include "api/video_codecs/vp8_temporal_layers.h" -#include "media/engine/webrtc_video_encoder_factory.h" #include "modules/video_coding/include/video_codec_interface.h" #include "test/gmock.h" #include "test/gtest.h" diff --git a/media/engine/null_webrtc_video_engine.h b/media/engine/null_webrtc_video_engine.h index 8702b73834..29b9ba5b4b 100644 --- a/media/engine/null_webrtc_video_engine.h +++ b/media/engine/null_webrtc_video_engine.h @@ -25,8 +25,6 @@ class Call; namespace cricket { class VideoMediaChannel; -class WebRtcVideoDecoderFactory; -class WebRtcVideoEncoderFactory; // Video engine implementation that does nothing and can be used in // CompositeMediaEngine. diff --git a/media/engine/scoped_video_decoder.cc b/media/engine/scoped_video_decoder.cc deleted file mode 100644 index c33cc134ba..0000000000 --- a/media/engine/scoped_video_decoder.cc +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (c) 2017 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 "media/engine/scoped_video_decoder.h" - -#include - -#include "api/video/encoded_image.h" -#include "api/video_codecs/video_codec.h" -#include "api/video_codecs/video_decoder.h" - -namespace cricket { - -namespace { - -class ScopedVideoDecoder : public webrtc::VideoDecoder { - public: - ScopedVideoDecoder(WebRtcVideoDecoderFactory* factory, - webrtc::VideoDecoder* decoder); - - int32_t InitDecode(const webrtc::VideoCodec* codec_settings, - int32_t number_of_cores) override; - int32_t RegisterDecodeCompleteCallback( - webrtc::DecodedImageCallback* callback) override; - int32_t Release() override; - int32_t Decode(const webrtc::EncodedImage& input_image, - bool missing_frames, - const webrtc::CodecSpecificInfo* codec_specific_info, - int64_t render_time_ms) override; - bool PrefersLateDecoding() const override; - const char* ImplementationName() const override; - - ~ScopedVideoDecoder() override; - - private: - WebRtcVideoDecoderFactory* factory_; - webrtc::VideoDecoder* decoder_; -}; - -ScopedVideoDecoder::ScopedVideoDecoder(WebRtcVideoDecoderFactory* factory, - webrtc::VideoDecoder* decoder) - : factory_(factory), decoder_(decoder) {} - -int32_t ScopedVideoDecoder::InitDecode(const webrtc::VideoCodec* codec_settings, - int32_t number_of_cores) { - return decoder_->InitDecode(codec_settings, number_of_cores); -} - -int32_t ScopedVideoDecoder::RegisterDecodeCompleteCallback( - webrtc::DecodedImageCallback* callback) { - return decoder_->RegisterDecodeCompleteCallback(callback); -} - -int32_t ScopedVideoDecoder::Release() { - return decoder_->Release(); -} - -int32_t ScopedVideoDecoder::Decode( - const webrtc::EncodedImage& input_image, - bool missing_frames, - const webrtc::CodecSpecificInfo* codec_specific_info, - int64_t render_time_ms) { - return decoder_->Decode(input_image, missing_frames, codec_specific_info, - render_time_ms); -} - -bool ScopedVideoDecoder::PrefersLateDecoding() const { - return decoder_->PrefersLateDecoding(); -} - -const char* ScopedVideoDecoder::ImplementationName() const { - return decoder_->ImplementationName(); -} - -ScopedVideoDecoder::~ScopedVideoDecoder() { - factory_->DestroyVideoDecoder(decoder_); -} - -} // namespace - -std::unique_ptr DEPRECATED_CreateScopedVideoDecoder( - WebRtcVideoDecoderFactory* factory, - const VideoCodec& codec, - VideoDecoderParams params) { - webrtc::VideoDecoder* decoder = - factory->CreateVideoDecoderWithParams(codec, params); - if (!decoder) - return nullptr; - return std::unique_ptr( - new ScopedVideoDecoder(factory, decoder)); -} - -} // namespace cricket diff --git a/media/engine/scoped_video_decoder.h b/media/engine/scoped_video_decoder.h deleted file mode 100644 index 15b6ca577e..0000000000 --- a/media/engine/scoped_video_decoder.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2017 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. - */ - -#ifndef MEDIA_ENGINE_SCOPED_VIDEO_DECODER_H_ -#define MEDIA_ENGINE_SCOPED_VIDEO_DECODER_H_ - -#include - -#include "api/video_codecs/video_decoder.h" -#include "media/base/codec.h" -#include "media/engine/webrtc_video_decoder_factory.h" -#include "rtc_base/deprecation.h" - -namespace cricket { - -std::unique_ptr 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 -// outlive the returned encoder. -// 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. -RTC_DEPRECATED inline std::unique_ptr -CreateScopedVideoDecoder(cricket::WebRtcVideoDecoderFactory* factory, - const VideoCodec& codec, - VideoDecoderParams params) { - return DEPRECATED_CreateScopedVideoDecoder(factory, codec, params); -} - -} // namespace cricket - -#endif // MEDIA_ENGINE_SCOPED_VIDEO_DECODER_H_ diff --git a/media/engine/scoped_video_encoder.cc b/media/engine/scoped_video_encoder.cc deleted file mode 100644 index 7c631f61d6..0000000000 --- a/media/engine/scoped_video_encoder.cc +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (c) 2017 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 "media/engine/scoped_video_encoder.h" - -#include -#include -#include - -#include "api/video/video_bitrate_allocation.h" -#include "api/video/video_frame.h" -#include "api/video_codecs/video_codec.h" -#include "api/video_codecs/video_encoder.h" -#include "common_types.h" // NOLINT(build/include) - -namespace cricket { - -namespace { - -class ScopedVideoEncoder : public webrtc::VideoEncoder { - public: - ScopedVideoEncoder(WebRtcVideoEncoderFactory* factory, - webrtc::VideoEncoder* encoder); - - int32_t InitEncode(const webrtc::VideoCodec* codec_settings, - int32_t number_of_cores, - size_t max_payload_size) override; - int32_t RegisterEncodeCompleteCallback( - webrtc::EncodedImageCallback* callback) override; - int32_t Release() override; - int32_t Encode(const webrtc::VideoFrame& frame, - const webrtc::CodecSpecificInfo* codec_specific_info, - const std::vector* frame_types) override; - int32_t SetRates(uint32_t bitrate, uint32_t framerate) override; - int32_t SetRateAllocation(const webrtc::VideoBitrateAllocation& allocation, - uint32_t framerate) override; - EncoderInfo GetEncoderInfo() const override; - ~ScopedVideoEncoder() override; - - private: - WebRtcVideoEncoderFactory* factory_; - webrtc::VideoEncoder* encoder_; -}; - -ScopedVideoEncoder::ScopedVideoEncoder(WebRtcVideoEncoderFactory* factory, - webrtc::VideoEncoder* encoder) - : factory_(factory), encoder_(encoder) {} - -int32_t ScopedVideoEncoder::InitEncode(const webrtc::VideoCodec* codec_settings, - int32_t number_of_cores, - size_t max_payload_size) { - return encoder_->InitEncode(codec_settings, number_of_cores, - max_payload_size); -} - -int32_t ScopedVideoEncoder::RegisterEncodeCompleteCallback( - webrtc::EncodedImageCallback* callback) { - return encoder_->RegisterEncodeCompleteCallback(callback); -} - -int32_t ScopedVideoEncoder::Release() { - return encoder_->Release(); -} - -int32_t ScopedVideoEncoder::Encode( - const webrtc::VideoFrame& frame, - const webrtc::CodecSpecificInfo* codec_specific_info, - const std::vector* frame_types) { - return encoder_->Encode(frame, codec_specific_info, frame_types); -} - -int32_t ScopedVideoEncoder::SetRates(uint32_t bitrate, uint32_t framerate) { - return encoder_->SetRates(bitrate, framerate); -} - -int32_t ScopedVideoEncoder::SetRateAllocation( - const webrtc::VideoBitrateAllocation& allocation, - uint32_t framerate) { - return encoder_->SetRateAllocation(allocation, framerate); -} - -webrtc::VideoEncoder::EncoderInfo ScopedVideoEncoder::GetEncoderInfo() const { - return encoder_->GetEncoderInfo(); -} - -ScopedVideoEncoder::~ScopedVideoEncoder() { - factory_->DestroyVideoEncoder(encoder_); -} - -} // namespace - -std::unique_ptr DEPRECATED_CreateScopedVideoEncoder( - WebRtcVideoEncoderFactory* factory, - const VideoCodec& codec) { - webrtc::VideoEncoder* encoder = factory->CreateVideoEncoder(codec); - if (!encoder) - return nullptr; - return std::unique_ptr( - new ScopedVideoEncoder(factory, encoder)); -} - -} // namespace cricket diff --git a/media/engine/scoped_video_encoder.h b/media/engine/scoped_video_encoder.h deleted file mode 100644 index e9c4dd3c5c..0000000000 --- a/media/engine/scoped_video_encoder.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2017 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. - */ - -#ifndef MEDIA_ENGINE_SCOPED_VIDEO_ENCODER_H_ -#define MEDIA_ENGINE_SCOPED_VIDEO_ENCODER_H_ - -#include - -#include "api/video_codecs/video_encoder.h" -#include "media/base/codec.h" -#include "media/engine/webrtc_video_encoder_factory.h" -#include "rtc_base/deprecation.h" - -namespace cricket { - -std::unique_ptr 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 -// outlive the returned encoder. -// 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. -RTC_DEPRECATED inline std::unique_ptr -CreateScopedVideoEncoder(cricket::WebRtcVideoEncoderFactory* factory, - const VideoCodec& codec) { - return DEPRECATED_CreateScopedVideoEncoder(factory, codec); -} - -} // namespace cricket - -#endif // MEDIA_ENGINE_SCOPED_VIDEO_ENCODER_H_ diff --git a/media/engine/scopedvideodecoder.h b/media/engine/scopedvideodecoder.h deleted file mode 100644 index 32fd653e4b..0000000000 --- a/media/engine/scopedvideodecoder.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2019 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. - */ - -#ifndef MEDIA_ENGINE_SCOPEDVIDEODECODER_H_ -#define MEDIA_ENGINE_SCOPEDVIDEODECODER_H_ - -// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have -// been updated to include the new path. - -#include "media/engine/scoped_video_decoder.h" - -#endif // MEDIA_ENGINE_SCOPEDVIDEODECODER_H_ diff --git a/media/engine/scopedvideoencoder.h b/media/engine/scopedvideoencoder.h deleted file mode 100644 index 1959821043..0000000000 --- a/media/engine/scopedvideoencoder.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2019 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. - */ - -#ifndef MEDIA_ENGINE_SCOPEDVIDEOENCODER_H_ -#define MEDIA_ENGINE_SCOPEDVIDEOENCODER_H_ - -// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have -// been updated to include the new path. - -#include "media/engine/scoped_video_encoder.h" - -#endif // MEDIA_ENGINE_SCOPEDVIDEOENCODER_H_ diff --git a/media/engine/webrtc_media_engine.cc b/media/engine/webrtc_media_engine.cc index 4819e2dfef..faba9b1d13 100644 --- a/media/engine/webrtc_media_engine.cc +++ b/media/engine/webrtc_media_engine.cc @@ -19,10 +19,6 @@ #include "api/video_codecs/video_encoder_factory.h" #include "media/engine/webrtc_voice_engine.h" -#if defined(USE_BUILTIN_SW_CODECS) -#include "media/engine/convert_legacy_video_factory.h" -#endif - #ifdef HAVE_WEBRTC_VIDEO #include "media/engine/webrtc_video_engine.h" #else @@ -31,107 +27,6 @@ namespace cricket { -#if defined(USE_BUILTIN_SW_CODECS) -namespace { - -MediaEngineInterface* CreateWebRtcMediaEngine( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_encoder_factory, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory, - std::unique_ptr - video_bitrate_allocator_factory, - rtc::scoped_refptr audio_mixer, - rtc::scoped_refptr audio_processing) { - std::unique_ptr video_engine; -#ifdef HAVE_WEBRTC_VIDEO - video_engine = absl::make_unique( - DEPRECATED_ConvertVideoEncoderFactory( - std::unique_ptr(video_encoder_factory)), - DEPRECATED_ConvertVideoDecoderFactory( - std::unique_ptr(video_decoder_factory)), - std::move(video_bitrate_allocator_factory)); -#else - video_engine = absl::make_unique(); -#endif - return new CompositeMediaEngine( - absl::make_unique(adm, audio_encoder_factory, - audio_decoder_factory, audio_mixer, - audio_processing), - std::move(video_engine)); -} - -} // namespace - -MediaEngineInterface* WebRtcMediaEngineFactory::Create( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_encoder_factory, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory) { - return WebRtcMediaEngineFactory::Create( - adm, audio_encoder_factory, audio_decoder_factory, video_encoder_factory, - video_decoder_factory, - webrtc::CreateBuiltinVideoBitrateAllocatorFactory()); -} - -MediaEngineInterface* WebRtcMediaEngineFactory::Create( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_encoder_factory, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory, - std::unique_ptr - video_bitrate_allocator_factory) { - return CreateWebRtcMediaEngine( - adm, audio_encoder_factory, audio_decoder_factory, video_encoder_factory, - video_decoder_factory, std::move(video_bitrate_allocator_factory), - nullptr, webrtc::AudioProcessingBuilder().Create()); -} - -MediaEngineInterface* WebRtcMediaEngineFactory::Create( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_encoder_factory, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory, - rtc::scoped_refptr audio_mixer, - rtc::scoped_refptr audio_processing) { - return WebRtcMediaEngineFactory::Create( - adm, audio_encoder_factory, audio_decoder_factory, video_encoder_factory, - video_decoder_factory, - webrtc::CreateBuiltinVideoBitrateAllocatorFactory(), audio_mixer, - audio_processing); -} - -MediaEngineInterface* WebRtcMediaEngineFactory::Create( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_encoder_factory, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory, - std::unique_ptr - video_bitrate_allocator_factory, - rtc::scoped_refptr audio_mixer, - rtc::scoped_refptr audio_processing) { - return CreateWebRtcMediaEngine( - adm, audio_encoder_factory, audio_decoder_factory, video_encoder_factory, - video_decoder_factory, std::move(video_bitrate_allocator_factory), - audio_mixer, audio_processing); -} -#endif - std::unique_ptr WebRtcMediaEngineFactory::Create( rtc::scoped_refptr adm, rtc::scoped_refptr audio_encoder_factory, diff --git a/media/engine/webrtc_media_engine.h b/media/engine/webrtc_media_engine.h index 837634a89e..9a906fe999 100644 --- a/media/engine/webrtc_media_engine.h +++ b/media/engine/webrtc_media_engine.h @@ -27,10 +27,6 @@ class VideoDecoderFactory; class VideoEncoderFactory; class VideoBitrateAllocatorFactory; } // namespace webrtc -namespace cricket { -class WebRtcVideoDecoderFactory; -class WebRtcVideoEncoderFactory; -} // namespace cricket namespace cricket { @@ -39,54 +35,6 @@ class WebRtcMediaEngineFactory { // These Create methods may be called on any thread, though the engine is // only expected to be used on one thread, internally called the "worker // thread". This is the thread Init must be called on. - // - // 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) - RTC_DEPRECATED static MediaEngineInterface* Create( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_encoder_factory, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory); - - RTC_DEPRECATED static MediaEngineInterface* Create( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_encoder_factory, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory, - rtc::scoped_refptr audio_mixer, - rtc::scoped_refptr apm); - - RTC_DEPRECATED static MediaEngineInterface* Create( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_encoder_factory, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory, - std::unique_ptr - video_bitrate_allocator_factory); - - RTC_DEPRECATED static MediaEngineInterface* Create( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_encoder_factory, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory, - std::unique_ptr - video_bitrate_allocator_factory, - rtc::scoped_refptr audio_mixer, - rtc::scoped_refptr apm); -#endif // Create a MediaEngineInterface with optional video codec factories. These // video factories represents all video codecs, i.e. no extra internal video diff --git a/media/engine/webrtc_video_decoder_factory.cc b/media/engine/webrtc_video_decoder_factory.cc deleted file mode 100644 index 5f8743ef0c..0000000000 --- a/media/engine/webrtc_video_decoder_factory.cc +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2017 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 "media/engine/webrtc_video_decoder_factory.h" - -#include "api/video_codecs/video_codec.h" -#include "rtc_base/checks.h" - -namespace cricket { - -webrtc::VideoDecoder* WebRtcVideoDecoderFactory::CreateVideoDecoderWithParams( - const VideoCodec& codec, - VideoDecoderParams params) { - // Default implementation that delegates to old version in order to preserve - // backwards-compatability. - webrtc::VideoCodecType type = webrtc::PayloadStringToCodecType(codec.name); - return CreateVideoDecoderWithParams(type, params); -} - -webrtc::VideoDecoder* WebRtcVideoDecoderFactory::CreateVideoDecoder( - webrtc::VideoCodecType type) { - RTC_NOTREACHED(); - return nullptr; -} - -webrtc::VideoDecoder* WebRtcVideoDecoderFactory::CreateVideoDecoderWithParams( - webrtc::VideoCodecType type, - VideoDecoderParams params) { - return CreateVideoDecoder(type); -} - -} // namespace cricket diff --git a/media/engine/webrtc_video_decoder_factory.h b/media/engine/webrtc_video_decoder_factory.h deleted file mode 100644 index 72deca1428..0000000000 --- a/media/engine/webrtc_video_decoder_factory.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2013 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. - */ - -#ifndef MEDIA_ENGINE_WEBRTC_VIDEO_DECODER_FACTORY_H_ -#define MEDIA_ENGINE_WEBRTC_VIDEO_DECODER_FACTORY_H_ - -#include - -#include "api/video/video_codec_type.h" -#include "media/base/codec.h" -#include "rtc_base/ref_count.h" -#include "rtc_base/system/rtc_export.h" - -namespace webrtc { -class VideoDecoder; -} - -namespace cricket { - -struct VideoDecoderParams { - std::string receive_stream_id; -}; - -// Deprecated. Use webrtc::VideoDecoderFactory instead. -// https://bugs.chromium.org/p/webrtc/issues/detail?id=7925 -class RTC_EXPORT WebRtcVideoDecoderFactory { - public: - // Caller takes the ownership of the returned object and it should be released - // by calling DestroyVideoDecoder(). - virtual webrtc::VideoDecoder* CreateVideoDecoderWithParams( - const VideoCodec& codec, - VideoDecoderParams params); - - // DEPRECATED. - // These methods should not be used by new code and will eventually be - // removed. See http://crbug.com/webrtc/8140. - virtual webrtc::VideoDecoder* CreateVideoDecoder(webrtc::VideoCodecType type); - - virtual webrtc::VideoDecoder* CreateVideoDecoderWithParams( - webrtc::VideoCodecType type, - VideoDecoderParams params); - - virtual ~WebRtcVideoDecoderFactory() {} - - virtual void DestroyVideoDecoder(webrtc::VideoDecoder* decoder) = 0; -}; - -} // namespace cricket - -#endif // MEDIA_ENGINE_WEBRTC_VIDEO_DECODER_FACTORY_H_ diff --git a/media/engine/webrtc_video_encoder_factory.cc b/media/engine/webrtc_video_encoder_factory.cc deleted file mode 100644 index bf254e8f33..0000000000 --- a/media/engine/webrtc_video_encoder_factory.cc +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2017 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 "media/engine/webrtc_video_encoder_factory.h" - -namespace cricket { - -bool WebRtcVideoEncoderFactory::EncoderTypeHasInternalSource( - webrtc::VideoCodecType type) const { - return false; -} - -} // namespace cricket diff --git a/media/engine/webrtc_video_encoder_factory.h b/media/engine/webrtc_video_encoder_factory.h deleted file mode 100644 index 027340b609..0000000000 --- a/media/engine/webrtc_video_encoder_factory.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2013 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. - */ - -#ifndef MEDIA_ENGINE_WEBRTC_VIDEO_ENCODER_FACTORY_H_ -#define MEDIA_ENGINE_WEBRTC_VIDEO_ENCODER_FACTORY_H_ - -#include -#include - -#include "api/video/video_codec_type.h" -#include "media/base/codec.h" -#include "rtc_base/system/rtc_export.h" - -namespace webrtc { -class VideoEncoder; -} - -namespace cricket { - -// Deprecated. Use webrtc::VideoEncoderFactory instead. -// https://bugs.chromium.org/p/webrtc/issues/detail?id=7925 -class RTC_EXPORT WebRtcVideoEncoderFactory { - public: - virtual ~WebRtcVideoEncoderFactory() {} - - // Caller takes the ownership of the returned object and it should be released - // by calling DestroyVideoEncoder(). - virtual webrtc::VideoEncoder* CreateVideoEncoder( - const cricket::VideoCodec& codec) = 0; - - // Returns a list of supported codecs in order of preference. - virtual const std::vector& 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 - // frames to be delivered via webrtc::VideoEncoder::Encode. - virtual bool EncoderTypeHasInternalSource(webrtc::VideoCodecType type) const; - - virtual void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) = 0; -}; - -} // namespace cricket - -#endif // MEDIA_ENGINE_WEBRTC_VIDEO_ENCODER_FACTORY_H_ diff --git a/media/engine/webrtc_video_encoder_factory_unittest.cc b/media/engine/webrtc_video_encoder_factory_unittest.cc deleted file mode 100644 index be6c2d1088..0000000000 --- a/media/engine/webrtc_video_encoder_factory_unittest.cc +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2017 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 "media/engine/webrtc_video_encoder_factory.h" - -#include "test/gtest.h" - -class WebRtcVideoEncoderFactoryForTest - : public cricket::WebRtcVideoEncoderFactory { - public: - WebRtcVideoEncoderFactoryForTest() { - codecs_.push_back(cricket::VideoCodec("H264")); - codecs_.push_back(cricket::VideoCodec("VP8")); - } - - webrtc::VideoEncoder* CreateVideoEncoder( - const cricket::VideoCodec& codec) override { - return nullptr; - } - - const std::vector& supported_codecs() const override { - return codecs_; - } - - void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) override {} - - std::vector codecs_; -}; - -TEST(WebRtcVideoEncoderFactoryTest, TestMultipleCallsToSupportedCodecs) { - WebRtcVideoEncoderFactoryForTest factory; - EXPECT_EQ(2u, factory.supported_codecs().size()); - EXPECT_EQ("H264", factory.supported_codecs()[0].name); - EXPECT_EQ("VP8", factory.supported_codecs()[1].name); - - // The codec list doesn't grow when called repeatedly. - EXPECT_EQ(2u, factory.supported_codecs().size()); -} diff --git a/media/engine/webrtc_video_engine.cc b/media/engine/webrtc_video_engine.cc index 5fe0e62a2c..a0dc049aab 100644 --- a/media/engine/webrtc_video_engine.cc +++ b/media/engine/webrtc_video_engine.cc @@ -23,9 +23,6 @@ #include "api/video_codecs/video_encoder_factory.h" #include "call/call.h" #include "media/engine/constants.h" -#if defined(USE_BUILTIN_SW_CODECS) -#include "media/engine/convert_legacy_video_factory.h" // nogncheck -#endif #include "media/engine/simulcast.h" #include "media/engine/webrtc_media_engine.h" #include "media/engine/webrtc_voice_engine.h" @@ -436,21 +433,6 @@ void DefaultUnsignalledSsrcHandler::SetDefaultSink( } } -#if defined(USE_BUILTIN_SW_CODECS) -WebRtcVideoEngine::WebRtcVideoEngine( - std::unique_ptr external_video_encoder_factory, - std::unique_ptr external_video_decoder_factory, - std::unique_ptr - video_bitrate_allocator_factory) - : decoder_factory_(ConvertVideoDecoderFactory( - std::move(external_video_decoder_factory))), - encoder_factory_(ConvertVideoEncoderFactory( - std::move(external_video_encoder_factory))), - bitrate_allocator_factory_(std::move(video_bitrate_allocator_factory)) { - RTC_LOG(LS_INFO) << "WebRtcVideoEngine::WebRtcVideoEngine()"; -} -#endif - WebRtcVideoEngine::WebRtcVideoEngine( std::unique_ptr video_encoder_factory, std::unique_ptr video_decoder_factory, diff --git a/media/engine/webrtc_video_engine.h b/media/engine/webrtc_video_engine.h index 68db82c3f3..a3d5a2f42b 100644 --- a/media/engine/webrtc_video_engine.h +++ b/media/engine/webrtc_video_engine.h @@ -29,8 +29,6 @@ #include "call/video_receive_stream.h" #include "call/video_send_stream.h" #include "media/base/media_engine.h" -#include "media/engine/webrtc_video_decoder_factory.h" -#include "media/engine/webrtc_video_encoder_factory.h" #include "rtc_base/async_invoker.h" #include "rtc_base/critical_section.h" #include "rtc_base/network_route.h" @@ -81,15 +79,6 @@ class DefaultUnsignalledSsrcHandler : public UnsignalledSsrcHandler { // WebRtcVideoEngine is used for the new native WebRTC Video API (webrtc:1667). class WebRtcVideoEngine : public VideoEngineInterface { public: -#if defined(USE_BUILTIN_SW_CODECS) - // Internal SW video codecs will be added on top of the external codecs. - RTC_DEPRECATED WebRtcVideoEngine( - std::unique_ptr external_video_encoder_factory, - std::unique_ptr external_video_decoder_factory, - std::unique_ptr - video_bitrate_allocator_factory); -#endif - // These video codec factories represents all video codecs, i.e. both software // and external hardware codecs. WebRtcVideoEngine( diff --git a/media/engine/webrtcvideodecoderfactory.h b/media/engine/webrtcvideodecoderfactory.h deleted file mode 100644 index bd74850962..0000000000 --- a/media/engine/webrtcvideodecoderfactory.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2019 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. - */ - -#ifndef MEDIA_ENGINE_WEBRTCVIDEODECODERFACTORY_H_ -#define MEDIA_ENGINE_WEBRTCVIDEODECODERFACTORY_H_ - -// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have -// been updated to include the new path. - -#include "media/engine/webrtc_video_decoder_factory.h" - -#endif // MEDIA_ENGINE_WEBRTCVIDEODECODERFACTORY_H_ diff --git a/media/engine/webrtcvideoencoderfactory.h b/media/engine/webrtcvideoencoderfactory.h deleted file mode 100644 index 6841f1c844..0000000000 --- a/media/engine/webrtcvideoencoderfactory.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2019 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. - */ - -#ifndef MEDIA_ENGINE_WEBRTCVIDEOENCODERFACTORY_H_ -#define MEDIA_ENGINE_WEBRTCVIDEOENCODERFACTORY_H_ - -// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have -// been updated to include the new path. - -#include "media/engine/webrtc_video_encoder_factory.h" - -#endif // MEDIA_ENGINE_WEBRTCVIDEOENCODERFACTORY_H_ diff --git a/pc/BUILD.gn b/pc/BUILD.gn index ac1bde2229..5c5f78cc00 100644 --- a/pc/BUILD.gn +++ b/pc/BUILD.gn @@ -134,10 +134,7 @@ rtc_static_library("rtc_pc_base") { rtc_source_set("rtc_pc") { visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove. - ] + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. deps = [ ":rtc_pc_base", "../media:rtc_audio_video", @@ -278,10 +275,7 @@ rtc_static_library("peerconnection") { rtc_source_set("libjingle_peerconnection") { visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove. - ] + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. deps = [ ":peerconnection", "../api:create_peerconnection_factory", diff --git a/pc/peer_connection_factory.cc b/pc/peer_connection_factory.cc index 4c52b21ce4..f8e59111f4 100644 --- a/pc/peer_connection_factory.cc +++ b/pc/peer_connection_factory.cc @@ -34,8 +34,6 @@ // TODO(zhihuang): This wouldn't be necessary if the interface and // implementation of the media engine were in separate build targets. #include "media/engine/webrtc_media_engine.h" // nogncheck -#include "media/engine/webrtc_video_decoder_factory.h" // nogncheck -#include "media/engine/webrtc_video_encoder_factory.h" // nogncheck #include "modules/audio_device/include/audio_device.h" // nogncheck #include "p2p/base/basic_packet_socket_factory.h" #include "p2p/client/basic_port_allocator.h" diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn index d5766faabb..8d1ee7e227 100644 --- a/sdk/BUILD.gn +++ b/sdk/BUILD.gn @@ -411,10 +411,7 @@ if (is_ios || is_mac) { rtc_static_library("ui_objc") { visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove. - ] + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. if (is_ios) { sources = [ "objc/components/renderer/opengl/RTCDisplayLinkTimer.h", @@ -442,10 +439,7 @@ if (is_ios || is_mac) { if (rtc_use_metal_rendering) { rtc_static_library("metal_objc") { visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove. - ] + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. sources = [ "objc/components/renderer/metal/RTCMTLI420Renderer.h", "objc/components/renderer/metal/RTCMTLI420Renderer.mm", @@ -507,10 +501,7 @@ if (is_ios || is_mac) { rtc_static_library("videocapture_objc") { visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove. - ] + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. sources = [ "objc/components/capturer/RTCCameraVideoCapturer.h", "objc/components/capturer/RTCCameraVideoCapturer.m", @@ -647,10 +638,7 @@ if (is_ios || is_mac) { # The applications which only use WebRTC DataChannel can depend on this. rtc_static_library("peerconnectionfactory_no_media_objc") { visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove. - ] + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. defines = [ "HAVE_NO_MEDIA" ] sources = [ @@ -701,10 +689,7 @@ if (is_ios || is_mac) { rtc_static_library("videorendereradapter_objc") { visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove. - ] + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. sources = [ "objc/api/RTCVideoRendererAdapter+Private.h", "objc/api/RTCVideoRendererAdapter.h", @@ -777,10 +762,7 @@ if (is_ios || is_mac) { rtc_static_library("peerconnectionfactory_base_objc") { visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove. - ] + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. configs += [ "..:no_exit_time_destructors", "..:no_global_constructors", @@ -1524,10 +1506,7 @@ if (is_ios || is_mac) { # The native API is currently experimental and may change without notice. rtc_static_library("native_api") { visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove. - ] + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. sources = [ "objc/native/api/video_capturer.h", "objc/native/api/video_capturer.mm", @@ -1630,10 +1609,7 @@ if (is_ios || is_mac) { rtc_static_library("videotoolbox_objc") { visibility = [ "*" ] - allow_poison = [ - "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. - "software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove. - ] + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. sources = [ "objc/components/video_codec/RTCVideoDecoderFactoryH264.h", "objc/components/video_codec/RTCVideoDecoderFactoryH264.m", diff --git a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm index dfcb637ca5..c1d0a32f00 100644 --- a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm +++ b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm @@ -31,7 +31,6 @@ #include "api/audio_codecs/builtin_audio_decoder_factory.h" // nogncheck #include "api/audio_codecs/builtin_audio_encoder_factory.h" // nogncheck #include "logging/rtc_event_log/rtc_event_log_factory.h" -#include "media/engine/convert_legacy_video_factory.h" // nogncheck #include "modules/audio_device/include/audio_device.h" // nogncheck #include "modules/audio_processing/include/audio_processing.h" // nogncheck diff --git a/video/BUILD.gn b/video/BUILD.gn index 6b040c905b..cb4b311de4 100644 --- a/video/BUILD.gn +++ b/video/BUILD.gn @@ -165,8 +165,6 @@ rtc_source_set("video_stream_encoder_impl") { visibility = [ "*" ] # visibility = [ "../api/video:video_stream_encoder_create" ] - # In modules/video_coding, there's a dependency video_coding --> webrtc_vp8 - allow_poison = [ "software_video_codecs" ] # TODO(bugs.webrtc.org/7925): Remove. sources = [ "overuse_frame_detector.cc", "overuse_frame_detector.h", diff --git a/webrtc.gni b/webrtc.gni index 7613f76c36..b561374cbe 100644 --- a/webrtc.gni +++ b/webrtc.gni @@ -168,9 +168,6 @@ declare_args() { # real audio samples. rtc_audio_device_plays_sinus_tone = false - # Disable this to build without support for built-in software codecs. - rtc_use_builtin_sw_codecs = true - if (is_ios) { # Build broadcast extension in AppRTCMobile for iOS. This results in the # binary only running on iOS 11+, which is why it is disabled by default.