[Webkit-unassigned] [Bug 159405] [GTK] Painting a video into a canvas doesn't work when accelerated compositing is enabled

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jul 7 00:39:48 PDT 2016


https://bugs.webkit.org/show_bug.cgi?id=159405

--- Comment #19 from Miguel Gomez <magomez at igalia.com> ---
(In reply to comment #18)
> Comment on attachment 282885 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=282885&action=review
> 
> > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:733
> > +    // Ensure that we destroy the surface before unmapping the video frame.
> > +    surface.release();
> 
> release() leaks the surface, it doesn't destroy it. What you want is
> 
> surface = nullptr;

Ooops

> but I'm not sure this is enough, though. I don't know why it's needed to
> destroy the surface before unmapping the frame, but the cairo context owns a
> reference to the surface , so even if you clear the smart pointer the
> surface will still be alive.

I wanna destroy the surface created from the video frame texture before the frame unmapping because once the frame is unmapped that texture can be freed/reused by the gstreamer bin.
Curiously this isn't checked in the current code, just returning the video frame surface. I wonder if I'm being too careful.
Ok, I'll keep it as in the original code, where the surface is not destroyed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160707/f06de48c/attachment-0001.html>


More information about the webkit-unassigned mailing list