diff --git a/sdk/objc/components/renderer/metal/RTCMTLI420Renderer.mm b/sdk/objc/components/renderer/metal/RTCMTLI420Renderer.mm index f4c76fa313..eba8800240 100644 --- a/sdk/objc/components/renderer/metal/RTCMTLI420Renderer.mm +++ b/sdk/objc/components/renderer/metal/RTCMTLI420Renderer.mm @@ -116,6 +116,13 @@ static NSString *const shaderSource = MTL_STRINGIFY( return NO; } + // Chroma size must be >= 1 as per the Apple documentation, so skip ?x1 + // and 1x? frames. + // See: https://bugs.chromium.org/p/webrtc/issues/detail?id=14892 + if (frame.width < 2 || frame.height < 2) { + return NO; + } + id buffer = [frame.buffer toI420]; // Luma (y) texture.