diff options
7 files changed, 253 insertions, 0 deletions
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index d1f8aca3..b94be957 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc | |||
@@ -519,6 +519,20 @@ PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.22.5.imx" | |||
519 | PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.22.5.imx" | 519 | PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.22.5.imx" |
520 | PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.22.5.imx" | 520 | PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.22.5.imx" |
521 | 521 | ||
522 | # GStreamer copied recipes | ||
523 | PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.22.5.imx" | ||
524 | PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.22.5.imx" | ||
525 | PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.22.5.imx" | ||
526 | PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.22.5.imx" | ||
527 | PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.22.5.imx" | ||
528 | PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.22.5.imx" | ||
529 | PREFERRED_VERSION_gst-devtools:mx9-nxp-bsp ??= "1.22.5.imx" | ||
530 | PREFERRED_VERSION_gstreamer1.0-libav:mx9-nxp-bsp ??= "1.22.5.imx" | ||
531 | PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx9-nxp-bsp ??= "1.22.5.imx" | ||
532 | PREFERRED_VERSION_gstreamer1.0-python:mx9-nxp-bsp ??= "1.22.5.imx" | ||
533 | PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx9-nxp-bsp ??= "1.22.5.imx" | ||
534 | PREFERRED_VERSION_gstreamer1.0-vaapi:mx9-nxp-bsp ??= "1.22.5.imx" | ||
535 | |||
522 | # GStreamer downgrade ffmpeg | 536 | # GStreamer downgrade ffmpeg |
523 | PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1" | 537 | PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1" |
524 | PREFERRED_VERSION_ffmpeg:mx9-nxp-bsp ??= "4.4.1" | 538 | PREFERRED_VERSION_ffmpeg:mx9-nxp-bsp ??= "4.4.1" |
diff --git a/recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb new file mode 100644 index 00000000..9f7f890d --- /dev/null +++ b/recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb | |||
@@ -0,0 +1,52 @@ | |||
1 | SUMMARY = "Gstreamer validation tool" | ||
2 | DESCRIPTION = "A Tool to test GStreamer components" | ||
3 | HOMEPAGE = "https://gstreamer.freedesktop.org/documentation/gst-devtools/index.html" | ||
4 | SECTION = "multimedia" | ||
5 | |||
6 | LICENSE = "LGPL-2.1-or-later" | ||
7 | LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" | ||
8 | |||
9 | S = "${WORKDIR}/gst-devtools-1.22.5" | ||
10 | |||
11 | SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.22.5.tar.xz \ | ||
12 | file://0001-connect-has-a-different-signature-on-musl.patch \ | ||
13 | " | ||
14 | |||
15 | SRC_URI[sha256sum] = "2add1519aa6eeb01d544cb94293688ee3bc2079f6bca6075bf5c23d00a0921be" | ||
16 | |||
17 | DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" | ||
18 | RRECOMMENDS:${PN} = "git" | ||
19 | |||
20 | FILES:${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*" | ||
21 | |||
22 | inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection | ||
23 | |||
24 | # TODO: put this in a gettext.bbclass patch | ||
25 | def gettext_oemeson(d): | ||
26 | if d.getVar('USE_NLS') == 'no': | ||
27 | return '-Dnls=disabled' | ||
28 | # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set | ||
29 | if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'): | ||
30 | return '-Dnls=disabled' | ||
31 | return '-Dnls=enabled' | ||
32 | |||
33 | # Build GstValidateVideo | ||
34 | PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo" | ||
35 | |||
36 | EXTRA_OEMESON += " \ | ||
37 | -Ddoc=disabled \ | ||
38 | -Ddebug_viewer=disabled \ | ||
39 | -Dtests=disabled \ | ||
40 | -Dvalidate=enabled \ | ||
41 | ${@gettext_oemeson(d)} \ | ||
42 | " | ||
43 | |||
44 | do_install:append () { | ||
45 | for fn in ${bindir}/gst-validate-launcher \ | ||
46 | ${libdir}/gst-validate-launcher/python/launcher/config.py; do | ||
47 | sed -i -e 's,${B},/usr/src/debug/${PN},g' -e 's,${S},/usr/src/debug/${PN},g' ${D}$fn | ||
48 | done | ||
49 | } | ||
50 | |||
51 | GIR_MESON_ENABLE_FLAG = "enabled" | ||
52 | GIR_MESON_DISABLE_FLAG = "disabled" | ||
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.5.imx.bb new file mode 100644 index 00000000..cca80cc2 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.5.imx.bb | |||
@@ -0,0 +1,28 @@ | |||
1 | SUMMARY = "Libav-based GStreamer 1.x plugin" | ||
2 | DESCRIPTION = "Contains a GStreamer plugin for using the encoders, decoders, \ | ||
3 | muxers, and demuxers provided by FFmpeg." | ||
4 | HOMEPAGE = "http://gstreamer.freedesktop.org/" | ||
5 | SECTION = "multimedia" | ||
6 | |||
7 | # ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency | ||
8 | LICENSE_FLAGS = "commercial" | ||
9 | LICENSE = "LGPL-2.1-or-later" | ||
10 | LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \ | ||
11 | file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ | ||
12 | " | ||
13 | |||
14 | SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.22.5.tar.xz" | ||
15 | SRC_URI[sha256sum] = "8583f0c1f4fcb01eed11fa1e3c21126543a8bd739ed4fc1db31f756a5ab01d9a" | ||
16 | |||
17 | S = "${WORKDIR}/gst-libav-1.22.5" | ||
18 | |||
19 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg" | ||
20 | |||
21 | inherit meson pkgconfig upstream-version-is-even | ||
22 | |||
23 | EXTRA_OEMESON += " \ | ||
24 | -Dtests=disabled \ | ||
25 | " | ||
26 | |||
27 | FILES:${PN} += "${libdir}/gstreamer-1.0/*.so" | ||
28 | FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" | ||
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.5.imx.bb new file mode 100644 index 00000000..bdc802c2 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.5.imx.bb | |||
@@ -0,0 +1,45 @@ | |||
1 | require gstreamer1.0-plugins-common.inc | ||
2 | require gstreamer1.0-plugins-license.inc | ||
3 | |||
4 | SUMMARY = "'Ugly GStreamer plugins" | ||
5 | HOMEPAGE = "https://gstreamer.freedesktop.org/" | ||
6 | BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues" | ||
7 | |||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | ||
9 | " | ||
10 | |||
11 | LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" | ||
12 | LICENSE_FLAGS = "commercial" | ||
13 | |||
14 | SRC_URI = " \ | ||
15 | https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.5.tar.xz \ | ||
16 | " | ||
17 | SRC_URI[sha256sum] = "2680473b218158f18467cac3e1c50291b7ff4e0710dd350a59eaacbc29c09a54" | ||
18 | |||
19 | S = "${WORKDIR}/gst-plugins-ugly-1.22.5" | ||
20 | |||
21 | DEPENDS += "gstreamer1.0-plugins-base" | ||
22 | |||
23 | GST_PLUGIN_SET_HAS_EXAMPLES = "0" | ||
24 | |||
25 | PACKAGECONFIG ??= " \ | ||
26 | ${GSTREAMER_ORC} \ | ||
27 | " | ||
28 | |||
29 | PACKAGECONFIG[amrnb] = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr" | ||
30 | PACKAGECONFIG[amrwb] = "-Damrwbdec=enabled,-Damrwbdec=disabled,opencore-amr" | ||
31 | PACKAGECONFIG[a52dec] = "-Da52dec=enabled,-Da52dec=disabled,liba52" | ||
32 | PACKAGECONFIG[cdio] = "-Dcdio=enabled,-Dcdio=disabled,libcdio" | ||
33 | PACKAGECONFIG[dvdread] = "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread" | ||
34 | PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec" | ||
35 | PACKAGECONFIG[x264] = "-Dx264=enabled,-Dx264=disabled,x264" | ||
36 | |||
37 | GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'a52dec cdio dvdread mpeg2dec x264', d)}" | ||
38 | |||
39 | EXTRA_OEMESON += " \ | ||
40 | -Ddoc=disabled \ | ||
41 | -Dsidplay=disabled \ | ||
42 | " | ||
43 | |||
44 | FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs" | ||
45 | FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs" | ||
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.5.imx.bb new file mode 100644 index 00000000..ebad6b64 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.5.imx.bb | |||
@@ -0,0 +1,30 @@ | |||
1 | SUMMARY = "Python bindings for GStreamer 1.0" | ||
2 | DESCRIPTION = "GStreamer Python binding overrides (complementing the bindings \ | ||
3 | provided by python-gi) " | ||
4 | HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/" | ||
5 | SECTION = "multimedia" | ||
6 | |||
7 | LICENSE = "LGPL-2.1-or-later" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" | ||
9 | |||
10 | SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-1.22.5.tar.xz" | ||
11 | SRC_URI[sha256sum] = "bf05232415cf6018142ae51dd3b897bb73432687b5ce1786bf46edc6298ce5b0" | ||
12 | |||
13 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" | ||
14 | RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" | ||
15 | |||
16 | PNREAL = "gst-python" | ||
17 | |||
18 | S = "${WORKDIR}/${PNREAL}-1.22.5" | ||
19 | |||
20 | EXTRA_OEMESON += "\ | ||
21 | -Dtests=disabled \ | ||
22 | -Dplugin=enabled \ | ||
23 | -Dlibpython-dir=${libdir} \ | ||
24 | " | ||
25 | |||
26 | inherit meson pkgconfig setuptools3-base upstream-version-is-even features_check | ||
27 | |||
28 | FILES:${PN} += "${libdir}/gstreamer-1.0" | ||
29 | |||
30 | REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" | ||
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.5.imx.bb new file mode 100644 index 00000000..5dae5ebb --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.5.imx.bb | |||
@@ -0,0 +1,31 @@ | |||
1 | SUMMARY = "A library on top of GStreamer for building an RTSP server" | ||
2 | HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/" | ||
3 | SECTION = "multimedia" | ||
4 | LICENSE = "LGPL-2.1-or-later" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770" | ||
6 | |||
7 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base" | ||
8 | |||
9 | PNREAL = "gst-rtsp-server" | ||
10 | |||
11 | SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-1.22.5.tar.xz" | ||
12 | |||
13 | SRC_URI[sha256sum] = "f343eb54964ebd4d8c071be5eecad586f28feb0156e036e06b148d0e7febb1c0" | ||
14 | |||
15 | S = "${WORKDIR}/${PNREAL}-1.22.5" | ||
16 | |||
17 | inherit meson pkgconfig upstream-version-is-even gobject-introspection | ||
18 | |||
19 | EXTRA_OEMESON += " \ | ||
20 | -Ddoc=disabled \ | ||
21 | -Dexamples=disabled \ | ||
22 | -Dtests=disabled \ | ||
23 | " | ||
24 | |||
25 | GIR_MESON_ENABLE_FLAG = "enabled" | ||
26 | GIR_MESON_DISABLE_FLAG = "disabled" | ||
27 | |||
28 | # Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well | ||
29 | require gstreamer1.0-plugins-packaging.inc | ||
30 | |||
31 | CVE_PRODUCT += "gst-rtsp-server" | ||
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.5.imx.bb new file mode 100644 index 00000000..d44b70a8 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.5.imx.bb | |||
@@ -0,0 +1,53 @@ | |||
1 | SUMMARY = "VA-API support to GStreamer" | ||
2 | HOMEPAGE = "https://gstreamer.freedesktop.org/" | ||
3 | DESCRIPTION = "gstreamer-vaapi consists of a collection of VA-API \ | ||
4 | based plugins for GStreamer and helper libraries: `vaapidecode', \ | ||
5 | `vaapiconvert', and `vaapisink'." | ||
6 | |||
7 | REALPN = "gstreamer-vaapi" | ||
8 | |||
9 | LICENSE = "LGPL-2.1-or-later" | ||
10 | LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" | ||
11 | |||
12 | SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-1.22.5.tar.xz" | ||
13 | |||
14 | SRC_URI[sha256sum] = "a9a550267c9584df0e8c70434d30476e8fd0018b733c1c1ee33deaf422bdb24b" | ||
15 | |||
16 | S = "${WORKDIR}/${REALPN}-1.22.5" | ||
17 | DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" | ||
18 | |||
19 | inherit meson pkgconfig features_check upstream-version-is-even | ||
20 | |||
21 | REQUIRED_DISTRO_FEATURES ?= "opengl" | ||
22 | |||
23 | EXTRA_OEMESON += " \ | ||
24 | -Ddoc=disabled \ | ||
25 | -Dexamples=disabled \ | ||
26 | -Dtests=enabled \ | ||
27 | " | ||
28 | |||
29 | PACKAGES =+ "${PN}-tests" | ||
30 | |||
31 | # OpenGL packageconfig factored out to make it easy for distros | ||
32 | # and BSP layers to pick either glx, egl, or no GL. By default, | ||
33 | # try detecting X11 first, and if found (with OpenGL), use GLX, | ||
34 | # otherwise try to check if EGL can be used. | ||
35 | PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', \ | ||
36 | bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl', \ | ||
37 | '', d), d)}" | ||
38 | |||
39 | PACKAGECONFIG ??= "drm encoders \ | ||
40 | ${PACKAGECONFIG_GL} \ | ||
41 | ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" | ||
42 | |||
43 | PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,udev libdrm" | ||
44 | PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl" | ||
45 | PACKAGECONFIG[encoders] = "-Dencoders=enabled,-Dencoders=disabled" | ||
46 | PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/libgl" | ||
47 | PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols" | ||
48 | PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxrandr libxrender" | ||
49 | |||
50 | FILES:${PN} += "${libdir}/gstreamer-*/*.so" | ||
51 | FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug" | ||
52 | FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a" | ||
53 | FILES:${PN}-tests = "${bindir}/*" | ||