Fix rendering tests of RTCMTLVideoViewTests to work as expected
In https://webrtc-review.googlesource.com/c/src/+/244420, I added sanity check of RTCVideoFrame in RTCMTLVideoView, but I forgot to modify the related tests. Fix this by adding the appropriate property stubs to RTCVideoFrame stubs created in RTCMTLVideoViewTests. Bug: webrtc:13990, webrtc:13490 Change-Id: I21f0f75cd052e4255e1eee5f39ffdd50c2f8e61b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260420 Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org> Reviewed-by: Jeremy Leconte <jleconte@google.com> Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com> Cr-Commit-Position: refs/heads/main@{#36714}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
e8aa4155a3
commit
d7de6e5ea4
@ -21,6 +21,9 @@
|
||||
#import "components/renderer/metal/RTCMTLNV12Renderer.h"
|
||||
#import "components/video_frame_buffer/RTCCVPixelBuffer.h"
|
||||
|
||||
static size_t kBufferWidth = 200;
|
||||
static size_t kBufferHeight = 200;
|
||||
|
||||
// Extension of RTC_OBJC_TYPE(RTCMTLVideoView) for testing purposes.
|
||||
@interface RTC_OBJC_TYPE (RTCMTLVideoView)
|
||||
(Testing)
|
||||
@ -68,14 +71,21 @@
|
||||
id frameMock = OCMClassMock([RTC_OBJC_TYPE(RTCVideoFrame) class]);
|
||||
if (hasCVPixelBuffer) {
|
||||
CVPixelBufferRef pixelBufferRef;
|
||||
CVPixelBufferCreate(
|
||||
kCFAllocatorDefault, 200, 200, kCVPixelFormatType_420YpCbCr8Planar, nil, &pixelBufferRef);
|
||||
CVPixelBufferCreate(kCFAllocatorDefault,
|
||||
kBufferWidth,
|
||||
kBufferHeight,
|
||||
kCVPixelFormatType_420YpCbCr8Planar,
|
||||
nil,
|
||||
&pixelBufferRef);
|
||||
OCMStub([frameMock buffer])
|
||||
.andReturn([[RTC_OBJC_TYPE(RTCCVPixelBuffer) alloc] initWithPixelBuffer:pixelBufferRef]);
|
||||
} else {
|
||||
OCMStub([frameMock buffer])
|
||||
.andReturn([[RTC_OBJC_TYPE(RTCI420Buffer) alloc] initWithWidth:200 height:200]);
|
||||
.andReturn([[RTC_OBJC_TYPE(RTCI420Buffer) alloc] initWithWidth:kBufferWidth
|
||||
height:kBufferHeight]);
|
||||
}
|
||||
OCMStub([((RTC_OBJC_TYPE(RTCVideoFrame) *)frameMock) width]).andReturn(kBufferWidth);
|
||||
OCMStub([((RTC_OBJC_TYPE(RTCVideoFrame) *)frameMock) height]).andReturn(kBufferHeight);
|
||||
OCMStub([frameMock timeStampNs]).andReturn(arc4random_uniform(INT_MAX));
|
||||
return frameMock;
|
||||
}
|
||||
@ -131,8 +141,6 @@
|
||||
[self.classMock verify];
|
||||
}
|
||||
|
||||
// TODO(crbug.com/webrtc/13990): method was not invoked: drawFrame.
|
||||
#if !TARGET_IPHONE_SIMULATOR
|
||||
- (void)testRTCVideoRenderFrameCallbackI420 {
|
||||
// given
|
||||
OCMStub([self.classMock isMetalAvailable]).andReturn(YES);
|
||||
@ -257,7 +265,6 @@
|
||||
|
||||
[self.rendererNV12Mock verify];
|
||||
}
|
||||
#endif
|
||||
|
||||
- (void)testReportsSizeChangesToDelegate {
|
||||
OCMStub([self.classMock isMetalAvailable]).andReturn(YES);
|
||||
|
||||
Reference in New Issue
Block a user