1 /*
2  *  Copyright 2017 The WebRTC project authors. All Rights Reserved.
3  *
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
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 #import <GLKit/GLKit.h>
12 
13 #import "base/RTCMacros.h"
14 
15 @class RTC_OBJC_TYPE(RTCVideoFrame);
16 
17 NS_ASSUME_NONNULL_BEGIN
18 
19 @interface RTCNV12TextureCache : NSObject
20 
21 @property(nonatomic, readonly) GLuint yTexture;
22 @property(nonatomic, readonly) GLuint uvTexture;
23 
24 - (instancetype)init NS_UNAVAILABLE;
25 - (nullable instancetype)initWithContext:(EAGLContext *)context NS_DESIGNATED_INITIALIZER;
26 
27 - (BOOL)uploadFrameToTextures:(RTC_OBJC_TYPE(RTCVideoFrame) *)frame;
28 
29 - (void)releaseTextures;
30 
31 @end
32 
33 NS_ASSUME_NONNULL_END
34