Index: webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMTLRenderer.h |
diff --git a/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMTLRenderer.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMTLRenderer.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a0b55f5f4bf504ac702a53af3d319187b0d4b07a |
--- /dev/null |
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMTLRenderer.h |
@@ -0,0 +1,37 @@ |
+/* |
+ * Copyright 2016 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. |
+ */ |
+ |
+#import <Foundation/Foundation.h> |
+#import "WebRTC/RTCVideoRenderer.h" |
+ |
+@class MTKView; |
+ |
+NS_ASSUME_NONNULL_BEGIN |
+RTC_EXPORT |
+/** |
+ * Render class that uses Metal to render RTCVideoFrame in an instance of MTKView. |
+ */ |
+@protocol RTCMTLRenderer<RTCVideoRenderer> |
+ |
+- (instancetype)initWithView:(__weak __kindof MTKView *)view; |
+ |
+/** |
+ * Sets up the renderer. |
+ * |
+ * If the method returns NO it signifies the renderer is unable to perform proper setup and |
+ * it's responsibility of the caller to perform all necessary clean up after this point. |
+ * Unexpexted behavior can happen if the cleanup doesn't happen and the renderer continues |
+ * accepting RTCVideoRenderer callbacks. |
+ */ |
+- (BOOL)setup; |
+ |
+@end |
+ |
+NS_ASSUME_NONNULL_END |