[Webkit-unassigned] [Bug 159928] [GStreamer] Support a direct GPU-to-GPU copy of video textures to WebGL

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Sep 20 02:58:16 PDT 2016


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

--- Comment #11 from Miguel Gomez <magomez at igalia.com> ---
Comment on attachment 288829
  --> https://bugs.webkit.org/attachment.cgi?id=288829
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=288829&action=review

Sorry for taking so long, I've been quite busy.
The approach is fine, just a couple of suggested improvements.

> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:683
>      if (m_usingFallbackVideoSink)

This check should be at the beginning of nativeImageForCurrentTime() and copyVideoTextureToPlatformTexture(). We can save some useless operations if we are not using opengl.

> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:755
> +    GLContext* glContext = GLContext::sharingContext();

You'll need to change this with GLContext* context = PlatformDisplay::sharedDisplayForCompositing().sharingGLContext();

> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:756
> +    glContext->makeContextCurrent();

No need to make the sharing context current here, as context->bindTexture() below will change it again. Cairo will make it current when needed.

> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:775
> +    if (!paintToCairoSurface(outputSurface))

Pass the cairo device and the videoInfo to paintToCairoSurface()

> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:793
> +    GLContext* context = GLContext::sharingContext();

You'll need to change this with GLContext* context = PlatformDisplay::sharedDisplayForCompositing().sharingGLContext();

> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:804
> +    if (!paintToCairoSurface(rotatedSurface))

Pass the cairo device and the videoInfo to paintToCairoSurface()

-- 
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/20160920/1a267812/attachment-0001.html>


More information about the webkit-unassigned mailing list