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