[Webkit-unassigned] [Bug 191998] New: [GTK] -DENABLE_VIDEO=ON -DENABLE_OPENGL=OFF still tries to build GstreamerGL
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Nov 27 00:08:01 PST 2018
https://bugs.webkit.org/show_bug.cgi?id=191998
Bug ID: 191998
Summary: [GTK] -DENABLE_VIDEO=ON -DENABLE_OPENGL=OFF still
tries to build GstreamerGL
Product: WebKit
Version: WebKit Local Build
Hardware: PC
OS: Linux
Status: NEW
Keywords: Gtk
Severity: Normal
Priority: P3
Component: WebKit Gtk
Assignee: webkit-unassigned at lists.webkit.org
Reporter: leio at gentoo.org
CC: bugs-noreply at webkitgtk.org
It appears that if trying to build with gstreamer but without GL, GstreamerGL is still somehow enabled (despite apparent efforts in the build system to conditionalize GstreamerGL on GL), leading to build failures:
-o Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp.o -c /var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
In file included from /usr/include/glib-2.0/gobject/gobject.h:24,
from /usr/include/glib-2.0/gobject/gbinding.h:29,
from /usr/include/glib-2.0/glib-object.h:23,
from /usr/include/gstreamer-1.0/gst/gstenumtypes.h:7,
from /usr/include/gstreamer-1.0/gst/gst.h:31,
from /var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h:24,
from /var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h:24,
from /var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:28,
from /var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:26:
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: In member function ‘bool WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext()’:
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:527:144: error: ‘WTF::match_constness<WebCore::PlatformDisplay, WebCore::PlatformDisplayWayland>::type’ {aka ‘class WebCore::PlatformDisplayWayland’} has no member named ‘eglDisplay’; did you mean ‘m_display’?
m_glDisplay = adoptGRef(GST_GL_DISPLAY(gst_gl_display_egl_new_with_egl_display(downcast<PlatformDisplayWayland>(sharedDisplay).eglDisplay())));
^~~~~~~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:527:56: error: ‘gst_gl_display_egl_new_with_egl_display’ was not declared in this scope
m_glDisplay = adoptGRef(GST_GL_DISPLAY(gst_gl_display_egl_new_with_egl_display(downcast<PlatformDisplayWayland>(sharedDisplay).eglDisplay())));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:527:56: note: suggested alternative: ‘gst_gl_display_get_gl_api’
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:529:134: error: ‘WTF::match_constness<WebCore::PlatformDisplay, WebCore::PlatformDisplayWayland>::type’ {aka ‘class WebCore::PlatformDisplayWayland’} has no member named ‘eglDisplay’; did you mean ‘m_display’?
m_glDisplay = GST_GL_DISPLAY(gst_gl_display_egl_new_with_egl_display(downcast<PlatformDisplayWayland>(sharedDisplay).eglDisplay()));
^~~~~~~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:529:46: error: ‘gst_gl_display_egl_new_with_egl_display’ was not declared in this scope
m_glDisplay = GST_GL_DISPLAY(gst_gl_display_egl_new_with_egl_display(downcast<PlatformDisplayWayland>(sharedDisplay).eglDisplay()));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:529:46: note: suggested alternative: ‘gst_gl_display_get_gl_api’
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:545:46: error: ‘class WebCore::PlatformDisplay’ has no member named ‘sharingGLContext’
GLContext* webkitContext = sharedDisplay.sharingGLContext();
^~~~~~~~~~~~~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:557:62: error: ‘class WebCore::GLContext’ has no member named ‘platformContext’; did you mean ‘_vptr.GLContext’?
PlatformGraphicsContext3D contextHandle = webkitContext->platformContext();
^~~~~~~~~~~~~~~
_vptr.GLContext
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:562:134: error: ‘glAPI’ was not declared in this scope
m_glContext = adoptGRef(gst_gl_context_new_wrapped(m_glDisplay.get(), reinterpret_cast<guintptr>(contextHandle), glPlatform, glAPI));
^~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:562:134: note: suggested alternative: ‘GLAPI’
m_glContext = adoptGRef(gst_gl_context_new_wrapped(m_glDisplay.get(), reinterpret_cast<guintptr>(contextHandle), glPlatform, glAPI));
^~~~~
GLAPI
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:564:124: error: ‘glAPI’ was not declared in this scope
m_glContext = gst_gl_context_new_wrapped(m_glDisplay.get(), reinterpret_cast<guintptr>(contextHandle), glPlatform, glAPI);
^~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:564:124: note: suggested alternative: ‘GLAPI’
m_glContext = gst_gl_context_new_wrapped(m_glDisplay.get(), reinterpret_cast<guintptr>(contextHandle), glPlatform, glAPI);
^~~~~
GLAPI
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: In member function ‘void WebCore::MediaPlayerPrivateGStreamerBase::flushCurrentBuffer()’:
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:930:12: error: ‘TextureMapperPlatformLayerProxy’ has not been declared
[](TextureMapperPlatformLayerProxy& proxy)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: In lambda function:
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:932:37: error: request for member ‘lock’ in ‘proxy’, which is of non-class type ‘int’
LockHolder locker(proxy.lock());
^~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:934:23: error: request for member ‘isActive’ in ‘proxy’, which is of non-class type ‘int’
if (proxy.isActive())
^~~~~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:935:23: error: request for member ‘dropCurrentBufferWhilePreservingTexture’ in ‘proxy’, which is of non-class type ‘int’
proxy.dropCurrentBufferWhilePreservingTexture();
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: In member function ‘void WebCore::MediaPlayerPrivateGStreamerBase::flushCurrentBuffer()’:
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:941:21: error: ‘m_platformLayerProxy’ was not declared in this scope
proxyOperation(*m_platformLayerProxy);
^~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:941:21: note: suggested alternative: ‘platformLayer’
proxyOperation(*m_platformLayerProxy);
^~~~~~~~~~~~~~~~~~~~
platformLayer
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: In member function ‘virtual bool WebCore::MediaPlayerPrivateGStreamerBase::copyVideoTextureToPlatformTexture(WebCore::GraphicsContext3D*, Platform3DObject, GC3Denum, GC3Dint, GC3Denum, GC3Denum, GC3Denum, bool, bool)’:
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:990:21: error: ‘GstVideoFrameHolder’ was not declared in this scope
std::unique_ptr<GstVideoFrameHolder> frameHolder = std::make_unique<GstVideoFrameHolder>(m_sample.get(), texMapFlagFromOrientation(m_videoSourceOrientation), true);
^~~~~~~~~~~~~~~~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:990:21: note: suggested alternative: ‘GstVideoFrameFlags’
std::unique_ptr<GstVideoFrameHolder> frameHolder = std::make_unique<GstVideoFrameHolder>(m_sample.get(), texMapFlagFromOrientation(m_videoSourceOrientation), true);
^~~~~~~~~~~~~~~~~~~
GstVideoFrameFlags
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:990:40: error: template argument 1 is invalid
std::unique_ptr<GstVideoFrameHolder> frameHolder = std::make_unique<GstVideoFrameHolder>(m_sample.get(), texMapFlagFromOrientation(m_videoSourceOrientation), true);
^
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:990:40: error: template argument 2 is invalid
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:990:110: error: ‘texMapFlagFromOrientation’ was not declared in this scope
std::unique_ptr<GstVideoFrameHolder> frameHolder = std::make_unique<GstVideoFrameHolder>(m_sample.get(), texMapFlagFromOrientation(m_videoSourceOrientation), true);
^~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:990:110: note: suggested alternative: ‘DefaultImageOrientation’
std::unique_ptr<GstVideoFrameHolder> frameHolder = std::make_unique<GstVideoFrameHolder>(m_sample.get(), texMapFlagFromOrientation(m_videoSourceOrientation), true);
^~~~~~~~~~~~~~~~~~~~~~~~~
DefaultImageOrientation
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:992:33: error: base operand of ‘->’ is not a pointer
auto textureID = frameHolder->textureID();
^~
/var/tmp/portage/net-libs/webkit-gtk-2.22.4/work/webkitgtk-2.22.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:996:28: error: base operand of ‘->’ is not a pointer
auto size = frameHolder->size();
^~
There's a
if (DEFINED ENABLE_OPENGL)
WEBKIT_OPTION_DEPEND(USE_GSTREAMER_GL ENABLE_OPENGL)
endif ()
but this part appears to still fail.
I happened to be building with EGL still enabled (with GL disabled), so it's not from EGL being disabling, either.
Though maybe there are some missing checks about EGL too, if it's needed for window creation for gstreamer code; I believe lack of EGL currently only errors out for when wayland and/or gles2 are enabled, but might be mistaken.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20181127/6f75a9a0/attachment-0001.html>
More information about the webkit-unassigned
mailing list