From 2b00c4e1af8c79d7923fd2e4f11dd2329d47b0ee Mon Sep 17 00:00:00 2001 From: philipel Date: Fri, 31 Mar 2023 17:20:40 +0200 Subject: [PATCH] Replace BuiltinVideo{Encoder,Decoder}Factory with Video{Encoder,Decoder}FactoryTemplate. Bug: webrtc:13573 Change-Id: Ie84498444ad6f56bba90d17e672838a1ea2f6a83 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299706 Commit-Queue: Philip Eliasson Reviewed-by: Tomas Gunnarsson Cr-Commit-Position: refs/heads/main@{#39735} --- BUILD.gn | 17 ++++++++++------- webrtc.gni | 6 ------ webrtc_lib_link_test.cc | 22 ++++++++++++++++++---- 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index 26773551ad..d5289b85d7 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -494,6 +494,16 @@ if (!build_with_chromium) { "api/task_queue", "api/task_queue:default_task_queue_factory", "api/test/metrics", + "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", "audio", "call", "common_audio", @@ -516,13 +526,6 @@ if (!build_with_chromium) { ] } - if (rtc_include_builtin_video_codecs) { - deps += [ - "api/video_codecs:builtin_video_decoder_factory", - "api/video_codecs:builtin_video_encoder_factory", - ] - } - if (build_with_mozilla) { deps += [ "api/video:video_frame", diff --git a/webrtc.gni b/webrtc.gni index 823dfa7418..5e4a5d3c81 100644 --- a/webrtc.gni +++ b/webrtc.gni @@ -214,12 +214,6 @@ declare_args() { # WebRTC.framework) rtc_include_builtin_audio_codecs = true - # When set to false, builtin video encoder/decoder factories and all the - # video codecs they depends on will not be included in libwebrtc.{a|lib} - # (they will still be included in libjingle_peerconnection_so.so and - # WebRTC.framework) - rtc_include_builtin_video_codecs = true - # When set to true and in a standalone build, it will undefine UNICODE and # _UNICODE (which are always defined globally by the Chromium Windows # toolchain). diff --git a/webrtc_lib_link_test.cc b/webrtc_lib_link_test.cc index 055bd969ff..868c17287e 100644 --- a/webrtc_lib_link_test.cc +++ b/webrtc_lib_link_test.cc @@ -18,8 +18,16 @@ #include "api/rtc_event_log/rtc_event_log_factory.h" #include "api/stats/rtcstats_objects.h" #include "api/task_queue/default_task_queue_factory.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/engine/webrtc_media_engine.h" #include "modules/audio_device/include/audio_device.h" #include "modules/audio_processing/include/audio_processing.h" @@ -36,8 +44,14 @@ cricket::MediaEngineDependencies CreateSomeMediaDeps( webrtc::CreateAudioEncoderFactory(); media_deps.audio_decoder_factory = webrtc::CreateAudioDecoderFactory(); - media_deps.video_encoder_factory = CreateBuiltinVideoEncoderFactory(); - media_deps.video_decoder_factory = webrtc::CreateBuiltinVideoDecoderFactory(); + media_deps.video_encoder_factory = + std::make_unique>(); + media_deps.video_decoder_factory = + std::make_unique>(); media_deps.audio_processing = webrtc::AudioProcessingBuilder().Create(); return media_deps; }