From 0587aaea1ad28ed1faaf95389a232996c30ff879 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85sa=20Persson?= Date: Fri, 31 Mar 2023 16:49:14 +0200 Subject: [PATCH] Replace BuiltinVideo{Encoder,Decoder}Factory with Video{Encoder,Decoder}FactoryTemplate. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: webrtc:13573 Change-Id: I69e500f2a18b735396cd00e1ab925243f1a807a1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299702 Reviewed-by: Per Kjellander Commit-Queue: Åsa Persson Cr-Commit-Position: refs/heads/main@{#39744} --- pc/BUILD.gn | 10 ++++++ pc/peer_connection_ice_unittest.cc | 30 +++++++++++++---- pc/peer_connection_rtp_unittest.cc | 42 ++++++++++++++++-------- pc/peer_connection_signaling_unittest.cc | 19 +++++++++-- pc/peer_connection_simulcast_unittest.cc | 42 ++++++++++++++++-------- pc/sdp_offer_answer_unittest.cc | 42 ++++++++++++++++-------- 6 files changed, 137 insertions(+), 48 deletions(-) diff --git a/pc/BUILD.gn b/pc/BUILD.gn index 5b9e7f5653..e098181743 100644 --- a/pc/BUILD.gn +++ b/pc/BUILD.gn @@ -2527,6 +2527,16 @@ if (rtc_include_tests && !build_with_chromium) { "../api/video_codecs:builtin_video_decoder_factory", "../api/video_codecs:builtin_video_encoder_factory", "../api/video_codecs:video_codecs_api", + "../api/video_codecs:video_decoder_factory_template", + "../api/video_codecs:video_decoder_factory_template_dav1d_adapter", + "../api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter", + "../api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter", + "../api/video_codecs:video_decoder_factory_template_open_h264_adapter", + "../api/video_codecs:video_encoder_factory_template", + "../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter", + "../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter", + "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter", + "../api/video_codecs:video_encoder_factory_template_open_h264_adapter", "../call:call_interfaces", "../media:rtc_audio_video", "../media:rtc_media_base", diff --git a/pc/peer_connection_ice_unittest.cc b/pc/peer_connection_ice_unittest.cc index fc0448bcef..6e823c8934 100644 --- a/pc/peer_connection_ice_unittest.cc +++ b/pc/peer_connection_ice_unittest.cc @@ -62,8 +62,16 @@ #include "api/audio_codecs/builtin_audio_encoder_factory.h" #include "api/create_peerconnection_factory.h" #include "api/uma_metrics.h" -#include "api/video_codecs/builtin_video_decoder_factory.h" -#include "api/video_codecs/builtin_video_encoder_factory.h" +#include "api/video_codecs/video_decoder_factory_template.h" +#include "api/video_codecs/video_decoder_factory_template_dav1d_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_libvpx_vp8_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_libvpx_vp9_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_open_h264_adapter.h" +#include "api/video_codecs/video_encoder_factory_template.h" +#include "api/video_codecs/video_encoder_factory_template_libaom_av1_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" #include "pc/peer_connection_proxy.h" #include "pc/test/fake_audio_capture_module.h" #include "pc/test/mock_peer_connection_observers.h" @@ -150,7 +158,12 @@ class PeerConnectionIceBaseTest : public ::testing::Test { rtc::Thread::Current(), rtc::Thread::Current(), rtc::Thread::Current(), rtc::scoped_refptr(FakeAudioCaptureModule::Create()), CreateBuiltinAudioEncoderFactory(), CreateBuiltinAudioDecoderFactory(), - CreateBuiltinVideoEncoderFactory(), CreateBuiltinVideoDecoderFactory(), + std::make_unique>(), + std::make_unique>(), nullptr /* audio_mixer */, nullptr /* audio_processing */); } @@ -1417,9 +1430,14 @@ class PeerConnectionIceConfigTest : public ::testing::Test { pc_factory_ = CreatePeerConnectionFactory( rtc::Thread::Current(), rtc::Thread::Current(), rtc::Thread::Current(), FakeAudioCaptureModule::Create(), CreateBuiltinAudioEncoderFactory(), - CreateBuiltinAudioDecoderFactory(), CreateBuiltinVideoEncoderFactory(), - CreateBuiltinVideoDecoderFactory(), nullptr /* audio_mixer */, - nullptr /* audio_processing */); + CreateBuiltinAudioDecoderFactory(), + std::make_unique>(), + std::make_unique>(), + nullptr /* audio_mixer */, nullptr /* audio_processing */); } void CreatePeerConnection(const RTCConfiguration& config) { packet_socket_factory_.reset( diff --git a/pc/peer_connection_rtp_unittest.cc b/pc/peer_connection_rtp_unittest.cc index e5861ea815..1ff48cd0a5 100644 --- a/pc/peer_connection_rtp_unittest.cc +++ b/pc/peer_connection_rtp_unittest.cc @@ -34,8 +34,16 @@ #include "api/scoped_refptr.h" #include "api/set_remote_description_observer_interface.h" #include "api/uma_metrics.h" -#include "api/video_codecs/builtin_video_decoder_factory.h" -#include "api/video_codecs/builtin_video_encoder_factory.h" +#include "api/video_codecs/video_decoder_factory_template.h" +#include "api/video_codecs/video_decoder_factory_template_dav1d_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_libvpx_vp8_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_libvpx_vp9_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_open_h264_adapter.h" +#include "api/video_codecs/video_encoder_factory_template.h" +#include "api/video_codecs/video_encoder_factory_template_libaom_av1_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" #include "media/base/stream_params.h" #include "modules/audio_device/include/audio_device.h" #include "modules/audio_processing/include/audio_processing.h" @@ -87,17 +95,25 @@ class PeerConnectionRtpBaseTest : public ::testing::Test { public: explicit PeerConnectionRtpBaseTest(SdpSemantics sdp_semantics) : sdp_semantics_(sdp_semantics), - pc_factory_( - CreatePeerConnectionFactory(rtc::Thread::Current(), - rtc::Thread::Current(), - rtc::Thread::Current(), - FakeAudioCaptureModule::Create(), - CreateBuiltinAudioEncoderFactory(), - CreateBuiltinAudioDecoderFactory(), - CreateBuiltinVideoEncoderFactory(), - CreateBuiltinVideoDecoderFactory(), - nullptr /* audio_mixer */, - nullptr /* audio_processing */)) { + pc_factory_(CreatePeerConnectionFactory( + rtc::Thread::Current(), + rtc::Thread::Current(), + rtc::Thread::Current(), + FakeAudioCaptureModule::Create(), + CreateBuiltinAudioEncoderFactory(), + CreateBuiltinAudioDecoderFactory(), + std::make_unique< + VideoEncoderFactoryTemplate>(), + std::make_unique< + VideoDecoderFactoryTemplate>(), + nullptr /* audio_mixer */, + nullptr /* audio_processing */)) { webrtc::metrics::Reset(); } diff --git a/pc/peer_connection_signaling_unittest.cc b/pc/peer_connection_signaling_unittest.cc index 3ff890ab6a..8ca59fc20c 100644 --- a/pc/peer_connection_signaling_unittest.cc +++ b/pc/peer_connection_signaling_unittest.cc @@ -39,8 +39,16 @@ #include "api/scoped_refptr.h" #include "api/set_local_description_observer_interface.h" #include "api/set_remote_description_observer_interface.h" -#include "api/video_codecs/builtin_video_decoder_factory.h" -#include "api/video_codecs/builtin_video_encoder_factory.h" +#include "api/video_codecs/video_decoder_factory_template.h" +#include "api/video_codecs/video_decoder_factory_template_dav1d_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_libvpx_vp8_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_libvpx_vp9_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_open_h264_adapter.h" +#include "api/video_codecs/video_encoder_factory_template.h" +#include "api/video_codecs/video_encoder_factory_template_libaom_av1_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" #include "media/base/codec.h" #include "modules/audio_device/include/audio_device.h" #include "modules/audio_processing/include/audio_processing.h" @@ -134,7 +142,12 @@ class PeerConnectionSignalingBaseTest : public ::testing::Test { rtc::Thread::Current(), rtc::Thread::Current(), rtc::Thread::Current(), rtc::scoped_refptr(FakeAudioCaptureModule::Create()), CreateBuiltinAudioEncoderFactory(), CreateBuiltinAudioDecoderFactory(), - CreateBuiltinVideoEncoderFactory(), CreateBuiltinVideoDecoderFactory(), + std::make_unique>(), + std::make_unique>(), nullptr /* audio_mixer */, nullptr /* audio_processing */); } diff --git a/pc/peer_connection_simulcast_unittest.cc b/pc/peer_connection_simulcast_unittest.cc index 05bf78f3cc..5ffbe34971 100644 --- a/pc/peer_connection_simulcast_unittest.cc +++ b/pc/peer_connection_simulcast_unittest.cc @@ -38,8 +38,16 @@ #include "api/stats/rtcstats_objects.h" #include "api/uma_metrics.h" #include "api/video/video_codec_constants.h" -#include "api/video_codecs/builtin_video_decoder_factory.h" -#include "api/video_codecs/builtin_video_encoder_factory.h" +#include "api/video_codecs/video_decoder_factory_template.h" +#include "api/video_codecs/video_decoder_factory_template_dav1d_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_libvpx_vp8_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_libvpx_vp9_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_open_h264_adapter.h" +#include "api/video_codecs/video_encoder_factory_template.h" +#include "api/video_codecs/video_encoder_factory_template_libaom_av1_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" #include "media/base/media_constants.h" #include "media/base/rid_description.h" #include "media/base/stream_params.h" @@ -177,17 +185,25 @@ constexpr TimeDelta kLongTimeoutForRampingUp = TimeDelta::Seconds(30); class PeerConnectionSimulcastTests : public ::testing::Test { public: PeerConnectionSimulcastTests() - : pc_factory_( - CreatePeerConnectionFactory(rtc::Thread::Current(), - rtc::Thread::Current(), - rtc::Thread::Current(), - FakeAudioCaptureModule::Create(), - CreateBuiltinAudioEncoderFactory(), - CreateBuiltinAudioDecoderFactory(), - CreateBuiltinVideoEncoderFactory(), - CreateBuiltinVideoDecoderFactory(), - nullptr, - nullptr)) {} + : pc_factory_(CreatePeerConnectionFactory( + rtc::Thread::Current(), + rtc::Thread::Current(), + rtc::Thread::Current(), + FakeAudioCaptureModule::Create(), + CreateBuiltinAudioEncoderFactory(), + CreateBuiltinAudioDecoderFactory(), + std::make_unique< + VideoEncoderFactoryTemplate>(), + std::make_unique< + VideoDecoderFactoryTemplate>(), + nullptr, + nullptr)) {} rtc::scoped_refptr CreatePeerConnection( MockPeerConnectionObserver* observer) { diff --git a/pc/sdp_offer_answer_unittest.cc b/pc/sdp_offer_answer_unittest.cc index e16cd6aafc..33b1e746d9 100644 --- a/pc/sdp_offer_answer_unittest.cc +++ b/pc/sdp_offer_answer_unittest.cc @@ -20,8 +20,16 @@ #include "api/peer_connection_interface.h" #include "api/rtp_transceiver_interface.h" #include "api/scoped_refptr.h" -#include "api/video_codecs/builtin_video_decoder_factory.h" -#include "api/video_codecs/builtin_video_encoder_factory.h" +#include "api/video_codecs/video_decoder_factory_template.h" +#include "api/video_codecs/video_decoder_factory_template_dav1d_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_libvpx_vp8_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_libvpx_vp9_adapter.h" +#include "api/video_codecs/video_decoder_factory_template_open_h264_adapter.h" +#include "api/video_codecs/video_encoder_factory_template.h" +#include "api/video_codecs/video_encoder_factory_template_libaom_av1_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h" +#include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" #include "modules/audio_device/include/audio_device.h" #include "modules/audio_processing/include/audio_processing.h" #include "p2p/base/port_allocator.h" @@ -59,17 +67,25 @@ class SdpOfferAnswerTest : public ::testing::Test { // Note: We use a PeerConnectionFactory with a distinct // signaling thread, so that thread handling can be tested. : signaling_thread_(CreateAndStartThread()), - pc_factory_( - CreatePeerConnectionFactory(nullptr, - nullptr, - signaling_thread_.get(), - FakeAudioCaptureModule::Create(), - CreateBuiltinAudioEncoderFactory(), - CreateBuiltinAudioDecoderFactory(), - CreateBuiltinVideoEncoderFactory(), - CreateBuiltinVideoDecoderFactory(), - nullptr /* audio_mixer */, - nullptr /* audio_processing */)) { + pc_factory_(CreatePeerConnectionFactory( + nullptr, + nullptr, + signaling_thread_.get(), + FakeAudioCaptureModule::Create(), + CreateBuiltinAudioEncoderFactory(), + CreateBuiltinAudioDecoderFactory(), + std::make_unique< + VideoEncoderFactoryTemplate>(), + std::make_unique< + VideoDecoderFactoryTemplate>(), + nullptr /* audio_mixer */, + nullptr /* audio_processing */)) { webrtc::metrics::Reset(); }