summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/gstreamer
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2017-07-06 10:54:36 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-07-08 13:34:46 +0100
commit4a51d254cfb35a54ddf2dfc7e8114b351b46f9d6 (patch)
tree0e24ca92d062660780042d4122165a9d529ffd71 /meta/recipes-multimedia/gstreamer
parent5e4845d15e6e14a1812853615aa7b65bee806c03 (diff)
downloadpoky-4a51d254cfb35a54ddf2dfc7e8114b351b46f9d6.tar.gz
gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG
This adds a Vulkan video sink (using xcb and/or wayland). Add a few patches to fix the build. (From OE-Core rev: a80a0b3981d129a945ddd775690963cefa15376a) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-multimedia/gstreamer')
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc4
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch37
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch64
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb2
4 files changed, 105 insertions, 2 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
index 0ccfc89a2e..4f6bc854d2 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
@@ -66,6 +66,7 @@ PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp"
66PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev" 66PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
67PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc" 67PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
68PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc" 68PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
69PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan"
69PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols" 70PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols"
70PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" 71PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
71 72
@@ -78,7 +79,7 @@ PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
78# openni2 winks direct3d directsound winscreencap acm apple_media 79# openni2 winks direct3d directsound winscreencap acm apple_media
79# android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa libde265 80# android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa libde265
80# lv2 mimic mpeg2enc mplex musepack nvenc ofa openh264 opensles pvr soundtouch spandsp 81# lv2 mimic mpeg2enc mplex musepack nvenc ofa openh264 opensles pvr soundtouch spandsp
81# spc teletextdec tinyalsa vdpau vulkan wasapi x265 zbar 82# spc teletextdec tinyalsa vdpau wasapi x265 zbar
82 83
83# qt5 support is disabled, because it is not present in OE core, and requires more work than 84# qt5 support is disabled, because it is not present in OE core, and requires more work than
84# just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths). 85# just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths).
@@ -136,7 +137,6 @@ EXTRA_OECONF += " \
136 --disable-timidity \ 137 --disable-timidity \
137 --disable-tinyalsa \ 138 --disable-tinyalsa \
138 --disable-vdpau \ 139 --disable-vdpau \
139 --disable-vulkan \
140 --disable-wasapi \ 140 --disable-wasapi \
141 --disable-wildmidi \ 141 --disable-wildmidi \
142 --disable-wininet \ 142 --disable-wininet \
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch
new file mode 100644
index 0000000000..caaa62d48a
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch
@@ -0,0 +1,37 @@
1From 1523ab462c1bf19055960ced255f4872b6cf9f5c Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Wed, 5 Jul 2017 11:00:42 +0300
4Subject: [PATCH 1/2] vkdisplay: Use ifdef for platform specific defines
5
6VK_KHR_*_SURFACE_EXTENSION_NAME are only available when corresponding
7WSI is enabled.
8
9Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
10Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=784539]
11---
12 ext/vulkan/vkdisplay.c | 4 ++++
13 1 file changed, 4 insertions(+)
14
15diff --git a/ext/vulkan/vkdisplay.c b/ext/vulkan/vkdisplay.c
16index 550134cd8..ade5d4583 100644
17--- a/ext/vulkan/vkdisplay.c
18+++ b/ext/vulkan/vkdisplay.c
19@@ -448,11 +448,15 @@ gst_vulkan_display_type_to_extension_string (GstVulkanDisplayType type)
20 if (type == GST_VULKAN_DISPLAY_TYPE_NONE)
21 return NULL;
22
23+#if GST_VULKAN_HAVE_WINDOW_XCB
24 if (type & GST_VULKAN_DISPLAY_TYPE_XCB)
25 return VK_KHR_XCB_SURFACE_EXTENSION_NAME;
26+#endif
27
28+#if GST_VULKAN_HAVE_WINDOW_WAYLAND
29 if (type & GST_VULKAN_DISPLAY_TYPE_WAYLAND)
30 return VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME;
31+#endif
32
33 return NULL;
34 }
35--
362.13.2
37
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch
new file mode 100644
index 0000000000..0df145dd25
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch
@@ -0,0 +1,64 @@
1From c23e1dc22deb495561cffb877edb2746b740a1fa Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Wed, 5 Jul 2017 11:07:05 +0300
4Subject: [PATCH 2/2] vulkan: Use the generated version of vkconfig.h
5
6Build fails in ext/vulkan/xcb and ext/vulkan/wayland when:
7* building from tarball
8* building out-of-tree
9* Only one WSI integration (xcb or wayland) is enabled by configure.ac
10This is because vkconfig.h from source directory gets used instead
11of the generated one.
12
13Add the correct build directory to "-I". Use angle bracket
14include in vkapi.h so that it actually looks in the include search
15path instead of defaulting to the same (source tree) directory.
16
17Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
18Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=784539]
19---
20 ext/vulkan/vkapi.h | 2 +-
21 ext/vulkan/wayland/Makefile.am | 1 +
22 ext/vulkan/xcb/Makefile.am | 1 +
23 3 files changed, 3 insertions(+), 1 deletion(-)
24
25diff --git a/ext/vulkan/vkapi.h b/ext/vulkan/vkapi.h
26index e9c23aa92..a37c29d0f 100644
27--- a/ext/vulkan/vkapi.h
28+++ b/ext/vulkan/vkapi.h
29@@ -23,7 +23,7 @@
30
31 #define VK_PROTOTYPES
32
33-#include "vkconfig.h"
34+#include <vkconfig.h>
35 #include "vk_fwd.h"
36 #include "vkmacros.h"
37
38diff --git a/ext/vulkan/wayland/Makefile.am b/ext/vulkan/wayland/Makefile.am
39index f92d85e2c..10cfb70e6 100644
40--- a/ext/vulkan/wayland/Makefile.am
41+++ b/ext/vulkan/wayland/Makefile.am
42@@ -14,6 +14,7 @@ noinst_HEADERS = \
43
44 libgstvulkan_wayland_la_CFLAGS = \
45 -I$(top_srcdir)/gst-libs \
46+ -I$(top_builddir)/ext/vulkan \
47 -I$(top_srcdir)/ext/vulkan \
48 -I$(top_builddir)/gst-libs \
49 $(GST_PLUGINS_BASE_CFLAGS) \
50diff --git a/ext/vulkan/xcb/Makefile.am b/ext/vulkan/xcb/Makefile.am
51index 7debcff9e..b5103551b 100644
52--- a/ext/vulkan/xcb/Makefile.am
53+++ b/ext/vulkan/xcb/Makefile.am
54@@ -14,6 +14,7 @@ noinst_HEADERS = \
55
56 libgstvulkan_xcb_la_CFLAGS = \
57 -I$(top_srcdir)/gst-libs \
58+ -I$(top_builddir)/ext/vulkan \
59 -I$(top_srcdir)/ext/vulkan \
60 -I$(top_builddir)/gst-libs \
61 $(GST_PLUGINS_BASE_CFLAGS) \
62--
632.13.2
64
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb
index def03a9b81..a7692304d8 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb
@@ -19,6 +19,8 @@ SRC_URI = " \
19 file://0001-smoothstreaming-use-the-duration-from-the-list-of-fr.patch \ 19 file://0001-smoothstreaming-use-the-duration-from-the-list-of-fr.patch \
20 file://0001-mssdemux-improved-live-playback-support.patch \ 20 file://0001-mssdemux-improved-live-playback-support.patch \
21 file://link-with-libvchostif.patch \ 21 file://link-with-libvchostif.patch \
22 file://0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch \
23 file://0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch \
22" 24"
23SRC_URI[md5sum] = "2757103e57a096a1a05b3ab85b8381af" 25SRC_URI[md5sum] = "2757103e57a096a1a05b3ab85b8381af"
24SRC_URI[sha256sum] = "23ddae506b3a223b94869a0d3eea3e9a12e847f94d2d0e0b97102ce13ecd6966" 26SRC_URI[sha256sum] = "23ddae506b3a223b94869a0d3eea3e9a12e847f94d2d0e0b97102ce13ecd6966"