Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(559)

Side by Side Diff: webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLRenderer.h

Issue 2784243003: iOS/MacOS:Refactor metal rendering by extracting common implementation (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2017 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #import <Foundation/Foundation.h> 11 #import <Foundation/Foundation.h>
12 #import <MetalKit/MTKView.h> 12 #if TARGET_OS_IPHONE
13 #import <UIKit/UIKit.h>
14 #else
15 #import <AppKit/AppKit.h>
16 #endif
13 17
14 #import "WebRTC/RTCVideoFrame.h" 18 #import "WebRTC/RTCVideoFrame.h"
15 19
20 NS_ASSUME_NONNULL_BEGIN
16 /** 21 /**
17 * Protocol defining ability to render RTCVideoFrame in Metal enabled views. 22 * Protocol defining ability to render RTCVideoFrame in Metal enabled views.
18 */ 23 */
19 @protocol RTCMTLRenderer <NSObject> 24 @protocol RTCMTLRenderer<NSObject>
20 25
21 /** 26 /**
22 * Method to be implemented to perform actual rendering of the provided frame. 27 * Method to be implemented to perform actual rendering of the provided frame.
23 * 28 *
24 * @param frame The frame to be rendered. 29 * @param frame The frame to be rendered.
25 */ 30 */
26 - (void)drawFrame:(RTCVideoFrame *)frame; 31 - (void)drawFrame:(RTCVideoFrame *)frame;
27 32
28 /** 33 /**
29 * Sets the provided view as rendering destination if possible. 34 * Sets the provided view as rendering destination if possible.
30 * 35 *
31 * If not possible method returns NO and callers of the method are responisble f or performing 36 * If not possible method returns NO and callers of the method are responisble f or performing
32 * cleanups. 37 * cleanups.
33 */ 38 */
39
40 #if TARGET_OS_IOS
34 - (BOOL)addRenderingDestination:(__kindof UIView *)view; 41 - (BOOL)addRenderingDestination:(__kindof UIView *)view;
42 #else
43 - (BOOL)addRenderingDestination:(__kindof NSView *)view;
44 #endif
35 45
36 @end 46 @end
37 47
38 /** 48 /**
39 * Implementation of RTCMTLRenderer protocol for rendering native nv12 video fra mes. 49 * Implementation of RTCMTLRenderer protocol for rendering native nv12 video fra mes.
40 */ 50 */
41 @interface RTCMTLNV12Renderer : NSObject <RTCMTLRenderer> 51 NS_AVAILABLE(10_11, 9_0)
52 @interface RTCMTLRenderer : NSObject<RTCMTLRenderer>
53 @end
42 54
43 @end 55 NS_ASSUME_NONNULL_END
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698