Title: [228866] trunk/Source/WebCore
- Revision
- 228866
- Author
- [email protected]
- Date
- 2018-02-21 01:34:35 -0800 (Wed, 21 Feb 2018)
Log Message
[GStreamer] Create a Wayland GL display instead of EGL
https://bugs.webkit.org/show_bug.cgi?id=182968
Reviewed by Xabier Rodriguez-Calvar.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext):
Add logging and instantiate a GstDisplayWayland display instead of
an EGL display when running under a Wayland compositor.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (228865 => 228866)
--- trunk/Source/WebCore/ChangeLog 2018-02-21 08:34:52 UTC (rev 228865)
+++ trunk/Source/WebCore/ChangeLog 2018-02-21 09:34:35 UTC (rev 228866)
@@ -1,3 +1,15 @@
+2018-02-21 Philippe Normand <[email protected]>
+
+ [GStreamer] Create a Wayland GL display instead of EGL
+ https://bugs.webkit.org/show_bug.cgi?id=182968
+
+ Reviewed by Xabier Rodriguez-Calvar.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+ (WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext):
+ Add logging and instantiate a GstDisplayWayland display instead of
+ an EGL display when running under a Wayland compositor.
+
2018-02-21 Zalan Bujtas <[email protected]>
[RenderTreeBuilder] Move RenderFullScreen::willBeRemoved() mutation logic to RenderTreeBuilder
Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (228865 => 228866)
--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp 2018-02-21 08:34:52 UTC (rev 228865)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp 2018-02-21 09:34:35 UTC (rev 228866)
@@ -93,6 +93,7 @@
#if PLATFORM(WAYLAND)
#include "PlatformDisplayWayland.h"
+#include <gst/gl/wayland/gstgldisplay_wayland.h>
#elif PLATFORM(WPE)
#include "PlatformDisplayWPE.h"
#endif
@@ -436,24 +437,32 @@
return true;
auto& sharedDisplay = PlatformDisplay::sharedDisplayForCompositing();
+
if (!m_glDisplay) {
#if PLATFORM(X11)
#if USE(GLX)
- if (is<PlatformDisplayX11>(sharedDisplay))
+ if (is<PlatformDisplayX11>(sharedDisplay)) {
+ GST_DEBUG("Creating X11 shared GL display");
m_glDisplay = GST_GL_DISPLAY(gst_gl_display_x11_new_with_display(downcast<PlatformDisplayX11>(sharedDisplay).native()));
+ }
#elif USE(EGL)
- if (is<PlatformDisplayX11>(sharedDisplay))
+ if (is<PlatformDisplayX11>(sharedDisplay)) {
+ GST_DEBUG("Creating X11 shared EGL display");
m_glDisplay = GST_GL_DISPLAY(gst_gl_display_egl_new_with_egl_display(downcast<PlatformDisplayX11>(sharedDisplay).eglDisplay()));
+ }
#endif
#endif
#if PLATFORM(WAYLAND)
- if (is<PlatformDisplayWayland>(sharedDisplay))
- m_glDisplay = GST_GL_DISPLAY(gst_gl_display_egl_new_with_egl_display(downcast<PlatformDisplayWayland>(sharedDisplay).eglDisplay()));
+ if (is<PlatformDisplayWayland>(sharedDisplay)) {
+ GST_DEBUG("Creating Wayland shared display");
+ m_glDisplay = GST_GL_DISPLAY(gst_gl_display_wayland_new_with_display(downcast<PlatformDisplayWayland>(sharedDisplay).native()));
+ }
#endif
#if PLATFORM(WPE)
ASSERT(is<PlatformDisplayWPE>(sharedDisplay));
+ GST_DEBUG("Creating WPE shared EGL display");
m_glDisplay = GST_GL_DISPLAY(gst_gl_display_egl_new_with_egl_display(downcast<PlatformDisplayWPE>(sharedDisplay).eglDisplay()));
#endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes