Create experimental Obj-C++ API.
This can be used to wrap Objective-C components in C++ classes, so users
can use the WebRTC C++ API directly together with the iOS specific
components provided by our SDK.
Bug: webrtc:8832
Change-Id: I6d34f7ec62d51df8d3a5340a2e17d30ae73e13e8
Reviewed-on: https://webrtc-review.googlesource.com/46162
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21850}
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index fe5414f..aca5903 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -462,6 +462,7 @@
"../../modules:module_api",
"../../rtc_base:rtc_base_approved",
"../../sdk:common_objc",
+ "../../sdk:native_api",
"../../sdk:peerconnection_objc",
"../../sdk:peerconnectionfactory_objc",
"../../sdk:videotoolbox_objc",
diff --git a/modules/video_coding/codecs/test/objc_codec_h264_test.mm b/modules/video_coding/codecs/test/objc_codec_h264_test.mm
index 74ba84a..ed3fb4d 100644
--- a/modules/video_coding/codecs/test/objc_codec_h264_test.mm
+++ b/modules/video_coding/codecs/test/objc_codec_h264_test.mm
@@ -11,18 +11,17 @@
#include "modules/video_coding/codecs/test/objc_codec_h264_test.h"
#import "WebRTC/RTCVideoCodecH264.h"
-#include "rtc_base/ptr_util.h"
-#include "sdk/objc/Framework/Classes/VideoToolbox/objc_video_decoder_factory.h"
-#include "sdk/objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.h"
+#include "sdk/objc/Framework/Native/api/video_decoder_factory.h"
+#include "sdk/objc/Framework/Native/api/video_encoder_factory.h"
namespace webrtc {
std::unique_ptr<VideoEncoderFactory> CreateObjCEncoderFactory() {
- return rtc::MakeUnique<ObjCVideoEncoderFactory>([[RTCVideoEncoderFactoryH264 alloc] init]);
+ return ObjCToNativeVideoEncoderFactory([[RTCVideoEncoderFactoryH264 alloc] init]);
}
std::unique_ptr<VideoDecoderFactory> CreateObjCDecoderFactory() {
- return rtc::MakeUnique<ObjCVideoDecoderFactory>([[RTCVideoDecoderFactoryH264 alloc] init]);
+ return ObjCToNativeVideoDecoderFactory([[RTCVideoDecoderFactoryH264 alloc] init]);
}
} // namespace webrtc