RealtimeOutgoingVideoSourceMac should pass a ObjCFrameBuffer buffer
<rdar://problem/39153262>
Created attachment 337124 [details] Patch
Created attachment 337129 [details] Patch
A follow-up should make getUserMedia mock produce kCVPixelFormatType_420YpCbCr8Planar That way, we would catch this issue in bots. And we can continue covering ARGB cases with captureCanvas.
Comment on attachment 337129 [details] Patch Clearing flags on attachment: 337129 Committed r230227: <https://trac.webkit.org/changeset/230227>
All reviewed patches have been landed. Closing bug.
(In reply to youenn fablet from comment #4) > A follow-up should make getUserMedia mock produce > kCVPixelFormatType_420YpCbCr8Planar > That way, we would catch this issue in bots. > And we can continue covering ARGB cases with captureCanvas. Filed bug 184304 as a follow-up
Comment on attachment 337129 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=337129&action=review > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitUtilities.mm:123 > + return new rtc::RefCountedObject<webrtc::ObjCFrameBuffer>(frameBuffer); As-is, ObjCFrameBuffer() has semantics like adoptNS, but is not annotated as such. This will cause problems if arc is enabled. The parameter to ObjCFrameBuffer() should be annotated with NS_RELEASES_ARGUMENT. The other option is to release or autorelease frameBuffer here, and retain it in ObjCFrameBuffer(). > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/Video/objc_frame_buffer.mm:51 > : frame_buffer_(frame_buffer), width_(frame_buffer.width), height_(frame_buffer.height) {} This should either add the annotation NS_RELEASES_ARGUMENT to frame_buffer parameter, or [frame_buffer retain] in the body.