Metal rendering should account for cropping.

Also:
- added a rotation override to allow ignoring frame rotation
- fixed a couple of minor issues
- made it possible to run the MTKView without the DisplayLink

Bug: webrtc:9301
Change-Id: Ia83c152d9b6d45d56ceb80d287b5d3eacfaebddd
Reviewed-on: https://webrtc-review.googlesource.com/78282
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23452}
diff --git a/sdk/objc/Framework/Headers/WebRTC/RTCMTLVideoView.h b/sdk/objc/Framework/Headers/WebRTC/RTCMTLVideoView.h
index 266f2c2..4cf09c0 100644
--- a/sdk/objc/Framework/Headers/WebRTC/RTCMTLVideoView.h
+++ b/sdk/objc/Framework/Headers/WebRTC/RTCMTLVideoView.h
@@ -10,6 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
+#import "WebRTC/RTCVideoFrame.h"
 #import "WebRTC/RTCVideoRenderer.h"
 
 // Check if metal is supported in WebRTC.
@@ -35,7 +36,21 @@
 
 @property(nonatomic, weak) id<RTCVideoViewDelegate> delegate;
 
-- (void)setVideoContentMode:(UIViewContentMode)mode;
+@property(nonatomic) UIViewContentMode videoContentMode;
+
+/** @abstract Enables/disables rendering.
+ */
+@property(nonatomic, getter=isEnabled) BOOL enabled;
+
+/** @abstract   If YES, the backing MTKView will use a display link to issue
+   draw calls.
+    @discussion Default is YES.
+ */
+@property(nonatomic) BOOL useDisplayLink;
+
+/** @abstract Wrapped RTCVideoRotation, or nil.
+ */
+@property(nullable) NSValue* rotationOverride;
 
 @end