Index: webrtc/sdk/objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.h |
diff --git a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.h b/webrtc/sdk/objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b0c45887f06fbd34a032faf9229bbf995c4efd32 |
--- /dev/null |
+++ b/webrtc/sdk/objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.h |
@@ -0,0 +1,41 @@ |
+/* |
+ * Copyright 2017 The WebRTC project authors. All Rights Reserved. |
+ * |
+ * Use of this source code is governed by a BSD-style license |
+ * that can be found in the LICENSE file in the root of the source |
+ * tree. An additional intellectual property rights grant can be found |
+ * in the file PATENTS. All contributing project authors may |
+ * be found in the AUTHORS file in the root of the source tree. |
+ */ |
+ |
+#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_PEERCONNECTION_OBJC_VIDEO_ENCODER_FACTORY_H_ |
+#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_PEERCONNECTION_OBJC_VIDEO_ENCODER_FACTORY_H_ |
+ |
+#import <Foundation/Foundation.h> |
+ |
+#include "webrtc/media/engine/webrtcvideoencoderfactory.h" |
+ |
+@protocol RTCVideoEncoderFactory; |
+ |
+namespace webrtc { |
+ |
+class ObjCVideoEncoderFactory : public cricket::WebRtcVideoEncoderFactory { |
+ public: |
+ explicit ObjCVideoEncoderFactory(id<RTCVideoEncoderFactory>); |
+ ~ObjCVideoEncoderFactory(); |
+ |
+ id<RTCVideoEncoderFactory> wrapped_encoder_factory() const; |
+ |
+ webrtc::VideoEncoder* CreateVideoEncoder( |
+ const cricket::VideoCodec& codec) override; |
+ const std::vector<cricket::VideoCodec>& supported_codecs() const override; |
+ void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) override; |
+ |
+ private: |
+ id<RTCVideoEncoderFactory> encoder_factory_; |
+ mutable std::vector<cricket::VideoCodec> supported_codecs_; |
+}; |
+ |
+} // namespace webrtc |
+ |
+#endif // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_PEERCONNECTION_OBJC_VIDEO_ENCODER_FACTORY_H_ |