diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpewebkit/wpewebkit/0001-Use-imxvideoconvert_g2d-plugin-in-gstreamer-pipeline.patch b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpewebkit/wpewebkit/0001-Use-imxvideoconvert_g2d-plugin-in-gstreamer-pipeline.patch new file mode 100644 index 000000000..dc726fe46 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpewebkit/wpewebkit/0001-Use-imxvideoconvert_g2d-plugin-in-gstreamer-pipeline.patch @@ -0,0 +1,42 @@ +From: Gabriel Valcazar +Date: Wed, 21 Oct 2020 17:14:43 +0200 +Subject: [PATCH] Use imxvideoconvert_g2d plugin in gstreamer pipeline + +This element is necessary to view videos correctly on the i.MX8X + +Signed-off-by: Gabriel Valcazar +--- + .../platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp +index 8d8f3822..3e047ebb 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp ++++ b/Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp +@@ -93,11 +93,13 @@ static void webKitGLVideoSinkConstructed(GObject* object) + ASSERT(sink->priv->appSink); + g_object_set(sink->priv->appSink.get(), "enable-last-sample", FALSE, "emit-signals", TRUE, "max-buffers", 1, nullptr); + ++ GstElement* imxconvert = gst_element_factory_make("imxvideoconvert_g2d", nullptr); ++ GstElement* queue = gst_element_factory_make("queue", nullptr); + GstElement* upload = gst_element_factory_make("glupload", nullptr); + GstElement* colorconvert = gst_element_factory_make("glcolorconvert", nullptr); + ASSERT(upload); + ASSERT(colorconvert); +- gst_bin_add_many(GST_BIN_CAST(sink), upload, colorconvert, sink->priv->appSink.get(), nullptr); ++ gst_bin_add_many(GST_BIN_CAST(sink), imxconvert, queue, upload, colorconvert, sink->priv->appSink.get(), nullptr); + + // Workaround until we can depend on GStreamer 1.16.2. + // https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/commit/8d32de090554cf29fe359f83aa46000ba658a693 +@@ -121,9 +123,9 @@ static void webKitGLVideoSinkConstructed(GObject* object) + gst_caps_set_features(caps.get(), 0, gst_caps_features_new(GST_CAPS_FEATURE_MEMORY_GL_MEMORY, nullptr)); + g_object_set(sink->priv->appSink.get(), "caps", caps.get(), nullptr); + +- gst_element_link_many(upload, colorconvert, sink->priv->appSink.get(), nullptr); ++ gst_element_link_many(imxconvert, queue, upload, colorconvert, sink->priv->appSink.get(), nullptr); + +- GRefPtr pad = adoptGRef(gst_element_get_static_pad(upload, "sink")); ++ GRefPtr pad = adoptGRef(gst_element_get_static_pad(imxconvert, "sink")); + gst_element_add_pad(GST_ELEMENT_CAST(sink), gst_ghost_pad_new("sink", pad.get())); + } + diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpewebkit/wpewebkit_2.28.1.bbappend b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpewebkit/wpewebkit_2.28.1.bbappend new file mode 100644 index 000000000..ff5d2b62b --- /dev/null +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/wpewebkit/wpewebkit_2.28.1.bbappend @@ -0,0 +1,5 @@ +# Copyright 2020, Digi International Inc. + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" + +SRC_URI_append_ccimx8x = " file://0001-Use-imxvideoconvert_g2d-plugin-in-gstreamer-pipeline.patch"