From 6f6e13a1b888bcc154f3d99546ad0d8d55b5b63e Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Fri, 10 Dec 2021 22:33:39 +0800 Subject: [PATCH] chore: Add is_win condition. --- BUILD.gn | 92 ++++++++++++++------------ src/rtc_peerconnection_factory_impl.cc | 28 ++++---- 2 files changed, 65 insertions(+), 55 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index d69500682f..6cf2ca26f9 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -104,57 +104,60 @@ rtc_shared_library("libwebrtc"){ "src/rtc_dtls_transport_impl.cc", "src/rtc_dtls_transport_impl.h", "src/rtc_dtmf_sender_impl.cc", - "src/rtc_dtmf_sender_impl.h", - #"talk/owt/sdk/base/codecutils.h", - #"talk/owt/sdk/base/codecutils.cc", - #"talk/owt/sdk/base/win/mediacapabilities.h", - #"talk/owt/sdk/base/win/mediacapabilities.cc", - #"talk/owt/sdk/base/win/msdkcommon.h", - #"talk/owt/sdk/base/win/msdkvideobase.h", - #"talk/owt/sdk/base/win/msdkvideobase.cc", - #"talk/owt/sdk/base/win/msdkvideoencoder.h", - #"talk/owt/sdk/base/win/msdkvideoencoder.cc", - "src/win/commontypes.h", - "src/win/msdkcommon.h", - "src/win/mediautils.h", - "src/win/mediautils.cc", - "src/win/d3d_allocator.h", - "src/win/d3d_allocator.cc", - "src/win/d3d11_allocator.h", - "src/win/d3d11_allocator.cc", - "src/win/msdkvideobase.h", - "src/win/msdkvideobase.cc", - "src/win/msdkvideoencoder.h", - "src/win/msdkvideoencoder.cc", - "src/win/base_allocator.h", - "src/win/base_allocator.cc", - "src/win/sysmem_allocator.h", - "src/win/sysmem_allocator.cc", - "src/win/msdkvideoencoderfactory.h", - "src/win/msdkvideoencoderfactory.cc", - "src/win/mediacapabilities.h", - "src/win/mediacapabilities.cc", - "src/win/codecutils.h", - "src/win/codecutils.cc", - "src/win/msdkvideodecoder.h", - "src/win/msdkvideodecoder.cc", - "src/win/msdkvideodecoderfactory.h", - "src/win/msdkvideodecoderfactory.cc", - "src/win/d3dnativeframe.h", - "src/win/d3d11_manager.h", - "src/win/videorendererinterface.h", - "src/win/nativehandlebuffer.h", + "src/rtc_dtmf_sender_impl.h" ] + if(is_win) { + sources += [ + "src/win/commontypes.h", + "src/win/msdkcommon.h", + "src/win/mediautils.h", + "src/win/mediautils.cc", + "src/win/d3d_allocator.h", + "src/win/d3d_allocator.cc", + "src/win/d3d11_allocator.h", + "src/win/d3d11_allocator.cc", + "src/win/msdkvideobase.h", + "src/win/msdkvideobase.cc", + "src/win/msdkvideoencoder.h", + "src/win/msdkvideoencoder.cc", + "src/win/base_allocator.h", + "src/win/base_allocator.cc", + "src/win/sysmem_allocator.h", + "src/win/sysmem_allocator.cc", + "src/win/msdkvideoencoderfactory.h", + "src/win/msdkvideoencoderfactory.cc", + "src/win/mediacapabilities.h", + "src/win/mediacapabilities.cc", + "src/win/codecutils.h", + "src/win/codecutils.cc", + "src/win/msdkvideodecoder.h", + "src/win/msdkvideodecoder.cc", + "src/win/msdkvideodecoderfactory.h", + "src/win/msdkvideodecoderfactory.cc", + "src/win/d3dnativeframe.h", + "src/win/d3d11_manager.h", + "src/win/videorendererinterface.h", + "src/win/nativehandlebuffer.h", + ] + } + include_dirs = [ ".", "include", - "src/win/include", + ] + defines = [ "USE_LIBYUV", "WEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE", + "USE_INTEL_MEDIA_SDK", ] + + if(is_win) { + include_dirs += [ "src/win/include" ] + defines += [ "USE_INTEL_MEDIA_SDK" ] + } public_configs = [ ":external_config" ] @@ -198,8 +201,11 @@ rtc_shared_library("libwebrtc"){ "//third_party/libyuv", ] libs = [] - libs += [ "libmfx_vs2015.lib" ] - lib_dirs = [ "src\win\lib\x64" ] + + if(is_win) { + libs += [ "libmfx_vs2015.lib" ] + lib_dirs = [ "src\win\lib\x64" ] + } ldflags = [ "/ignore:4098", diff --git a/src/rtc_peerconnection_factory_impl.cc b/src/rtc_peerconnection_factory_impl.cc index 4f66a98ca1..f52f76b3ba 100644 --- a/src/rtc_peerconnection_factory_impl.cc +++ b/src/rtc_peerconnection_factory_impl.cc @@ -13,8 +13,8 @@ #include "api/video_codecs/builtin_video_decoder_factory.h" #include "api/video_codecs/builtin_video_encoder_factory.h" #include "modules/audio_device/audio_device_impl.h" -#include "src/win/msdkvideoencoderfactory.h" #include "src/win/msdkvideodecoderfactory.h" +#include "src/win/msdkvideoencoderfactory.h" #if defined(WEBRTC_IOS) #include "engine/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h" #endif @@ -22,6 +22,16 @@ namespace libwebrtc { +#if defined(USE_INTEL_MEDIA_SDK) +std::unique_ptr CreateIntelVideoEncoderFactory() { + return std::make_unique(); +} + +std::unique_ptr CreateIntelVideoDecoderFactory() { + return std::make_unique(); +} +#endif + RTCPeerConnectionFactoryImpl::RTCPeerConnectionFactoryImpl( rtc::Thread* worker_thread, rtc::Thread* signaling_thread, @@ -32,14 +42,6 @@ RTCPeerConnectionFactoryImpl::RTCPeerConnectionFactoryImpl( RTCPeerConnectionFactoryImpl::~RTCPeerConnectionFactoryImpl() {} -std::unique_ptr CreateFakeVideoEncoderFactory() { - return std::make_unique(); -} - -std::unique_ptr CreateFakeVideoDecoderFactory() { - return std::make_unique(); -} - bool RTCPeerConnectionFactoryImpl::Initialize() { if (!audio_device_module_) { task_queue_factory_ = webrtc::CreateDefaultTaskQueueFactory(); @@ -52,10 +54,12 @@ bool RTCPeerConnectionFactoryImpl::Initialize() { network_thread_, worker_thread_, signaling_thread_, audio_device_module_.get(), webrtc::CreateBuiltinAudioEncoderFactory(), webrtc::CreateBuiltinAudioDecoderFactory(), - CreateFakeVideoEncoderFactory(), - //CreateFakeVideoDecoderFactory(), - //webrtc::CreateBuiltinVideoEncoderFactory(), +#if defined(USE_INTEL_MEDIA_SDK) + CreateIntelVideoEncoderFactory(), CreateIntelVideoDecoderFactory(), +#else + webrtc::CreateBuiltinVideoEncoderFactory(), webrtc::CreateBuiltinVideoDecoderFactory(), +#endif nullptr, nullptr); }