blob: f202b836b50ed46ee352e93a6b977c4b9b1a8a0a [file] [log] [blame]
Anders Carlsson7bca8ca2018-08-30 09:30:29 +02001/*
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
Mirko Bonadeia81e9c82020-05-04 16:14:32 +020013#import "base/RTCMacros.h"
14
15@class RTC_OBJC_TYPE(RTCVideoFrame);
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020016
17NS_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
Mirko Bonadeia81e9c82020-05-04 16:14:32 +020027- (BOOL)uploadFrameToTextures:(RTC_OBJC_TYPE(RTCVideoFrame) *)frame;
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020028
29- (void)releaseTextures;
30
31@end
32
33NS_ASSUME_NONNULL_END