RTCNV12TextureCache.h 920 B

123456789101112131415161718192021222324252627282930313233
  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. #import <GLKit/GLKit.h>
  11. #import "base/RTCMacros.h"
  12. @class RTC_OBJC_TYPE(RTCVideoFrame);
  13. NS_ASSUME_NONNULL_BEGIN
  14. @interface RTCNV12TextureCache : NSObject
  15. @property(nonatomic, readonly) GLuint yTexture;
  16. @property(nonatomic, readonly) GLuint uvTexture;
  17. - (instancetype)init NS_UNAVAILABLE;
  18. - (nullable instancetype)initWithContext:(EAGLContext *)context NS_DESIGNATED_INITIALIZER;
  19. - (BOOL)uploadFrameToTextures:(RTC_OBJC_TYPE(RTCVideoFrame) *)frame;
  20. - (void)releaseTextures;
  21. @end
  22. NS_ASSUME_NONNULL_END