RESOLVED FIXED 184281
RealtimeOutgoingVideoSourceMac should pass a ObjCFrameBuffer buffer
https://bugs.webkit.org/show_bug.cgi?id=184281
Summary RealtimeOutgoingVideoSourceMac should pass a ObjCFrameBuffer buffer
youenn fablet
Reported 2018-04-03 16:01:15 PDT
RealtimeOutgoingVideoSourceMac should pass a ObjCFrameBuffer buffer
Attachments
Patch (7.13 KB, patch)
2018-04-03 16:11 PDT, youenn fablet
no flags
Patch (8.08 KB, patch)
2018-04-03 16:29 PDT, youenn fablet
no flags
youenn fablet
Comment 1 2018-04-03 16:04:28 PDT
youenn fablet
Comment 2 2018-04-03 16:11:08 PDT
youenn fablet
Comment 3 2018-04-03 16:29:19 PDT
youenn fablet
Comment 4 2018-04-03 16:30:44 PDT
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.
WebKit Commit Bot
Comment 5 2018-04-03 17:44:29 PDT
Comment on attachment 337129 [details] Patch Clearing flags on attachment: 337129 Committed r230227: <https://trac.webkit.org/changeset/230227>
WebKit Commit Bot
Comment 6 2018-04-03 17:44:30 PDT
All reviewed patches have been landed. Closing bug.
youenn fablet
Comment 7 2018-04-04 08:40:14 PDT
(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
Jeremy Jones
Comment 8 2018-04-04 11:29:09 PDT
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.
Note You need to log in before you can comment on or make changes to this bug.