diff --git a/recipes-browser/wpewebkit/wpewebkit/Revert-GTK-WPE-GSTREAMER_GL-Change-the-colorspace-us.patch b/recipes-browser/wpewebkit/wpewebkit/Revert-GTK-WPE-GSTREAMER_GL-Change-the-colorspace-us.patch new file mode 100644 index 00000000..aee07b6a --- /dev/null +++ b/recipes-browser/wpewebkit/wpewebkit/Revert-GTK-WPE-GSTREAMER_GL-Change-the-colorspace-us.patch @@ -0,0 +1,183 @@ +From e7d59b1bfdf68e2f53a2a8f45eec0ef8eb6e2b95 Mon Sep 17 00:00:00 2001 +From: Carlos Alberto Lopez Perez +Date: Tue, 26 Sep 2017 15:22:30 +0200 +Subject: [PATCH] Revert "[GTK][WPE][GSTREAMER_GL] Change the colorspace used + by the video frames provided by GStreamer" + +This reverts commit fed922529570b7cc64c52e6ecb74651fa9e5b266. +--- + .../gstreamer/MediaPlayerPrivateGStreamerBase.cpp | 18 ++++-------------- + .../gstreamer/VideoTextureCopierGStreamer.cpp | 19 ++----------------- + .../graphics/gstreamer/VideoTextureCopierGStreamer.h | 9 +-------- + .../platform/graphics/texmap/TextureMapperGL.cpp | 2 -- + .../platform/graphics/texmap/TextureMapperGL.h | 3 +-- + 5 files changed, 8 insertions(+), 43 deletions(-) + +diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp +index 46c89308853..7531253ed62 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp ++++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp +@@ -55,16 +55,6 @@ + #endif + + #if USE(GSTREAMER_GL) +-#if G_BYTE_ORDER == G_LITTLE_ENDIAN +-#define GST_GL_CAPS_FORMAT "{ BGRx, BGRA }" +-#define TEXTURE_MAPPER_COLOR_CONVERT_FLAG TextureMapperGL::ShouldConvertTextureBGRAToRGBA +-#define TEXTURE_COPIER_COLOR_CONVERT_FLAG VideoTextureCopierGStreamer::ColorConversion::ConvertBGRAToRGBA +-#else +-#define GST_GL_CAPS_FORMAT "{ xRGB, ARGB }" +-#define TEXTURE_MAPPER_COLOR_CONVERT_FLAG TextureMapperGL::ShouldConvertTextureARGBToRGBA +-#define TEXTURE_COPIER_COLOR_CONVERT_FLAG VideoTextureCopierGStreamer::ColorConversion::ConvertARGBToRGBA +-#endif +- + #include + + #if USE(LIBEPOXY) +@@ -193,7 +183,7 @@ public: + return; + + m_size = IntSize(GST_VIDEO_INFO_WIDTH(&videoInfo), GST_VIDEO_INFO_HEIGHT(&videoInfo)); +- m_flags = flags | (GST_VIDEO_INFO_HAS_ALPHA(&videoInfo) ? TextureMapperGL::ShouldBlend : 0) | TEXTURE_MAPPER_COLOR_CONVERT_FLAG; ++ m_flags = flags | (GST_VIDEO_INFO_HAS_ALPHA(&videoInfo) ? TextureMapperGL::ShouldBlend : 0); + + GstBuffer* buffer = gst_sample_get_buffer(sample); + if (UNLIKELY(!gst_video_frame_map(&m_videoFrame, &videoInfo, buffer, static_cast(GST_MAP_READ | GST_MAP_GL)))) +@@ -887,7 +877,7 @@ bool MediaPlayerPrivateGStreamerBase::copyVideoTextureToPlatformTexture(Graphics + unsigned textureID = *reinterpret_cast(videoFrame.data[0]); + + if (!m_videoTextureCopier) +- m_videoTextureCopier = std::make_unique(TEXTURE_COPIER_COLOR_CONVERT_FLAG); ++ m_videoTextureCopier = std::make_unique(); + + bool copied = m_videoTextureCopier->copyVideoTextureToPlatformTexture(textureID, size, outputTexture, outputTarget, level, internalFormat, format, type, flipY, m_videoSourceOrientation); + +@@ -921,7 +911,7 @@ NativeImagePtr MediaPlayerPrivateGStreamerBase::nativeImageForCurrentTime() + context->makeContextCurrent(); + + if (!m_videoTextureCopier) +- m_videoTextureCopier = std::make_unique(TEXTURE_COPIER_COLOR_CONVERT_FLAG); ++ m_videoTextureCopier = std::make_unique(); + + unsigned textureID = *reinterpret_cast(videoFrame.data[0]); + bool copied = m_videoTextureCopier->copyVideoTextureToPlatformTexture(textureID, size, 0, GraphicsContext3D::TEXTURE_2D, 0, GraphicsContext3D::RGBA, GraphicsContext3D::RGBA, GraphicsContext3D::UNSIGNED_BYTE, false, m_videoSourceOrientation); +@@ -1024,7 +1014,7 @@ GstElement* MediaPlayerPrivateGStreamerBase::createVideoSinkGL() + + gst_bin_add_many(GST_BIN(videoSink), upload, colorconvert, appsink, nullptr); + +- GRefPtr caps = adoptGRef(gst_caps_from_string("video/x-raw(" GST_CAPS_FEATURE_MEMORY_GL_MEMORY "), format = (string) " GST_GL_CAPS_FORMAT)); ++ GRefPtr caps = adoptGRef(gst_caps_from_string("video/x-raw(" GST_CAPS_FEATURE_MEMORY_GL_MEMORY "), format = (string) { RGBA }")); + + result &= gst_element_link_pads(upload, "src", colorconvert, "sink"); + result &= gst_element_link_pads_filtered(colorconvert, "src", appsink, "sink", caps.get()); +diff --git a/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp +index c78b2d635de..dce5a4b0af9 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp ++++ b/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp +@@ -32,7 +32,7 @@ + + namespace WebCore { + +-VideoTextureCopierGStreamer::VideoTextureCopierGStreamer(ColorConversion colorConversion) ++VideoTextureCopierGStreamer::VideoTextureCopierGStreamer() + { + GLContext* previousContext = GLContext::current(); + ASSERT(previousContext); +@@ -52,7 +52,6 @@ VideoTextureCopierGStreamer::VideoTextureCopierGStreamer(ColorConversion colorCo + glBindBuffer(GL_ARRAY_BUFFER, m_vbo); + glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * 8, vertices, GL_STATIC_DRAW); + +- updateColorConversionMatrix(colorConversion); + updateTextureSpaceMatrix(); + + previousContext->makeContextCurrent(); +@@ -72,20 +71,6 @@ VideoTextureCopierGStreamer::~VideoTextureCopierGStreamer() + previousContext->makeContextCurrent(); + } + +-void VideoTextureCopierGStreamer::updateColorConversionMatrix(ColorConversion colorConversion) +-{ +- switch (colorConversion) { +- case ColorConversion::ConvertBGRAToRGBA: +- m_colorConversionMatrix.setMatrix(0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0); +- break; +- case ColorConversion::ConvertARGBToRGBA: +- m_colorConversionMatrix.setMatrix(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0); +- break; +- default: +- RELEASE_ASSERT_NOT_REACHED(); +- } +-} +- + void VideoTextureCopierGStreamer::updateTextureSpaceMatrix() + { + m_textureSpaceMatrix.makeIdentity(); +@@ -190,7 +175,7 @@ bool VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture(GLuint input + m_shaderProgram->setMatrix(m_shaderProgram->modelViewMatrixLocation(), m_modelViewMatrix); + m_shaderProgram->setMatrix(m_shaderProgram->projectionMatrixLocation(), m_projectionMatrix); + m_shaderProgram->setMatrix(m_shaderProgram->textureSpaceMatrixLocation(), m_textureSpaceMatrix); +- m_shaderProgram->setMatrix(m_shaderProgram->textureColorSpaceMatrixLocation(), m_colorConversionMatrix); ++ m_shaderProgram->setMatrix(m_shaderProgram->textureColorSpaceMatrixLocation(), TransformationMatrix()); + + // Perform the copy. + glEnableVertexAttribArray(m_shaderProgram->vertexLocation()); +diff --git a/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.h b/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.h +index 218977ca014..9971f2de593 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.h ++++ b/Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.h +@@ -34,16 +34,10 @@ class ImageOrientation; + + class VideoTextureCopierGStreamer { + public: +- enum class ColorConversion { +- ConvertBGRAToRGBA, +- ConvertARGBToRGBA +- }; +- +- VideoTextureCopierGStreamer(ColorConversion); ++ VideoTextureCopierGStreamer(); + ~VideoTextureCopierGStreamer(); + + bool copyVideoTextureToPlatformTexture(GLuint inputTexture, IntSize& frameSize, GLuint outputTexture, GLenum outputTarget, GLint level, GLenum internalFormat, GLenum format, GLenum type, bool flipY, ImageOrientation& sourceOrientation); +- void updateColorConversionMatrix(ColorConversion); + void updateTextureSpaceMatrix(); + void updateTransformationMatrix(); + GLuint resultTexture() { return m_resultTexture; } +@@ -58,7 +52,6 @@ private: + TransformationMatrix m_modelViewMatrix; + TransformationMatrix m_projectionMatrix; + TransformationMatrix m_textureSpaceMatrix; +- TransformationMatrix m_colorConversionMatrix; + GLuint m_resultTexture { 0 }; + }; + +diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp +index 15ed70a5b6b..908aa3d6f0d 100644 +--- a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp ++++ b/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp +@@ -418,8 +418,6 @@ static TransformationMatrix colorSpaceMatrixForFlags(TextureMapperGL::Flags flag + TransformationMatrix matrix; + if (flags & TextureMapperGL::ShouldConvertTextureBGRAToRGBA) + matrix.setMatrix(0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0); +- else if (flags & TextureMapperGL::ShouldConvertTextureARGBToRGBA) +- matrix.setMatrix(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0); + + return matrix; + } +diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h b/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h +index 1c889965608..55da5faad47 100644 +--- a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h ++++ b/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h +@@ -51,8 +51,7 @@ public: + ShouldRotateTexture90 = 0x10, + ShouldRotateTexture180 = 0x20, + ShouldRotateTexture270 = 0x40, +- ShouldConvertTextureBGRAToRGBA = 0x80, +- ShouldConvertTextureARGBToRGBA = 0x100 ++ ShouldConvertTextureBGRAToRGBA = 0x80 + }; + + typedef int Flags; +-- +2.11.0 + diff --git a/recipes-browser/wpewebkit/wpewebkit_trunk.bb b/recipes-browser/wpewebkit/wpewebkit_trunk.bb new file mode 100644 index 00000000..dd3bc443 --- /dev/null +++ b/recipes-browser/wpewebkit/wpewebkit_trunk.bb @@ -0,0 +1,192 @@ +SUMMARY = "WPE WebKit port pairs the WebKit engine with the Wayland display protocol, \ + allowing embedders to create simple and performant systems based on Web platform technologies. \ + It is designed with hardware acceleration in mind, relying on EGL, the Wayland EGL platform, and OpenGL ES." +HOMEPAGE = "http://www.webkitforwayland.org/" +LICENSE = "BSD & LGPLv2+" +LIC_FILES_CHKSUM = "file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 " + +DEPENDS += " \ + wpebackend \ + bison-native gperf-native harfbuzz-native libxml2-native ruby-native ninja-native chrpath-replacement-native \ + cairo fontconfig freetype glib-2.0 gnutls harfbuzz icu jpeg pcre sqlite3 zlib \ + libpng libsoup-2.4 libwebp libxml2 libxslt \ + virtual/egl virtual/libgles2 libepoxy \ +" + +SVNREV ?= "226305" + +SRC_URI = " \ + svn://svn.webkit.org/repository/webkit;module=trunk;rev=${SVNREV};protocol=https \ + file://Revert-GTK-WPE-GSTREAMER_GL-Change-the-colorspace-us.patch \ +" + +S = "${WORKDIR}/trunk" +PV = "0.r${SVNREV}" + + +inherit cmake pkgconfig perlnative pythonnative + +TOOLCHAIN = "gcc" + + +PACKAGECONFIG ?= "deviceorientation fetchapi gamepad indexeddb libinput logs mediasource notifications sampling-profiler shadowdom subtitle udev video webaudio wayland touch gst_gl" + +# Mesa only offscreen target support for Westeros backend +# FIXME Needs to be moved to mesa backend +PACKAGECONFIG[westeros-mesa] = "-DUSE_WPEWEBKIT_BACKEND_WESTEROS_MESA=ON,," + +# WPE Platform specific switches +PACKAGECONFIG[intelce] = "-DUSE_WPEWEBKIT_PLATFORM_INTEL_CE=ON -DUSE_HOLE_PUNCH_GSTREAMER=ON,," +PACKAGECONFIG[nexus] = "-DUSE_WPEWEBKIT_PLATFORM_BCM_NEXUS=ON -DUSE_HOLE_PUNCH_GSTREAMER=ON,," +PACKAGECONFIG[westeros] = "-DUSE_WPEWEBKIT_PLATFORM_WESTEROS=ON -DUSE_HOLE_PUNCH_GSTREAMER=ON -DUSE_WESTEROS_SINK=ON,,westeros" + +PACKAGECONFIG[wayland] = "-DUSE_WPEWEBKIT_BACKEND_WAYLAND_EGL=ON,," + +# WPE features +PACKAGECONFIG[2dcanvas] = "-DENABLE_ACCELERATED_2D_CANVAS=ON,-DENABLE_ACCELERATED_2D_CANVAS=OFF," +PACKAGECONFIG[deviceorientation] = "-DENABLE_DEVICE_ORIENTATION=ON,-DENABLE_DEVICE_ORIENTATION=OFF," +PACKAGECONFIG[encryptedmedia] = "-DENABLE_LEGACY_ENCRYPTED_MEDIA=ON,-DENABLE_LEGACY_ENCRYPTED_MEDIA=OFF,libgcrypt" +PACKAGECONFIG[encryptedmediav1] = "-DENABLE_LEGACY_ENCRYPTED_MEDIA_V1=ON,-DENABLE_LEGACY_ENCRYPTED_MEDIA_V1=OFF,libgcrypt" +PACKAGECONFIG[fetchapi] = "-DENABLE_FETCH_API=ON,-DENABLE_FETCH_API=OFF," +PACKAGECONFIG[fusion] = "-DUSE_FUSION_API_GSTREAMER=ON,-DUSE_FUSION_API_GSTREAMER=OFF," +PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF," +PACKAGECONFIG[geolocation] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" +PACKAGECONFIG[indexeddb] = "-DENABLE_DATABASE_PROCESS=ON -DENABLE_INDEXED_DATABASE=ON,-DENABLE_DATABASE_PROCESS=OFF -DENABLE_INDEXED_DATABASE=OFF," +PACKAGECONFIG[libinput] = "-DUSE_WPEWEBKIT_INPUT_LIBINPUT=ON,-DUSE_WPEWEBKIT_INPUT_LIBINPUT=OFF,libinput" +PACKAGECONFIG[logs] = "-DLOG_DISABLED=OFF,-DLOG_DISABLED=ON," +PACKAGECONFIG[mediasource] = "-DENABLE_MEDIA_SOURCE=ON,-DENABLE_MEDIA_SOURCE=OFF,gstreamer1.0 gstreamer1.0-plugins-good" +PACKAGECONFIG[mediastream] = "-DENABLE_MEDIA_STREAM=ON,-DENABLE_MEDIA_STREAM=OFF,openwebrtc" +PACKAGECONFIG[nativevideo] = "-DENABLE_NATIVE_VIDEO=ON,-DENABLE_NATIVE_VIDEO=OFF," +PACKAGECONFIG[notifications] = "-DENABLE_NOTIFICATIONS=ON,-DENABLE_NOTIFICATIONS=OFF," +PACKAGECONFIG[sampling-profiler] = "-DENABLE_SAMPLING_PROFILER=ON,-DENABLE_SAMPLING_PROFILER=OFF," +PACKAGECONFIG[shadowdom] = "-DENABLE_SHADOW_DOM=ON,-DENABLE_SHADOW_DOM=OFF," +PACKAGECONFIG[subtitle] = "-DENABLE_TEXT_SINK=ON,-DENABLE_TEXT_SINK=OFF," +PACKAGECONFIG[touch] = "-DENABLE_TOUCH_EVENTS=ON,-DENABLE_TOUCH_EVENTS=OFF," +PACKAGECONFIG[udev] = "-DUSE_WPEWEBKIT_INPUT_UDEV=ON,-DUSE_WPEWEBKIT_INPUT_UDEV=OFF,udev" +PACKAGECONFIG[video] = "-DENABLE_VIDEO=ON -DENABLE_VIDEO_TRACK=ON,-DENABLE_VIDEO=OFF -DENABLE_VIDEO_TRACK=OFF,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad" +PACKAGECONFIG[webaudio] = "-DENABLE_WEB_AUDIO=ON,-DENABLE_WEB_AUDIO=OFF,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good" +PACKAGECONFIG[webcrypto] = "-DENABLE_WEB_CRYPTO=ON,-DENABLE_WEB_CRYPTO=OFF,libgcrypt libtasn1" + +# DRM +PACKAGECONFIG[opencdm] = "-DENABLE_OCDM=ON,-DENABLE_OCDM=OFF,opencdm" +PACKAGECONFIG[playready] = "-DENABLE_PLAYREADY=ON,-DENABLE_PLAYREADY=OFF,playready" +PACKAGECONFIG[provisioning] = "-DENABLE_PROVISIONING=ON,-DENABLE_PROVISIONING=OFF,libprovision,libprovision" + +# GStreamer +PACKAGECONFIG[gst_gl] = "-DUSE_GSTREAMER_GL=ON,," +PACKAGECONFIG[gst_httpsrc] = "-DUSE_GSTREAMER_WEBKIT_HTTP_SRC=ON,," +PACKAGECONFIG[gst_holepunch] = "-DUSE_HOLE_PUNCH_GSTREAMER=ON,," + +EXTRA_OECMAKE += " \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_COLOR_MAKEFILE=OFF -DBUILD_SHARED_LIBS=ON -DPORT=WPE \ + -DEXPORT_DEPRECATED_WEBKIT2_C_API=ON \ + -G Ninja \ +" +EXTRANATIVEPATH += "chrpath-native" + +# don't build debug +FULL_OPTIMIZATION_remove = "-g" + +# WPEWebProcess crashes when built with ARM mode on RPi +ARM_INSTRUCTION_SET_armv7a = "thumb" +ARM_INSTRUCTION_SET_armv7r = "thumb" +ARM_INSTRUCTION_SET_armv7m = "thumb" +ARM_INSTRUCTION_SET_armv7ve = "thumb" + + +do_compile() { + ${STAGING_BINDIR_NATIVE}/ninja -v ${PARALLEL_MAKE} libWPEWebKit.so libWPEWebInspectorResources.so WPEWebProcess WPENetworkProcess WPEStorageProcess +} +do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+" + +do_install() { + DESTDIR=${D} cmake -DCOMPONENT=Development -P ${B}/Source/WebKit/cmake_install.cmake + DESTDIR=${D} cmake -DCOMPONENT=Development -P ${B}/Source/JavaScriptCore/cmake_install.cmake + + install -d ${D}${libdir} + cp -av --no-preserve=ownership ${B}/lib/libWPE* ${D}${libdir}/ + install -m 0755 ${B}/lib/libWPEWebInspectorResources.so ${D}${libdir}/ + # Hack: Remove the RPATH embedded in libWPEWebKit.so + chrpath --delete ${D}${libdir}/libWPE* + + install -d ${D}${bindir} + install -m755 ${B}/bin/WPEWebProcess ${D}${bindir}/ + install -m755 ${B}/bin/WPENetworkProcess ${D}${bindir}/ + install -m755 ${B}/bin/WPEStorageProcess ${D}${bindir}/ + + # Hack: Remove RPATHs embedded in apps + chrpath --delete ${D}${bindir}/WPEWebProcess + chrpath --delete ${D}${bindir}/WPENetworkProcess + chrpath --delete ${D}${bindir}/WPEStorageProcess +} + +LEAD_SONAME = "libWPEWebKit.so" + +PACKAGES =+ "${PN}-web-inspector-plugin" + +FILES_${PN}-web-inspector-plugin += "${libdir}/libWPEWebInspectorResources.so" +INSANE_SKIP_${PN}-web-inspector-plugin = "dev-so" + +PACKAGES =+ "${PN}-platform-plugin" + + +RDEPS_MEDIASOURCE = " \ + gstreamer1.0-plugins-good-isomp4 \ +" + +RDEPS_VIDEO = " \ + gstreamer1.0-plugins-base-app \ + gstreamer1.0-plugins-base-playback \ + gstreamer1.0-plugins-good-souphttpsrc \ +" + +RDEPS_WEBAUDIO = " \ + gstreamer1.0-plugins-good-wavparse \ +" + +# plugins-bad config option 'dash' -> gstreamer1.0-plugins-bad-dashdemux +# plugins-bad config option 'videoparsers' -> gstreamer1.0-plugins-bad-videoparsersbad + +RDEPS_EXTRA = " \ + gstreamer1.0-plugins-base-audioconvert \ + gstreamer1.0-plugins-base-audioresample \ + gstreamer1.0-plugins-base-gio \ + gstreamer1.0-plugins-base-videoconvert \ + gstreamer1.0-plugins-base-videoscale \ + gstreamer1.0-plugins-base-volume \ + gstreamer1.0-plugins-base-typefindfunctions \ + gstreamer1.0-plugins-good-audiofx \ + gstreamer1.0-plugins-good-audioparsers \ + gstreamer1.0-plugins-good-autodetect \ + gstreamer1.0-plugins-good-avi \ + gstreamer1.0-plugins-good-deinterlace \ + gstreamer1.0-plugins-good-interleave \ + gstreamer1.0-plugins-bad-dashdemux \ + gstreamer1.0-plugins-bad-mpegtsdemux \ + gstreamer1.0-plugins-bad-smoothstreaming \ + gstreamer1.0-plugins-bad-videoparsersbad \ +" + +RDEPS_VIDEOGL = " \ + gstreamer1.0-omx \ + gstreamer1.0-plugins-bad-opengl \ +" +#fixme +# gstreamer1.0-plugins-bad-faad (videogl=> aac) +# gstreamer1.0-plugins-bad-hls +# gstreamer1.0-plugins-ugly-mpg123 + + +RDEPS_MEDIASOURCE += "${RDEPS_EXTRA}" +RDEPS_VIDEO += "${RDEPS_EXTRA}" +RDEPS_WEBAUDIO += "${RDEPS_EXTRA}" + +RRECOMMENDS_${PN} += " \ + ca-certificates \ + shared-mime-info \ + ttf-bitstream-vera \ + ${PN}-platform-plugin \ +" +# FIXME: add this conditionally based on selected pkconfig entries +RDEPENDS_${PN} = " ${RDEPS_MEDIASOURCE} ${RDEPS_VIDEO} ${RDEPS_VIDEOGL} ${RDEPS_WEBAUDIO} ${RDEPS_EXTRA} "