diff --git a/webrtc/common_video/BUILD.gn b/webrtc/common_video/BUILD.gn index 6b7eb01400..d6005d0195 100644 --- a/webrtc/common_video/BUILD.gn +++ b/webrtc/common_video/BUILD.gn @@ -73,14 +73,6 @@ rtc_static_library("common_video") { # Need to add a directory normally exported by libyuv. include_dirs += [ "$rtc_libyuv_dir/include" ] } - - if (is_ios || is_mac) { - sources += [ - "corevideo_frame_buffer.cc", - "include/corevideo_frame_buffer.h", - ] - libs = [ "CoreVideo.framework" ] - } } if (rtc_include_tests) { diff --git a/webrtc/common_video/libyuv/include/webrtc_libyuv.h b/webrtc/common_video/libyuv/include/webrtc_libyuv.h index 74fb67c899..0924f68b4f 100644 --- a/webrtc/common_video/libyuv/include/webrtc_libyuv.h +++ b/webrtc/common_video/libyuv/include/webrtc_libyuv.h @@ -130,6 +130,8 @@ void NV12Scale(std::vector* tmp_buffer, // than separate NV12->I420 + I420->I420 scaling. class NV12ToI420Scaler { public: + NV12ToI420Scaler(); + ~NV12ToI420Scaler(); void NV12ToI420Scale(const uint8_t* src_y, int src_stride_y, const uint8_t* src_uv, int src_stride_uv, int src_width, int src_height, diff --git a/webrtc/common_video/libyuv/webrtc_libyuv.cc b/webrtc/common_video/libyuv/webrtc_libyuv.cc index 73664097cf..fd08029d1c 100644 --- a/webrtc/common_video/libyuv/webrtc_libyuv.cc +++ b/webrtc/common_video/libyuv/webrtc_libyuv.cc @@ -367,6 +367,9 @@ void NV12Scale(std::vector* tmp_buffer, dst_chroma_width, dst_chroma_height); } +NV12ToI420Scaler::NV12ToI420Scaler() = default; +NV12ToI420Scaler::~NV12ToI420Scaler() = default; + void NV12ToI420Scaler::NV12ToI420Scale( const uint8_t* src_y, int src_stride_y, const uint8_t* src_uv, int src_stride_uv, diff --git a/webrtc/sdk/BUILD.gn b/webrtc/sdk/BUILD.gn index 5596af09fc..fa44c48fb3 100644 --- a/webrtc/sdk/BUILD.gn +++ b/webrtc/sdk/BUILD.gn @@ -212,6 +212,7 @@ if (is_ios || is_mac) { ] deps = [ + ":rtc_sdk_corevideoframebuffer", ":webrtc_h264_video_toolbox", "../api:video_frame_api", "../base:rtc_base", @@ -425,6 +426,20 @@ if (is_ios || is_mac) { ] } + rtc_static_library("rtc_sdk_corevideoframebuffer") { + sources = [ + "objc/Framework/Classes/corevideo_frame_buffer.cc", + "objc/Framework/Classes/corevideo_frame_buffer.h", + ] + + deps = [ + "../base:rtc_base_approved", + "../common_video", + ] + + libs = [ "CoreVideo.framework" ] + } + rtc_static_library("webrtc_h264_video_toolbox") { sources = [ "objc/Framework/Classes/h264_video_toolbox_decoder.cc", @@ -439,6 +454,7 @@ if (is_ios || is_mac) { deps = [ ":rtc_sdk_common_objc", + ":rtc_sdk_corevideoframebuffer", "../api:video_frame_api", "../base:rtc_base_approved", "../common_video", diff --git a/webrtc/sdk/objc/DEPS b/webrtc/sdk/objc/DEPS index 46aeb8e029..dcb040e8d3 100644 --- a/webrtc/sdk/objc/DEPS +++ b/webrtc/sdk/objc/DEPS @@ -3,6 +3,7 @@ include_rules = [ "+webrtc/api", "+webrtc/common_video/h264", "+webrtc/common_video/include", + "+webrtc/common_video/libyuv/include", "+webrtc/media", "+webrtc/modules/video_coding", "+webrtc/pc", diff --git a/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm index a4eaefb853..ed6c288422 100644 --- a/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm +++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm @@ -10,7 +10,7 @@ #import "RTCVideoFrame+Private.h" -#include "webrtc/common_video/include/corevideo_frame_buffer.h" +#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h" @implementation RTCVideoFrame { rtc::scoped_refptr _videoBuffer; diff --git a/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm index 526cdbe455..1ebc441bb2 100644 --- a/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm +++ b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm @@ -23,7 +23,7 @@ #include "webrtc/base/checks.h" #include "webrtc/base/logging.h" #include "webrtc/base/thread.h" -#include "webrtc/common_video/include/corevideo_frame_buffer.h" +#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h" namespace webrtc { diff --git a/webrtc/common_video/corevideo_frame_buffer.cc b/webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.cc similarity index 98% rename from webrtc/common_video/corevideo_frame_buffer.cc rename to webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.cc index 6455ed18f0..b3c0f2f63a 100644 --- a/webrtc/common_video/corevideo_frame_buffer.cc +++ b/webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.cc @@ -8,7 +8,7 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "webrtc/common_video/include/corevideo_frame_buffer.h" +#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h" #include "libyuv/convert.h" #include "webrtc/base/checks.h" diff --git a/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.cc b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.cc index b42660b74a..a910066572 100644 --- a/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.cc +++ b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.cc @@ -20,7 +20,7 @@ #include "webrtc/api/video/video_frame.h" #include "webrtc/base/checks.h" #include "webrtc/base/logging.h" -#include "webrtc/common_video/include/corevideo_frame_buffer.h" +#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h" #include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu.h" #include "webrtc/video_frame.h" diff --git a/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm index bc46b35364..596a72777b 100644 --- a/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm +++ b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm @@ -23,7 +23,7 @@ #include "webrtc/base/checks.h" #include "webrtc/base/logging.h" #include "webrtc/common_video/h264/profile_level_id.h" -#include "webrtc/common_video/include/corevideo_frame_buffer.h" +#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h" #include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu.h" #include "webrtc/system_wrappers/include/clock.h" diff --git a/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm b/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm index 942171be29..deece20e9b 100644 --- a/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm +++ b/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm @@ -12,7 +12,7 @@ #import "RTCVideoFrame+Private.h" -#include "webrtc/common_video/include/corevideo_frame_buffer.h" +#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h" namespace webrtc {