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

Unified Diff: webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLVideoView.m

Issue 2711003004: Revert of Add metal view, shaders and renderer. (Closed)
Patch Set: Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLVideoView.m
diff --git a/webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLVideoView.m b/webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLVideoView.m
deleted file mode 100644
index 2a18736b25071bba0b2636b9b2bc975295e47dc3..0000000000000000000000000000000000000000
--- a/webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLVideoView.m
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright 2017 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 "WebRTC/RTCMTLVideoView.h"
-
-#import <Metal/Metal.h>
-#import <MetalKit/MetalKit.h>
-
-#import "WebRTC/RTCLogging.h"
-#import "WebRTC/RTCVideoFrame.h"
-
-#import "RTCMTLNV12Renderer.h"
-
-@interface RTCMTLVideoView () <MTKViewDelegate>
-@property(nonatomic, strong) id<RTCMTLRenderer> renderer;
-@property(nonatomic, strong) MTKView *metalView;
-@property(atomic, strong) RTCVideoFrame *videoFrame;
-@end
-
-@implementation RTCMTLVideoView {
- id<RTCMTLRenderer> _renderer;
-}
-
-@synthesize renderer = _renderer;
-@synthesize metalView = _metalView;
-@synthesize videoFrame = _videoFrame;
-
-- (instancetype)initWithFrame:(CGRect)frameRect {
- self = [super initWithFrame:frameRect];
- if (self) {
- [self configure];
- }
- return self;
-}
-
-- (instancetype)initWithCoder:(NSCoder *)aCoder {
- self = [super initWithCoder:aCoder];
- if (self) {
- [self configure];
- }
- return self;
-}
-
-#pragma mark - Private
-
-+ (BOOL)isMetalAvailable {
-#if defined(__OBJC__) && COREVIDEO_SUPPORTS_METAL
- return YES;
-#elif
- return NO;
-#endif
-}
-
-- (void)configure {
- if ([RTCMTLVideoView isMetalAvailable]) {
- _metalView = [[MTKView alloc] initWithFrame:self.bounds];
- [self addSubview:_metalView];
- _metalView.delegate = self;
- _metalView.contentMode = UIViewContentModeScaleAspectFit;
- _metalView.translatesAutoresizingMaskIntoConstraints = NO;
- UILayoutGuide *margins = self.layoutMarginsGuide;
- [_metalView.topAnchor constraintEqualToAnchor:margins.topAnchor].active = YES;
- [_metalView.bottomAnchor constraintEqualToAnchor:margins.bottomAnchor].active = YES;
- [_metalView.leftAnchor constraintEqualToAnchor:margins.leftAnchor].active = YES;
- [_metalView.rightAnchor constraintEqualToAnchor:margins.rightAnchor].active = YES;
-
- _renderer = [[RTCMTLNV12Renderer alloc] init];
- if (![(RTCMTLNV12Renderer *)_renderer addRenderingDestination:_metalView]) {
- _renderer = nil;
- };
- } else {
- RTCLogError("Metal configuration falied.");
- }
-}
-#pragma mark - MTKViewDelegate methods
-
-- (void)drawInMTKView:(nonnull MTKView *)view {
- NSAssert(view == self.metalView, @"Receiving draw callbacks from foreign instance.");
- [_renderer drawFrame:self.videoFrame];
-}
-
-- (void)mtkView:(MTKView *)view drawableSizeWillChange:(CGSize)size {
-}
-
-#pragma mark - RTCVideoRenderer
-
-- (void)setSize:(CGSize)size {
- _metalView.drawableSize = size;
- [_metalView draw];
-}
-
-- (void)renderFrame:(nullable RTCVideoFrame *)frame {
- if (frame == nil) {
- RTCLogInfo(@"Incoming frame is nil. Exiting render callback.");
- return;
- }
- self.videoFrame = frame;
-}
-
-@end

Powered by Google App Engine
This is Rietveld 408576698