diff --git a/sdk/objc/Framework/Classes/Metal/RTCMTLVideoView.m b/sdk/objc/Framework/Classes/Metal/RTCMTLVideoView.m index eff06af81e..dde626645a 100644 --- a/sdk/objc/Framework/Classes/Metal/RTCMTLVideoView.m +++ b/sdk/objc/Framework/Classes/Metal/RTCMTLVideoView.m @@ -97,6 +97,10 @@ } } +- (void)setVideoContentMode:(UIViewContentMode)mode { + _metalView.contentMode = mode; +} + #pragma mark - Private - (void)layoutSubviews { diff --git a/sdk/objc/Framework/Headers/WebRTC/RTCMTLVideoView.h b/sdk/objc/Framework/Headers/WebRTC/RTCMTLVideoView.h index 802e0ff325..266f2c223f 100644 --- a/sdk/objc/Framework/Headers/WebRTC/RTCMTLVideoView.h +++ b/sdk/objc/Framework/Headers/WebRTC/RTCMTLVideoView.h @@ -32,7 +32,11 @@ NS_CLASS_AVAILABLE_IOS(9) RTC_EXPORT @interface RTCMTLVideoView : UIView + @property(nonatomic, weak) id delegate; + +- (void)setVideoContentMode:(UIViewContentMode)mode; + @end NS_ASSUME_NONNULL_END diff --git a/sdk/objc/Framework/UnitTests/RTCMTLVideoView_xctest.m b/sdk/objc/Framework/UnitTests/RTCMTLVideoView_xctest.m index a832173b2a..e7168a6605 100644 --- a/sdk/objc/Framework/UnitTests/RTCMTLVideoView_xctest.m +++ b/sdk/objc/Framework/UnitTests/RTCMTLVideoView_xctest.m @@ -11,6 +11,7 @@ #import #import +#import #import #include @@ -258,4 +259,17 @@ OCMVerifyAllWithDelay(delegateMock, 1); } +- (void)testSetContentMode { + OCMStub([self.classMock isMetalAvailable]).andReturn(YES); + id metalKitView = OCMClassMock([MTKView class]); + [[[[self.classMock stub] ignoringNonObjectArgs] andReturn:metalKitView] + createMetalView:CGRectZero]; + OCMExpect([metalKitView setContentMode:UIViewContentModeScaleAspectFill]); + + RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] init]; + [realView setVideoContentMode:UIViewContentModeScaleAspectFill]; + + OCMVerify(metalKitView); +} + @end