Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
From 73b1002eda17451db1f58431b42c25203f1d3097 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sun, 9 Sep 2018 17:38:10 -0700
|
||||
Subject: [PATCH] connect has a different signature on musl
|
||||
|
||||
On linux when not using glibc and using musl for C library, connect
|
||||
API has a different signature, this patch fixes this so it can compile
|
||||
on musl, the functionality should remain same as it is immediately
|
||||
typcasted to struct sockaddr_in* type inside the function before use
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
validate/plugins/fault_injection/socket_interposer.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/validate/plugins/fault_injection/socket_interposer.c b/validate/plugins/fault_injection/socket_interposer.c
|
||||
index 53c1ebb..ad7adf8 100644
|
||||
--- a/validate/plugins/fault_injection/socket_interposer.c
|
||||
+++ b/validate/plugins/fault_injection/socket_interposer.c
|
||||
@@ -100,10 +100,15 @@ socket_interposer_set_callback (struct sockaddr_in *addrin,
|
||||
}
|
||||
|
||||
int
|
||||
-connect (int socket, const struct sockaddr_in *addrin, socklen_t address_len)
|
||||
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||
+connect (int socket, const struct sockaddr *addr, socklen_t address_len)
|
||||
+#else
|
||||
+connect (int socket, const struct sockaddr_in *addr, socklen_t address_len)
|
||||
+#endif
|
||||
{
|
||||
size_t i;
|
||||
int override_errno = 0;
|
||||
+ struct sockaddr_in* addrin = (struct sockaddr_in*)addr;
|
||||
typedef ssize_t (*real_connect_fn) (int, const struct sockaddr_in *,
|
||||
socklen_t);
|
||||
static real_connect_fn real_connect = 0;
|
||||
@@ -0,0 +1,52 @@
|
||||
SUMMARY = "Gstreamer validation tool"
|
||||
DESCRIPTION = "A Tool to test GStreamer components"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/documentation/gst-devtools/index.html"
|
||||
SECTION = "multimedia"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
|
||||
|
||||
S = "${WORKDIR}/gst-devtools-1.22.5"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.22.5.tar.xz \
|
||||
file://0001-connect-has-a-different-signature-on-musl.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "2add1519aa6eeb01d544cb94293688ee3bc2079f6bca6075bf5c23d00a0921be"
|
||||
|
||||
DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
|
||||
RRECOMMENDS:${PN} = "git"
|
||||
|
||||
FILES:${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
|
||||
|
||||
inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
|
||||
|
||||
# TODO: put this in a gettext.bbclass patch
|
||||
def gettext_oemeson(d):
|
||||
if d.getVar('USE_NLS') == 'no':
|
||||
return '-Dnls=disabled'
|
||||
# Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
|
||||
if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
|
||||
return '-Dnls=disabled'
|
||||
return '-Dnls=enabled'
|
||||
|
||||
# Build GstValidateVideo
|
||||
PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Ddebug_viewer=disabled \
|
||||
-Dtests=disabled \
|
||||
-Dvalidate=enabled \
|
||||
${@gettext_oemeson(d)} \
|
||||
"
|
||||
|
||||
do_install:append () {
|
||||
for fn in ${bindir}/gst-validate-launcher \
|
||||
${libdir}/gst-validate-launcher/python/launcher/config.py; do
|
||||
sed -i -e 's,${B},/usr/src/debug/${PN},g' -e 's,${S},/usr/src/debug/${PN},g' ${D}$fn
|
||||
done
|
||||
}
|
||||
|
||||
GIR_MESON_ENABLE_FLAG = "enabled"
|
||||
GIR_MESON_DISABLE_FLAG = "disabled"
|
||||
@@ -0,0 +1,49 @@
|
||||
From cde31d23c071ee93fae96331805f696856084254 Mon Sep 17 00:00:00 2001
|
||||
From: "U. Artie Eoff" <ullysses.a.eoff@intel.com>
|
||||
Date: Mon, 13 Feb 2023 17:02:01 -0500
|
||||
Subject: [PATCH] avviddec: change
|
||||
AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADS
|
||||
|
||||
This fixes a compile error with recent upstream FFmpeg.
|
||||
|
||||
The AV_CODEC_CAP_AUTO_THREADS was deprecated and renamed to
|
||||
AV_CODEC_CAP_OTHER_THREADS in FFmpeg upstream commit
|
||||
7d09579190de (lavc 58.132.100).
|
||||
|
||||
The AV_CODEC_CAP_AUTO_THREADS was finally removed in FFmpeg upstream
|
||||
commit 10c9a0874cb3 (lavc 59.63.100).
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3964>
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/cde31d23c071ee93fae96331805f696856084254?merge_request_iid=3964]
|
||||
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
|
||||
---
|
||||
ext/libav/gstavviddec.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
|
||||
index 43cea456ae8..6d7c4cd0de8 100644
|
||||
--- a/ext/libav/gstavviddec.c
|
||||
+++ b/ext/libav/gstavviddec.c
|
||||
@@ -35,6 +35,10 @@
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
|
||||
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,132,100)
|
||||
+#define AV_CODEC_CAP_OTHER_THREADS AV_CODEC_CAP_AUTO_THREADS
|
||||
+#endif
|
||||
+
|
||||
#define GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED (1<<15)
|
||||
|
||||
#define MAX_TS_MASK 0xff
|
||||
@@ -615,7 +619,7 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder,
|
||||
if (ffmpegdec->max_threads == 0) {
|
||||
/* When thread type is FF_THREAD_FRAME, extra latency is introduced equal
|
||||
* to one frame per thread. We thus need to calculate the thread count ourselves */
|
||||
- if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS)) ||
|
||||
+ if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_OTHER_THREADS)) ||
|
||||
(ffmpegdec->context->thread_type & FF_THREAD_FRAME))
|
||||
ffmpegdec->context->thread_count =
|
||||
MIN (gst_ffmpeg_auto_max_threads (), 16);
|
||||
--
|
||||
GitLab
|
||||
@@ -0,0 +1,34 @@
|
||||
SUMMARY = "Libav-based GStreamer 1.x plugin"
|
||||
DESCRIPTION = "Contains a GStreamer plugin for using the encoders, decoders, \
|
||||
muxers, and demuxers provided by FFmpeg."
|
||||
HOMEPAGE = "http://gstreamer.freedesktop.org/"
|
||||
SECTION = "multimedia"
|
||||
|
||||
# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency
|
||||
LICENSE_FLAGS = "commercial"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
|
||||
file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
|
||||
"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${@get_gst_ver('${PV}')}.tar.xz"
|
||||
SRC_URI[sha256sum] = "ab775d5b9a7c84176b29822b68c7a34731280039a20b7db5eb639eddd1466178"
|
||||
|
||||
S = "${WORKDIR}/gst-libav-${@get_gst_ver('${PV}')}"
|
||||
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
|
||||
|
||||
inherit meson pkgconfig upstream-version-is-even
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Dtests=disabled \
|
||||
"
|
||||
|
||||
# Drop .imx from PV
|
||||
def get_gst_ver(v):
|
||||
return oe.utils.trim_version(v, 3)
|
||||
|
||||
FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
|
||||
FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
@@ -0,0 +1,39 @@
|
||||
From 784881b9bffaa768c3a1e9cb3d8eead7b4ca356a Mon Sep 17 00:00:00 2001
|
||||
From: Hiago De Franco <hiago.franco@toradex.com>
|
||||
Date: Thu, 12 Sep 2024 18:44:14 +0200
|
||||
Subject: [PATCH] autovideoconvert: add imxvideoconvert_g2d
|
||||
|
||||
On i.MX8 platform, autovideoconvert defaults to CPU-based processing as
|
||||
imxvideoconvert_g2d is not included as a listed filter, resulting in
|
||||
poor video playback performance.
|
||||
|
||||
Add imxvideoconvert_g2d to improve performance by utilizing hardware
|
||||
acceleration.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/nxp-imx/gst-plugins-bad/pull/2]
|
||||
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
|
||||
---
|
||||
gst/autoconvert/gstautovideoconvert.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/gst/autoconvert/gstautovideoconvert.c b/gst/autoconvert/gstautovideoconvert.c
|
||||
index cf5468316cd5..b91bd1556c37 100644
|
||||
--- a/gst/autoconvert/gstautovideoconvert.c
|
||||
+++ b/gst/autoconvert/gstautovideoconvert.c
|
||||
@@ -85,6 +85,13 @@ gst_auto_video_convert_init (GstAutoVideoConvert * autovideoconvert)
|
||||
.filters = { NULL },
|
||||
.rank = GST_RANK_SECONDARY,
|
||||
},
|
||||
+ {
|
||||
+ .first_elements = { "capsfilter caps=\"video/x-raw\"", NULL, },
|
||||
+ .colorspace_converters = { "imxvideoconvert_g2d", NULL },
|
||||
+ .last_elements = { NULL, },
|
||||
+ .filters = { NULL },
|
||||
+ .rank = GST_RANK_PRIMARY + 1,
|
||||
+ },
|
||||
{
|
||||
.first_elements = { "capsfilter caps=\"video/x-raw\"", NULL, },
|
||||
.colorspace_converters = { "videoconvertscale", NULL },
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,229 @@
|
||||
# This recipe is for the i.MX fork of gstreamer1.0-plugins-bad. For ease of
|
||||
# maintenance, the top section is a verbatim copy of an OE-core
|
||||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
|
||||
|
||||
require gstreamer1.0-plugins-common.inc
|
||||
require gstreamer1.0-plugins-license.inc
|
||||
|
||||
SUMMARY = "'Bad' GStreamer plugins and helper libraries "
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
|
||||
file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
|
||||
file://0002-avoid-including-sys-poll.h-directly.patch \
|
||||
file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "e64e75cdafd7ff2fc7fc34e855b06b1e3ed227cc06fa378d17bbcd76780c338c"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-bad-${PV}"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
DEPENDS += "gstreamer1.0-plugins-base"
|
||||
|
||||
inherit gobject-introspection
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan x11', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
|
||||
bz2 closedcaption curl dash dtls hls openssl sbc smoothstreaming \
|
||||
sndfile ttml uvch264 webp \
|
||||
${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'rsvg', d)} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom"
|
||||
PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
|
||||
PACKAGECONFIG[avtp] = "-Davtp=enabled,-Davtp=disabled,libavtp"
|
||||
PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
|
||||
PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
|
||||
PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
|
||||
PACKAGECONFIG[curl] = "-Dcurl=enabled,-Dcurl=disabled,curl"
|
||||
PACKAGECONFIG[dash] = "-Ddash=enabled,-Ddash=disabled,libxml2"
|
||||
PACKAGECONFIG[dc1394] = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394"
|
||||
PACKAGECONFIG[directfb] = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb"
|
||||
PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl"
|
||||
PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac"
|
||||
PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
|
||||
PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
|
||||
PACKAGECONFIG[hls] = "-Dhls=enabled,-Dhls=disabled,"
|
||||
# Pick atleast one crypto backend below when enabling hls
|
||||
PACKAGECONFIG[nettle] = "-Dhls-crypto=nettle,,nettle"
|
||||
PACKAGECONFIG[openssl] = "-Dhls-crypto=openssl,,openssl"
|
||||
PACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt"
|
||||
# the gl packageconfig enables OpenGL elements that haven't been ported
|
||||
# to -base yet. They depend on the gstgl library in -base, so we do
|
||||
# not add GL dependencies here, since these are taken care of in -base.
|
||||
PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled,"
|
||||
PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm"
|
||||
PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
|
||||
PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2"
|
||||
PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
|
||||
PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
|
||||
PACKAGECONFIG[msdk] = "-Dmsdk=enabled -Dmfx_api=oneVPL,-Dmsdk=disabled,onevpl-intel-gpu"
|
||||
PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon"
|
||||
PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
|
||||
PACKAGECONFIG[opencv] = "-Dopencv=enabled,-Dopencv=disabled,opencv"
|
||||
PACKAGECONFIG[openh264] = "-Dopenh264=enabled,-Dopenh264=disabled,openh264"
|
||||
PACKAGECONFIG[openjpeg] = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg"
|
||||
PACKAGECONFIG[openmpt] = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt"
|
||||
# the opus encoder/decoder elements are now in the -base package,
|
||||
# but the opus parser remains in -bad
|
||||
PACKAGECONFIG[opusparse] = "-Dopus=enabled,-Dopus=disabled,libopus"
|
||||
PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav"
|
||||
PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
|
||||
PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
|
||||
PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc"
|
||||
PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled"
|
||||
PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
|
||||
PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
|
||||
PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt"
|
||||
PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
|
||||
PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
|
||||
PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
|
||||
PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
|
||||
# this enables support for stateless V4L2 mem2mem codecs, which is a newer form of
|
||||
# V4L2 codec; the V4L2 code in -base supports the older stateful V4L2 mem2mem codecs
|
||||
PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
|
||||
PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva"
|
||||
PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
|
||||
PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
|
||||
PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native"
|
||||
PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
|
||||
PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
|
||||
PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
|
||||
PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
|
||||
PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar"
|
||||
PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libxcb libxkbcommon"
|
||||
PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265"
|
||||
|
||||
GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'faad resindvd x265', d)}"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Daes=enabled \
|
||||
-Dcodecalpha=enabled \
|
||||
-Ddecklink=enabled \
|
||||
-Ddvb=enabled \
|
||||
-Dfbdev=enabled \
|
||||
-Dipcpipeline=enabled \
|
||||
-Dshm=enabled \
|
||||
-Dtranscode=enabled \
|
||||
-Dandroidmedia=disabled \
|
||||
-Dapplemedia=disabled \
|
||||
-Dasio=disabled \
|
||||
-Dbs2b=disabled \
|
||||
-Dchromaprint=disabled \
|
||||
-Dd3dvideosink=disabled \
|
||||
-Dd3d11=disabled \
|
||||
-Ddirectsound=disabled \
|
||||
-Ddts=disabled \
|
||||
-Dfdkaac=disabled \
|
||||
-Dflite=disabled \
|
||||
-Dgme=disabled \
|
||||
-Dgs=disabled \
|
||||
-Dgsm=disabled \
|
||||
-Diqa=disabled \
|
||||
-Dkate=disabled \
|
||||
-Dladspa=disabled \
|
||||
-Dldac=disabled \
|
||||
-Dlv2=disabled \
|
||||
-Dmagicleap=disabled \
|
||||
-Dmediafoundation=disabled \
|
||||
-Dmicrodns=disabled \
|
||||
-Dmpeg2enc=disabled \
|
||||
-Dmplex=disabled \
|
||||
-Dmusepack=disabled \
|
||||
-Dnvcodec=disabled \
|
||||
-Dopenexr=disabled \
|
||||
-Dopenni2=disabled \
|
||||
-Dopenaptx=disabled \
|
||||
-Dopensles=disabled \
|
||||
-Donnx=disabled \
|
||||
-Dqroverlay=disabled \
|
||||
-Dsoundtouch=disabled \
|
||||
-Dspandsp=disabled \
|
||||
-Dsvthevcenc=disabled \
|
||||
-Dteletext=disabled \
|
||||
-Dwasapi=disabled \
|
||||
-Dwasapi2=disabled \
|
||||
-Dwildmidi=disabled \
|
||||
-Dwinks=disabled \
|
||||
-Dwinscreencap=disabled \
|
||||
-Dwpe=disabled \
|
||||
-Dzxing=disabled \
|
||||
"
|
||||
|
||||
export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
|
||||
|
||||
ARM_INSTRUCTION_SET:armv4 = "arm"
|
||||
ARM_INSTRUCTION_SET:armv5 = "arm"
|
||||
|
||||
FILES:${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
|
||||
FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
|
||||
FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
|
||||
FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
|
||||
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
DEPENDS:append:imxgpu2d = " virtual/libg2d"
|
||||
|
||||
SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
|
||||
file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
|
||||
file://0002-avoid-including-sys-poll.h-directly.patch \
|
||||
file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
|
||||
"
|
||||
SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
|
||||
SRC_URI:append = " file://0001-autovideoconvert-add-imxvideoconvert_g2d.patch"
|
||||
GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.09.01_2408_L6.6.y"
|
||||
SRCREV = "7011fdfa6d60fb3ee1dc8545f675cfdb519203cd"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit use-imx-headers
|
||||
|
||||
PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}"
|
||||
PACKAGE_ARCH:mx8-nxp-bsp = "${MACHINE_SOCARCH}"
|
||||
|
||||
PACKAGECONFIG_REMOVE ?= " \
|
||||
dtls vulkan \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gl', d)} \
|
||||
"
|
||||
PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
|
||||
PACKAGECONFIG:append:mx8-nxp-bsp = " kms tinycompress"
|
||||
|
||||
PACKAGECONFIG:append = " ${PACKAGECONFIG_G2D}"
|
||||
PACKAGECONFIG_G2D ??= ""
|
||||
PACKAGECONFIG_G2D:imxgpu2d ??= "g2d"
|
||||
|
||||
PACKAGECONFIG[g2d] = ",,virtual/libg2d"
|
||||
PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
|
||||
"
|
||||
|
||||
EXTRA_OEMESON:remove = " \
|
||||
-Dkate=disabled \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
# it uses nested functions sadly, in ext/wayland/gstwaylandsink.c for GST_ELEMENT_REGISTER_DEFINE
|
||||
#
|
||||
TOOLCHAIN = "gcc"
|
||||
########### End of i.MX overrides #########
|
||||
@@ -0,0 +1,17 @@
|
||||
PACKAGECONFIG_GL:imxgpu2d = \
|
||||
"${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)}"
|
||||
PACKAGECONFIG_GL:imxgpu3d = \
|
||||
"${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
|
||||
PACKAGECONFIG_GL:use-mainline-bsp = \
|
||||
"${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}"
|
||||
|
||||
# The i.MX8 uses KMS instead of the Vivante specific framebuffer API.
|
||||
# The i.MX7 does not have a GPU, except for ULP.
|
||||
# This leaves the i.MX6 - with the vendor BSP - as the remaining use case for viv-fb.
|
||||
#
|
||||
# (Note that viv-fb is about the _windowing system_. Vivante direct texture support
|
||||
# does not depend on the viv-fb feature. It used to, but that was actually a bug
|
||||
# which was fixed in GStreamer 1.22.5. Since then, the direct texture support is
|
||||
# detected by Meson by checking for direct texture symbols like "glTexDirectVIV".)
|
||||
PACKAGECONFIG_GL:imxgpu2d:append:mx6-nxp-bsp = " viv-fb "
|
||||
PACKAGECONFIG_GL:imxgpu2d:append:mx7-nxp-bsp = " viv-fb "
|
||||
@@ -0,0 +1,148 @@
|
||||
# This recipe is for the i.MX fork of gstreamer1.0-plugins-base. For ease of
|
||||
# maintenance, the top section is a verbatim copy of an OE-core
|
||||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
|
||||
|
||||
require gstreamer1.0-plugins-common.inc
|
||||
|
||||
SUMMARY = "'Base' GStreamer plugins and helper libraries"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
|
||||
file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
|
||||
file://0003-viv-fb-Make-sure-config.h-is-included.patch \
|
||||
file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "edd4338b45c26a9af28c0d35aab964a024c3884ba6f520d8428df04212c8c93a"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-base-${PV}"
|
||||
|
||||
DEPENDS += "iso-codes util-linux zlib"
|
||||
|
||||
inherit gobject-introspection
|
||||
|
||||
# opengl packageconfig factored out to make it easy for distros
|
||||
# and BSP layers to choose OpenGL APIs/platforms/window systems
|
||||
PACKAGECONFIG_X11 = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl glx', '', d)}"
|
||||
PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl ${PACKAGECONFIG_X11}', '', d)}"
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
${PACKAGECONFIG_GL} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \
|
||||
jpeg ogg pango png theora vorbis \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
|
||||
"
|
||||
|
||||
OPENGL_APIS = 'opengl gles2'
|
||||
OPENGL_PLATFORMS = 'egl glx'
|
||||
|
||||
X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
|
||||
X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled"
|
||||
X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled"
|
||||
|
||||
PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
|
||||
PACKAGECONFIG[cdparanoia] = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia"
|
||||
PACKAGECONFIG[graphene] = "-Dgl-graphene=enabled,-Dgl-graphene=disabled,graphene"
|
||||
PACKAGECONFIG[jpeg] = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg"
|
||||
PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg"
|
||||
PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus"
|
||||
PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango"
|
||||
PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng"
|
||||
# This enables Qt5 QML examples in -base. The Qt5 GStreamer
|
||||
# qmlglsink and qmlglsrc plugins still exist in -good.
|
||||
PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native"
|
||||
PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora"
|
||||
PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor"
|
||||
PACKAGECONFIG[visual] = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual"
|
||||
PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis"
|
||||
PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
|
||||
|
||||
# OpenGL API packageconfigs
|
||||
PACKAGECONFIG[opengl] = ",,virtual/libgl libglu"
|
||||
PACKAGECONFIG[gles2] = ",,virtual/libgles2"
|
||||
|
||||
# OpenGL platform packageconfigs
|
||||
PACKAGECONFIG[egl] = ",,virtual/egl"
|
||||
PACKAGECONFIG[glx] = ",,virtual/libgl"
|
||||
|
||||
# OpenGL window systems (except for X11)
|
||||
PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm"
|
||||
PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm"
|
||||
PACKAGECONFIG[dispmanx] = ",,virtual/libomxil"
|
||||
PACKAGECONFIG[viv-fb] = ",,virtual/libgles2 virtual/libg2d"
|
||||
|
||||
OPENGL_WINSYS = "${@bb.utils.filter('PACKAGECONFIG', 'x11 gbm wayland dispmanx egl viv-fb', d)}"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
|
||||
${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
|
||||
${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
|
||||
"
|
||||
|
||||
FILES:${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
|
||||
FILES:${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
|
||||
|
||||
def get_opengl_cmdline_list(switch_name, options, d):
|
||||
selected_options = []
|
||||
if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
|
||||
for option in options.split():
|
||||
if bb.utils.contains('PACKAGECONFIG', option, True, False, d):
|
||||
selected_options += [option]
|
||||
if selected_options:
|
||||
return '-D' + switch_name + '=' + ','.join(selected_options)
|
||||
else:
|
||||
return ''
|
||||
|
||||
CVE_PRODUCT += "gst-plugins-base"
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770"
|
||||
|
||||
SRC_URI:remove = " \
|
||||
https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
|
||||
file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
|
||||
file://0003-viv-fb-Make-sure-config.h-is-included.patch \
|
||||
file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch"
|
||||
SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
|
||||
|
||||
GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.09.01_2408_L6.6.y"
|
||||
SRCREV = "97b1a45e945d3784790cafd2fcc4f6cb16e739d7"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit use-imx-headers
|
||||
|
||||
PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
|
||||
PACKAGECONFIG_REMOVE ?= "jpeg"
|
||||
|
||||
PACKAGECONFIG:append = " ${PACKAGECONFIG_G2D}"
|
||||
PACKAGECONFIG_G2D ??= ""
|
||||
PACKAGECONFIG_G2D:imxgpu2d ??= "g2d"
|
||||
|
||||
PACKAGECONFIG[g2d] = ",,virtual/libg2d"
|
||||
PACKAGECONFIG[viv-fb] = ",,virtual/libgles2"
|
||||
|
||||
# GCC-14 otherwise errors out
|
||||
CFLAGS += "-Wno-error=incompatible-pointer-types"
|
||||
EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}""
|
||||
|
||||
# links with imx-gpu libs which are pre-built for glibc
|
||||
# gcompat will address it during runtime
|
||||
LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
|
||||
########### End of i.MX overrides #########
|
||||
@@ -0,0 +1,47 @@
|
||||
# This .inc file contains the common setup for the gstreamer1.0-plugins-*
|
||||
# plugin set recipes.
|
||||
|
||||
# SUMMARY is set in the actual .bb recipes
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
|
||||
SECTION = "multimedia"
|
||||
|
||||
DEPENDS = "gstreamer1.0 glib-2.0-native"
|
||||
|
||||
inherit gettext meson pkgconfig upstream-version-is-even
|
||||
|
||||
require gstreamer1.0-plugins-packaging.inc
|
||||
|
||||
# Orc enables runtime JIT compilation of data processing routines from Orc
|
||||
# bytecode to SIMD instructions for various architectures (currently SSE, MMX,
|
||||
# MIPS, Altivec and NEON are supported).
|
||||
# This value is used in the PACKAGECONFIG values for each plugin set recipe.
|
||||
# By modifying it, Orc can be enabled/disabled in all of these recipes at once.
|
||||
GSTREAMER_ORC ?= "orc"
|
||||
# workaround to disable orc on mips to fix the build failure
|
||||
# {standard input}: Assembler messages:
|
||||
# {standard input}:46587: Error: branch out of range
|
||||
GSTREAMER_ORC:mips = ""
|
||||
PACKAGECONFIG[orc] = "-Dorc=enabled,-Dorc=disabled,orc orc-native"
|
||||
|
||||
# TODO: put this in a gettext.bbclass patch (with variables to allow for
|
||||
# configuring the option name and the enabled/disabled values).
|
||||
def gettext_oemeson(d):
|
||||
if d.getVar('USE_NLS') == 'no':
|
||||
return '-Dnls=disabled'
|
||||
# Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
|
||||
if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
|
||||
return '-Dnls=disabled'
|
||||
return '-Dnls=enabled'
|
||||
|
||||
# Not all plugin sets contain examples, so the -Dexamples
|
||||
# option needs to be added conditionally.
|
||||
GST_PLUGIN_SET_HAS_EXAMPLES ?= "1"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
${@bb.utils.contains('GST_PLUGIN_SET_HAS_EXAMPLES', '1', '-Dexamples=disabled', '', d)} \
|
||||
${@gettext_oemeson(d)} \
|
||||
"
|
||||
|
||||
GIR_MESON_ENABLE_FLAG = "enabled"
|
||||
GIR_MESON_DISABLE_FLAG = "disabled"
|
||||
@@ -0,0 +1,132 @@
|
||||
# This recipe is for the i.MX fork of gstreamer1.0-plugins-good. For ease of
|
||||
# maintenance, the top section is a verbatim copy of an OE-core
|
||||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
|
||||
|
||||
require gstreamer1.0-plugins-common.inc
|
||||
|
||||
SUMMARY = "'Good' GStreamer plugins"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
|
||||
file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
|
||||
file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch"
|
||||
|
||||
SRC_URI[sha256sum] = "b67b31313a54c6929b82969d41d3cfdf2f58db573fb5f491e6bba5d84aea0778"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-good-${PV}"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
|
||||
|
||||
DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
|
||||
RPROVIDES:${PN}-pulseaudio += "${PN}-pulse"
|
||||
RPROVIDES:${PN}-soup += "${PN}-souphttpsrc"
|
||||
RDEPENDS:${PN}-soup += "${MLPREFIX}${@bb.utils.contains('PACKAGECONFIG', 'soup2', 'libsoup-2.4', 'libsoup', d)}"
|
||||
|
||||
PACKAGECONFIG_SOUP ?= "soup3"
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
${PACKAGECONFIG_SOUP} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
|
||||
${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \
|
||||
bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 speex taglib v4l2 \
|
||||
"
|
||||
|
||||
X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
|
||||
X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
|
||||
X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
|
||||
|
||||
QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"
|
||||
|
||||
PACKAGECONFIG[asm] = "-Dasm=enabled,-Dasm=disabled,nasm-native"
|
||||
PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
|
||||
PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
|
||||
PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
|
||||
PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac"
|
||||
PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf"
|
||||
PACKAGECONFIG[gtk] = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3"
|
||||
PACKAGECONFIG[gudev] = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev"
|
||||
PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack"
|
||||
PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
|
||||
PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame"
|
||||
PACKAGECONFIG[libpng] = "-Dpng=enabled,-Dpng=disabled,libpng"
|
||||
PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
|
||||
PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
|
||||
PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
|
||||
PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
|
||||
PACKAGECONFIG[soup2] = "-Dsoup=enabled,,libsoup-2.4,,,soup3"
|
||||
PACKAGECONFIG[soup3] = "-Dsoup=enabled,,libsoup,,,soup2"
|
||||
PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex"
|
||||
PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
|
||||
PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
|
||||
PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
|
||||
PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
|
||||
PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
|
||||
PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Daalib=disabled \
|
||||
-Ddirectsound=disabled \
|
||||
-Ddv=disabled \
|
||||
-Dlibcaca=disabled \
|
||||
-Doss=enabled \
|
||||
-Doss4=disabled \
|
||||
-Dosxaudio=disabled \
|
||||
-Dosxvideo=disabled \
|
||||
-Dshout2=disabled \
|
||||
-Dtwolame=disabled \
|
||||
-Dwaveform=disabled \
|
||||
"
|
||||
|
||||
FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://LICENSE.txt;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \
|
||||
"
|
||||
# Enable pulsesink in gstreamer
|
||||
PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
|
||||
|
||||
# fb implementation of v4l2 uses libdrm
|
||||
DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}"
|
||||
DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}"
|
||||
|
||||
SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
|
||||
file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
|
||||
file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch \
|
||||
"
|
||||
|
||||
SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
|
||||
GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.09.01_2408_L6.6.y"
|
||||
SRCREV = "d8727edd56536a5c39de7905f073fce61896c0af"
|
||||
|
||||
# set 32bit compile timer for 32-bit platform
|
||||
GLIBC_64BIT_TIME_FLAGS:mx6-nxp-bsp = ""
|
||||
GLIBC_64BIT_TIME_FLAGS:mx7-nxp-bsp = ""
|
||||
INSANE_SKIP:mx6-nxp-bsp:append = " 32bit-time"
|
||||
INSANE_SKIP:mx7-nxp-bsp:append = " 32bit-time"
|
||||
|
||||
# GCC-14 otherwise errors out
|
||||
CFLAGS += " \
|
||||
-Wno-error=implicit-function-declaration \
|
||||
-Wno-error=incompatible-pointer-types \
|
||||
"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
|
||||
########### End of i.MX overrides #########
|
||||
@@ -0,0 +1,68 @@
|
||||
# Copyright (C) 2018 O.S. Systems Software LTDA.
|
||||
DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
|
||||
LICENSE = "LGPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
|
||||
SECTION = "multimedia"
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base libimxdmabuffer"
|
||||
# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
|
||||
# for the uniaudio decoder, videoparsersbad for the VPU video decoder
|
||||
# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
|
||||
# built (it is not a compile-time dependency however, hence RDEPENDS and not DEPENDS)
|
||||
RDEPENDS:gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad"
|
||||
RDEPENDS:gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers"
|
||||
RDEPENDS:gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
|
||||
|
||||
PV .= "+git${SRCPV}"
|
||||
|
||||
SRCBRANCH ?= "master"
|
||||
SRCREV = "ce4f86e60f12c56574f727f3317fa8aa30a11387"
|
||||
SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH};protocol=https"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit pkgconfig meson use-imx-headers
|
||||
|
||||
# libg2d on i.MX8 SoCs with a DPU is emulated via the DPU.
|
||||
# That particular libg2d .so depends on libdrm, however.
|
||||
# Also, due to behavioral differences, an additional flag
|
||||
# is needed to improve performance.
|
||||
LIBG2D_DPU_OPTION = "-Dg2d-based-on-dpu=false"
|
||||
LIBG2D_DEPENDENCIES = "virtual/libg2d"
|
||||
LIBG2D_DPU_OPTION:imxdpu = "-Dg2d-based-on-dpu=true"
|
||||
LIBG2D_DEPENDENCIES:imxdpu = "virtual/libg2d libdrm"
|
||||
|
||||
# v4l2-amphion and v4l2-isi are meant for the Amphion Malone
|
||||
# VPU decoder and the ISI drivers in older kernels, which had
|
||||
# lots of bugs that required nontrivial workarounds. In the
|
||||
# kernels in this release, newer drivers are present, which
|
||||
# obviate the need for these special elements.
|
||||
EXTRA_OEMESON += "-Dimx-headers-path=${STAGING_INCDIR_IMX} -Dv4l2-amphion=disabled -Dv4l2-isi=false"
|
||||
|
||||
PACKAGECONFIG ?= "uniaudiodec"
|
||||
PACKAGECONFIG:append:imxgpu2d = " g2d"
|
||||
PACKAGECONFIG:append:imxvpu = " vpu"
|
||||
PACKAGECONFIG:append:imxipu = " ipu"
|
||||
PACKAGECONFIG:append:imxpxp = " pxp"
|
||||
# The custom imxv4l2 source and sink elements are only
|
||||
# available on the i.MX6.
|
||||
# The 2D blitter sinks require an MXC framebuffer, which
|
||||
# is not available anymore on the i.MX8 (since these SoCs
|
||||
# now use KMS instead of the old Linux framebuffer).
|
||||
PACKAGECONFIG:append:mx6-nxp-bsp = " imx2dvideosink v4l2-mxc-source-sink"
|
||||
PACKAGECONFIG:append:mx7-nxp-bsp = " imx2dvideosink"
|
||||
|
||||
PACKAGECONFIG[g2d] = "-Dg2d=enabled ${LIBG2D_DPU_OPTION},-Dg2d=disabled,${LIBG2D_DEPENDENCIES}"
|
||||
PACKAGECONFIG[pxp] = "-Dpxp=enabled,-Dpxp=disabled,"
|
||||
PACKAGECONFIG[ipu] = "-Dipu=enabled,-Dipu=disabled,"
|
||||
PACKAGECONFIG[vpu] = "-Dvpu=enabled,-Dvpu=disabled,libimxvpuapi2"
|
||||
PACKAGECONFIG[imx2dvideosink] = "-Dimx2d-videosink=true,-Dimx2d-videosink=false,"
|
||||
PACKAGECONFIG[v4l2-mxc-source-sink] = "-Dv4l2-mxc-source-sink=true,-Dv4l2-mxc-source-sink=false,"
|
||||
PACKAGECONFIG[uniaudiodec] = "-Duniaudiodec=enabled,-Duniaudiodec=disabled,imx-codec"
|
||||
PACKAGECONFIG[mp3encoder] = "-Dmp3encoder=enabled,-Dmp3encoder=disabled,imx-codec"
|
||||
|
||||
require gstreamer1.0-plugins-packaging.inc
|
||||
|
||||
# the following line is required to produce one package for each plugin
|
||||
PACKAGES_DYNAMIC = "^${PN}-.*"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6dl-nxp-bsp|mx6q-nxp-bsp|mx6sl-nxp-bsp|mx6sx-nxp-bsp|mx6ul-nxp-bsp|mx6ull-nxp-bsp|mx7d-nxp-bsp|mx8-nxp-bsp)"
|
||||
@@ -0,0 +1,19 @@
|
||||
# This .inc file contains functionality for automatically setting
|
||||
# the the license of all plugins according to the GSTREAMER_GPL.
|
||||
|
||||
PACKAGESPLITFUNCS += "set_gstreamer_license"
|
||||
|
||||
python set_gstreamer_license () {
|
||||
import oe.utils
|
||||
pn = d.getVar('PN') + '-'
|
||||
gpl_plugins_names = [pn+plugin for plugin in d.getVar('GSTREAMER_GPL').split()]
|
||||
for pkg in oe.utils.packages_filter_out_system(d):
|
||||
if pkg in gpl_plugins_names:
|
||||
d.setVar('LICENSE:' + pkg, 'GPL-2.0-or-later')
|
||||
else:
|
||||
d.setVar('LICENSE:' + pkg, 'LGPL-2.1-or-later')
|
||||
}
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
${@bb.utils.contains_any('PACKAGECONFIG', "${GSTREAMER_GPL}", '-Dgpl=enabled', '-Dgpl=disabled', d)} \
|
||||
"
|
||||
@@ -0,0 +1,73 @@
|
||||
# This .inc file contains functionality for automatically splitting
|
||||
# built plugins into individual packages for each plugin. A -meta
|
||||
# package is also set up that has no files of its own, but contains
|
||||
# the names of all plugin packages in its RDEPENDS list.
|
||||
#
|
||||
# This is mainly used by the gstreamer1.0-plugins-* plugin set recipes,
|
||||
# but can be used in any recipe that produces GStreamer plugins.
|
||||
|
||||
# Dynamically generate packages for all enabled plugins
|
||||
PACKAGES_DYNAMIC = "^${PN}-.* ^libgst.*"
|
||||
|
||||
PACKAGESPLITFUNCS =+ "split_gstreamer10_packages"
|
||||
PACKAGESPLITFUNCS += "set_gstreamer10_metapkg_rdepends"
|
||||
|
||||
python split_gstreamer10_packages () {
|
||||
gst_libdir = d.expand('${libdir}/gstreamer-1.0')
|
||||
postinst = d.getVar('plugin_postinst')
|
||||
glibdir = d.getVar('libdir')
|
||||
|
||||
# GStreamer libraries
|
||||
do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'GStreamer 1.0 %s library', extra_depends='', allow_links=True)
|
||||
# GStreamer plugin shared objects
|
||||
do_split_packages(d, gst_libdir, r'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer 1.0 plugin for %s', postinst=postinst, extra_depends='')
|
||||
# GObject introspection files for GStreamer plugins
|
||||
do_split_packages(d, glibdir+'/girepository-1.0', r'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer 1.0 typelib file for %s', postinst=postinst, extra_depends='')
|
||||
# Static GStreamer libraries for development
|
||||
do_split_packages(d, gst_libdir, r'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer 1.0 plugin for %s (static development files)', extra_depends='${PN}-staticdev')
|
||||
}
|
||||
|
||||
python set_gstreamer10_metapkg_rdepends () {
|
||||
import os
|
||||
import oe.utils
|
||||
|
||||
# Go through all generated packages (excluding the main package and
|
||||
# the -meta package itself) and add them to the -meta package as RDEPENDS.
|
||||
|
||||
pn = d.getVar('PN')
|
||||
metapkg = pn + '-meta'
|
||||
d.setVar('ALLOW_EMPTY:' + metapkg, "1")
|
||||
d.setVar('FILES:' + metapkg, "")
|
||||
exclude = [ pn, pn + '-meta' ]
|
||||
metapkg_rdepends = []
|
||||
pkgdest = d.getVar('PKGDEST')
|
||||
for pkg in oe.utils.packages_filter_out_system(d):
|
||||
if pkg not in exclude and pkg not in metapkg_rdepends:
|
||||
# See if the package is empty by looking at the contents of its PKGDEST subdirectory.
|
||||
# If this subdirectory is empty, then the package is.
|
||||
# Empty packages do not get added to the meta package's RDEPENDS
|
||||
pkgdir = os.path.join(pkgdest, pkg)
|
||||
if os.path.exists(pkgdir):
|
||||
dir_contents = os.listdir(pkgdir) or []
|
||||
else:
|
||||
dir_contents = []
|
||||
is_empty = len(dir_contents) == 0
|
||||
if not is_empty:
|
||||
metapkg_rdepends.append(pkg)
|
||||
d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
|
||||
d.setVar('DESCRIPTION:' + metapkg, pn + ' meta package')
|
||||
}
|
||||
|
||||
# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
|
||||
# so we need them even when empty (like in gst-plugins-good case)
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
ALLOW_EMPTY:${PN}-dev = "1"
|
||||
ALLOW_EMPTY:${PN}-staticdev = "1"
|
||||
|
||||
PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
|
||||
|
||||
FILES:${PN} = ""
|
||||
FILES:${PN}-apps = "${bindir}"
|
||||
FILES:${PN}-glib = "${datadir}/glib-2.0"
|
||||
|
||||
RRECOMMENDS:${PN} += "${PN}-meta"
|
||||
@@ -0,0 +1,48 @@
|
||||
require gstreamer1.0-plugins-common.inc
|
||||
require gstreamer1.0-plugins-license.inc
|
||||
|
||||
SUMMARY = "'Ugly GStreamer plugins"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||
"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
|
||||
LICENSE_FLAGS = "commercial"
|
||||
|
||||
SRC_URI = " \
|
||||
https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${@get_gst_ver("${PV}")}.tar.xz \
|
||||
"
|
||||
SRC_URI[sha256sum] = "c5d1cbdf71ab0c675bca236f70edfa1feb3f813fd4bfff563308f466d8805ca5"
|
||||
|
||||
S = "${WORKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}"
|
||||
|
||||
DEPENDS += "gstreamer1.0-plugins-base"
|
||||
|
||||
GST_PLUGIN_SET_HAS_EXAMPLES = "0"
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${GSTREAMER_ORC} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG[a52dec] = "-Da52dec=enabled,-Da52dec=disabled,liba52"
|
||||
PACKAGECONFIG[cdio] = "-Dcdio=enabled,-Dcdio=disabled,libcdio"
|
||||
PACKAGECONFIG[dvdread] = "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread"
|
||||
PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec"
|
||||
PACKAGECONFIG[x264] = "-Dx264=enabled,-Dx264=disabled,x264"
|
||||
|
||||
GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'a52dec cdio dvdread mpeg2dec x264', d)}"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Dsidplay=disabled \
|
||||
"
|
||||
|
||||
# Drop .imx from PV
|
||||
def get_gst_ver(v):
|
||||
return oe.utils.trim_version(v, 3)
|
||||
|
||||
FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
@@ -0,0 +1,47 @@
|
||||
From 8d7e2eaed10e2928358805f613223a6a149790d6 Mon Sep 17 00:00:00 2001
|
||||
From: Hiago De Franco <hiago.franco@toradex.com>
|
||||
Date: Wed, 31 Jul 2024 11:51:06 -0300
|
||||
Subject: [PATCH] meson.build: Fix missing python_opt
|
||||
|
||||
'python_opt' was not declared earlier, giving the following build error:
|
||||
|
||||
| Message: python_abi_flags =
|
||||
|
|
||||
| ../gst-python-1.24.0/meson.build:84:16: ERROR: Unknown variable "python_opt".
|
||||
|
||||
Remove it and keep the error message.
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
The patch already exists upstream, but this is related to another fix [1]
|
||||
not suitable for OE. Moreover, the backport does not apply since
|
||||
the patch was added to the gstreamer monorepo.
|
||||
|
||||
[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6734?
|
||||
|
||||
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
|
||||
---
|
||||
meson.build | 7 +------
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index f240b6fd8aca..53f7a43702c7 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -80,12 +80,7 @@ foreach loc: pylib_locs
|
||||
endforeach
|
||||
endforeach
|
||||
if pylib_fname == ''
|
||||
- error_msg = 'Could not find python library to load'
|
||||
- if python_opt.enabled()
|
||||
- error(error_msg)
|
||||
- else
|
||||
- message(error_msg)
|
||||
- endif
|
||||
+ message('Could not find python library to load')
|
||||
endif
|
||||
|
||||
pygi_override_dir = get_option('pygi-overrides-dir')
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
SUMMARY = "Python bindings for GStreamer 1.0"
|
||||
DESCRIPTION = "GStreamer Python binding overrides (complementing the bindings \
|
||||
provided by python-gi) "
|
||||
HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/"
|
||||
SECTION = "multimedia"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
|
||||
|
||||
SRC_URI = "\
|
||||
https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz \
|
||||
file://0001-meson.build-Fix-missing-python_opt.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "041c2255c1ea9936c777dcb08a36ecaa6a24a69a12fc46ef53f1530d46c59f9d"
|
||||
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
|
||||
RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
|
||||
|
||||
PNREAL = "gst-python"
|
||||
|
||||
S = "${WORKDIR}/${PNREAL}-${@get_gst_ver('${PV}')}"
|
||||
|
||||
EXTRA_OEMESON += "\
|
||||
-Dtests=disabled \
|
||||
-Dplugin=enabled \
|
||||
-Dlibpython-dir=${libdir} \
|
||||
"
|
||||
|
||||
inherit meson pkgconfig setuptools3-base upstream-version-is-even features_check
|
||||
|
||||
# Drop .imx from PV
|
||||
def get_gst_ver(v):
|
||||
return oe.utils.trim_version(v, 3)
|
||||
|
||||
FILES:${PN} += "${libdir}/gstreamer-1.0"
|
||||
|
||||
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
|
||||
@@ -0,0 +1,38 @@
|
||||
SUMMARY = "A library on top of GStreamer for building an RTSP server"
|
||||
HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/"
|
||||
SECTION = "multimedia"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770"
|
||||
|
||||
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
|
||||
|
||||
PNREAL = "gst-rtsp-server"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz"
|
||||
|
||||
SRC_URI[sha256sum] = "5b0fa6b12ba95b1d336a4b274cbe19e982aa3e6819f1d97bfd8e0102b103ed9b"
|
||||
|
||||
S = "${WORKDIR}/${PNREAL}-${@get_gst_ver("${PV}")}"
|
||||
|
||||
inherit meson pkgconfig upstream-version-is-even gobject-introspection
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Dexamples=disabled \
|
||||
-Dtests=disabled \
|
||||
"
|
||||
|
||||
GIR_MESON_ENABLE_FLAG = "enabled"
|
||||
GIR_MESON_DISABLE_FLAG = "disabled"
|
||||
|
||||
# Drop .imx from PV
|
||||
def get_gst_ver(v):
|
||||
return oe.utils.trim_version(v, 3)
|
||||
|
||||
# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
|
||||
require gstreamer1.0-plugins-packaging.inc
|
||||
|
||||
CVE_PRODUCT += "gst-rtsp-server"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
PACKAGECONFIG_GL:imxgpu = "egl"
|
||||
@@ -0,0 +1,57 @@
|
||||
SUMMARY = "VA-API support to GStreamer"
|
||||
HOMEPAGE = "https://gstreamer.freedesktop.org/"
|
||||
DESCRIPTION = "gstreamer-vaapi consists of a collection of VA-API \
|
||||
based plugins for GStreamer and helper libraries: `vaapidecode', \
|
||||
`vaapiconvert', and `vaapisink'."
|
||||
|
||||
REALPN = "gstreamer-vaapi"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-1.24.0.tar.xz"
|
||||
|
||||
SRC_URI[sha256sum] = "6b1f3b91ca65dedc67dc67a25dc1d1e464f11825a27ab9c7ac7c1bda67f03596"
|
||||
|
||||
S = "${WORKDIR}/${REALPN}-${@get_gst_ver('${PV}')}"
|
||||
DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
|
||||
|
||||
inherit meson pkgconfig features_check upstream-version-is-even
|
||||
|
||||
# Drop .imx from PV
|
||||
def get_gst_ver(v):
|
||||
return oe.utils.trim_version(v, 3)
|
||||
|
||||
REQUIRED_DISTRO_FEATURES ?= "opengl"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Dexamples=disabled \
|
||||
-Dtests=enabled \
|
||||
"
|
||||
|
||||
PACKAGES =+ "${PN}-tests"
|
||||
|
||||
# OpenGL packageconfig factored out to make it easy for distros
|
||||
# and BSP layers to pick either glx, egl, or no GL. By default,
|
||||
# try detecting X11 first, and if found (with OpenGL), use GLX,
|
||||
# otherwise try to check if EGL can be used.
|
||||
PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', \
|
||||
bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl', \
|
||||
'', d), d)}"
|
||||
|
||||
PACKAGECONFIG ??= "drm encoders \
|
||||
${PACKAGECONFIG_GL} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
|
||||
|
||||
PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,udev libdrm"
|
||||
PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl"
|
||||
PACKAGECONFIG[encoders] = "-Dencoders=enabled,-Dencoders=disabled"
|
||||
PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/libgl"
|
||||
PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols"
|
||||
PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxrandr libxrender"
|
||||
|
||||
FILES:${PN} += "${libdir}/gstreamer-*/*.so"
|
||||
FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug"
|
||||
FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a"
|
||||
FILES:${PN}-tests = "${bindir}/*"
|
||||
@@ -0,0 +1,34 @@
|
||||
From 559e1dd850b2b9eb3a415aa43e932e5e48f605cd Mon Sep 17 00:00:00 2001
|
||||
From: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
Date: Sun, 11 Apr 2021 19:48:13 +0100
|
||||
Subject: [PATCH] tests: respect the idententaion used in meson
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
|
||||
|
||||
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
|
||||
---
|
||||
tests/check/meson.build | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/tests/check/meson.build b/tests/check/meson.build
|
||||
index 9787b0a..16caac7 100644
|
||||
--- a/tests/check/meson.build
|
||||
+++ b/tests/check/meson.build
|
||||
@@ -145,11 +145,11 @@ foreach t : core_tests
|
||||
|
||||
if not skip_test
|
||||
exe = executable(test_name, fname,
|
||||
- c_args : gst_c_args + test_defines,
|
||||
- cpp_args : gst_c_args + test_defines,
|
||||
- include_directories : [configinc],
|
||||
- link_with : link_with_libs,
|
||||
- dependencies : gst_deps + test_deps,
|
||||
+ c_args : gst_c_args + test_defines,
|
||||
+ cpp_args : gst_c_args + test_defines,
|
||||
+ include_directories : [configinc],
|
||||
+ link_with : link_with_libs,
|
||||
+ dependencies : gst_deps + test_deps,
|
||||
)
|
||||
|
||||
env = environment()
|
||||
@@ -0,0 +1,109 @@
|
||||
From 330e15374bb30ac29ee72c4b3de79c17b1157112 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
Date: Sun, 11 Apr 2021 19:48:13 +0100
|
||||
Subject: [PATCH] tests: add support for install the tests
|
||||
|
||||
This will provide to run the tests using the gnome-desktop-testing [1]
|
||||
|
||||
[1] https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
|
||||
|
||||
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
|
||||
---
|
||||
meson.build | 4 ++++
|
||||
meson_options.txt | 1 +
|
||||
tests/check/meson.build | 21 ++++++++++++++++++++-
|
||||
tests/check/template.test.in | 3 +++
|
||||
4 files changed, 28 insertions(+), 1 deletion(-)
|
||||
create mode 100644 tests/check/template.test.in
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 540d6d290e10..0267f22a79ea 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -624,6 +624,10 @@ if bashcomp_dep.found()
|
||||
endif
|
||||
endif
|
||||
|
||||
+installed_tests_enabled = get_option('installed_tests')
|
||||
+installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name())
|
||||
+installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name())
|
||||
+
|
||||
plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
|
||||
|
||||
pkgconfig = import('pkgconfig')
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 340fb5801d02..5b87f68e8d7f 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -16,6 +16,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
|
||||
option('memory-alignment', type: 'combo',
|
||||
choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'],
|
||||
value: 'malloc')
|
||||
+option('installed_tests', type : 'boolean', value : false, description : 'Enable installed tests')
|
||||
|
||||
# Feature options
|
||||
option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
|
||||
diff --git a/tests/check/meson.build b/tests/check/meson.build
|
||||
index e9501feb2af5..fd5a99611e3d 100644
|
||||
--- a/tests/check/meson.build
|
||||
+++ b/tests/check/meson.build
|
||||
@@ -125,10 +125,16 @@ test_defines = [
|
||||
'-UG_DISABLE_ASSERT',
|
||||
'-UG_DISABLE_CAST_CHECKS',
|
||||
'-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
|
||||
- '-DTESTFILE="' + fsmod.as_posix(meson.current_source_dir()) + '/meson.build"',
|
||||
'-DGST_DISABLE_DEPRECATED',
|
||||
]
|
||||
|
||||
+testfile = meson.current_source_dir() + '/meson.build'
|
||||
+if installed_tests_enabled
|
||||
+ install_data(testfile, install_dir : installed_tests_metadir, rename : 'testfile')
|
||||
+ testfile = installed_tests_metadir + '/testfile'
|
||||
+endif
|
||||
+test_defines += '-DTESTFILE="@0@"'.format(testfile)
|
||||
+
|
||||
# sanity checking
|
||||
if get_option('check').disabled()
|
||||
if get_option('tests').enabled()
|
||||
@@ -151,6 +157,8 @@ foreach t : core_tests
|
||||
include_directories : [configinc],
|
||||
link_with : link_with_libs,
|
||||
dependencies : gst_deps + test_deps,
|
||||
+ install_dir: installed_tests_execdir,
|
||||
+ install: installed_tests_enabled,
|
||||
)
|
||||
|
||||
env = environment()
|
||||
@@ -161,6 +169,17 @@ foreach t : core_tests
|
||||
env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
|
||||
env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
|
||||
env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
|
||||
+ if installed_tests_enabled
|
||||
+ test_conf = configuration_data()
|
||||
+ test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir))
|
||||
+ test_conf.set('program', test_name)
|
||||
+ configure_file(
|
||||
+ input: 'template.test.in',
|
||||
+ output: test_name + '.test',
|
||||
+ install_dir: installed_tests_metadir,
|
||||
+ configuration: test_conf
|
||||
+ )
|
||||
+ endif
|
||||
|
||||
test(test_name, exe, env: env, timeout : 3 * 60)
|
||||
endif
|
||||
diff --git a/tests/check/template.test.in b/tests/check/template.test.in
|
||||
new file mode 100644
|
||||
index 000000000000..f701627f87a6
|
||||
--- /dev/null
|
||||
+++ b/tests/check/template.test.in
|
||||
@@ -0,0 +1,3 @@
|
||||
+[Test]
|
||||
+Type=session
|
||||
+Exec=@installed_tests_dir@/@program@
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From 1f13b802bdb1c1e414c70f770dc164c80e0dcd57 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
Date: Sat, 24 Apr 2021 10:34:47 +0100
|
||||
Subject: [PATCH 3/4] tests: use a dictionaries for environment
|
||||
|
||||
meson environment() can't be passed to configure_file and it is needed for installed_tests,
|
||||
use a dictionary as this is simplest solution to install the environment.
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
|
||||
|
||||
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
---
|
||||
tests/check/meson.build | 22 ++++++++++++++--------
|
||||
1 file changed, 14 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/tests/check/meson.build b/tests/check/meson.build
|
||||
index fd5a99611e3d..330abaaeadd5 100644
|
||||
--- a/tests/check/meson.build
|
||||
+++ b/tests/check/meson.build
|
||||
@@ -161,14 +161,20 @@ foreach t : core_tests
|
||||
install: installed_tests_enabled,
|
||||
)
|
||||
|
||||
- env = environment()
|
||||
- env.set('GST_PLUGIN_PATH_1_0', meson.project_build_root())
|
||||
- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
|
||||
- env.set('GST_STATE_IGNORE_ELEMENTS', '')
|
||||
- env.set('CK_DEFAULT_TIMEOUT', '20')
|
||||
- env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
|
||||
- env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
|
||||
- env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
|
||||
+ # meson environment object can't be passed to configure_file and
|
||||
+ # installed tests uses configure_file to install the environment.
|
||||
+ # use a dictionary as this is the simplest solution
|
||||
+ # to install the environment.
|
||||
+ env = {
|
||||
+ 'GST_PLUGIN_PATH_1_0': meson.project_build_root(),
|
||||
+ 'GST_PLUGIN_SYSTEM_PATH_1_0': '',
|
||||
+ 'GST_STATE_IGNORE_ELEMENTS': '',
|
||||
+ 'CK_DEFAULT_TIMEOUT': '20',
|
||||
+ 'GST_REGISTRY': '@0@/@1@.registry'.format(meson.current_build_dir(), test_name),
|
||||
+ 'GST_PLUGIN_SCANNER_1_0': gst_scanner_dir + '/gst-plugin-scanner',
|
||||
+ 'GST_PLUGIN_LOADING_WHITELIST': 'gstreamer',
|
||||
+ }
|
||||
+
|
||||
if installed_tests_enabled
|
||||
test_conf = configuration_data()
|
||||
test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir))
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
From 616c489d4ff1e7ed878bc3760180ba994fbd1974 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
Date: Sun, 2 May 2021 01:58:01 +0100
|
||||
Subject: [PATCH 4/4] tests: add helper script to run the installed_tests
|
||||
|
||||
- this is a bash script that will run the installed_tests
|
||||
with some of the environment variables used in the meson
|
||||
testing framework.
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
|
||||
|
||||
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
|
||||
---
|
||||
tests/check/meson.build | 17 +++++++++++++++++
|
||||
tests/check/template.sh.in | 9 +++++++++
|
||||
tests/check/template.test.in | 2 +-
|
||||
3 files changed, 27 insertions(+), 1 deletion(-)
|
||||
create mode 100644 tests/check/template.sh.in
|
||||
|
||||
diff --git a/tests/check/meson.build b/tests/check/meson.build
|
||||
index 330abaaeadd5..5d383b14dc29 100644
|
||||
--- a/tests/check/meson.build
|
||||
+++ b/tests/check/meson.build
|
||||
@@ -185,6 +185,23 @@ foreach t : core_tests
|
||||
install_dir: installed_tests_metadir,
|
||||
configuration: test_conf
|
||||
)
|
||||
+
|
||||
+ # All the tests will be deployed on the target machine and
|
||||
+ # we use the home folder ~ for the registry which will then expand at runtime.
|
||||
+ # Using the /tmp/gstreamer-1.0/@0@.registry can be problematic as it mostly
|
||||
+ # is mounted using tmpfs and if the machine crash from some reason we can lost the registry
|
||||
+ # that is useful for debug propose of the tests itself.
|
||||
+ env += {'GST_REGISTRY': '~/.cache/gstreamer-1.0/@0@.registry'.format(test_name)}
|
||||
+
|
||||
+ # Set the full path for the test it self.
|
||||
+ env += {'TEST': '@0@/@1@'.format(join_paths(prefix, installed_tests_execdir), test_name)}
|
||||
+
|
||||
+ configure_file(
|
||||
+ input : 'template.sh.in',
|
||||
+ output: test_name + '.sh',
|
||||
+ install_dir: installed_tests_execdir,
|
||||
+ configuration : env,
|
||||
+ )
|
||||
endif
|
||||
|
||||
test(test_name, exe, env: env, timeout : 3 * 60)
|
||||
diff --git a/tests/check/template.sh.in b/tests/check/template.sh.in
|
||||
new file mode 100644
|
||||
index 000000000000..cf7d31b0ea5f
|
||||
--- /dev/null
|
||||
+++ b/tests/check/template.sh.in
|
||||
@@ -0,0 +1,9 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+set -ax
|
||||
+
|
||||
+CK_DEFAULT_TIMEOUT="@CK_DEFAULT_TIMEOUT@"
|
||||
+GST_PLUGIN_LOADING_WHITELIST="@GST_PLUGIN_LOADING_WHITELIST@"
|
||||
+GST_REGISTRY=@GST_REGISTRY@
|
||||
+GST_STATE_IGNORE_ELEMENTS="@GST_STATE_IGNORE_ELEMENTS@"
|
||||
+exec @TEST@
|
||||
diff --git a/tests/check/template.test.in b/tests/check/template.test.in
|
||||
index f701627f87a6..b74ef6ad732a 100644
|
||||
--- a/tests/check/template.test.in
|
||||
+++ b/tests/check/template.test.in
|
||||
@@ -1,3 +1,3 @@
|
||||
[Test]
|
||||
Type=session
|
||||
-Exec=@installed_tests_dir@/@program@
|
||||
+Exec=@installed_tests_dir@/@program@.sh
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env sh
|
||||
gnome-desktop-testing-runner gstreamer
|
||||
@@ -0,0 +1,105 @@
|
||||
# This recipe is for the i.MX fork of gstreamer1.0. For ease of
|
||||
# maintenance, the top section is a verbatim copy of an OE-core
|
||||
# recipe. The second section customizes the recipe for i.MX.
|
||||
|
||||
########### OE-core copy ##################
|
||||
# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
|
||||
|
||||
SUMMARY = "GStreamer 1.0 multimedia framework"
|
||||
DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
|
||||
It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime."
|
||||
HOMEPAGE = "http://gstreamer.freedesktop.org/"
|
||||
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
|
||||
SECTION = "multimedia"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
|
||||
DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native"
|
||||
|
||||
inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
|
||||
file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
|
||||
|
||||
S = "${WORKDIR}/gstreamer-${PV}"
|
||||
|
||||
SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
|
||||
file://run-ptest \
|
||||
file://0001-tests-respect-the-idententaion-used-in-meson.patch \
|
||||
file://0002-tests-add-support-for-install-the-tests.patch \
|
||||
file://0003-tests-use-a-dictionaries-for-environment.patch \
|
||||
file://0004-tests-add-helper-script-to-run-the-installed_tests.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "4408d7930f381809e85917acc19712f173261ba85bdf20c5567b2a21b1193b61"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
|
||||
check \
|
||||
debug \
|
||||
tools"
|
||||
|
||||
PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false"
|
||||
PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
|
||||
PACKAGECONFIG[coretracers] = "-Dcoretracers=enabled,-Dcoretracers=disabled"
|
||||
PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled"
|
||||
PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled_tests=true,-Dtests=disabled -Dinstalled_tests=false"
|
||||
PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
|
||||
PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
|
||||
PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
|
||||
PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled"
|
||||
PACKAGECONFIG[setcap] = "-Dptp-helper-permissions=capabilities,,libcap libcap-native"
|
||||
|
||||
# TODO: put this in a gettext.bbclass patch
|
||||
def gettext_oemeson(d):
|
||||
if d.getVar('USE_NLS') == 'no':
|
||||
return '-Dnls=disabled'
|
||||
# Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
|
||||
if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
|
||||
return '-Dnls=disabled'
|
||||
return '-Dnls=enabled'
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Ddoc=disabled \
|
||||
-Dexamples=disabled \
|
||||
-Ddbghelp=disabled \
|
||||
${@gettext_oemeson(d)} \
|
||||
"
|
||||
|
||||
GIR_MESON_ENABLE_FLAG = "enabled"
|
||||
GIR_MESON_DISABLE_FLAG = "disabled"
|
||||
|
||||
PACKAGES += "${PN}-bash-completion"
|
||||
|
||||
# Add the core element plugins to the main package
|
||||
FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
|
||||
FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
|
||||
FILES:${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
|
||||
FILES:${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
|
||||
|
||||
RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-iso8859-5"
|
||||
|
||||
CVE_PRODUCT = "gstreamer"
|
||||
|
||||
PTEST_BUILD_HOST_FILES = ""
|
||||
|
||||
########### End of OE-core copy ###########
|
||||
|
||||
########### i.MX overrides ################
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770 \
|
||||
file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d \
|
||||
"
|
||||
|
||||
# Use i.MX fork of GST for customizations
|
||||
SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz"
|
||||
SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
|
||||
GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.09.01_2408_L6.6.y"
|
||||
SRCREV = "eb286c0766a4fbbae70c8e9dda074f5a90e52e42"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
|
||||
########### End of i.MX overrides #########
|
||||
@@ -0,0 +1,98 @@
|
||||
# Copyright (C) 2014,2016 Freescale Semiconductor
|
||||
# Copyright 2017-2021 NXP
|
||||
# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
DESCRIPTION = "Gstreamer freescale plugins"
|
||||
SECTION = "multimedia"
|
||||
LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24"
|
||||
|
||||
DEPENDS = " \
|
||||
gstreamer1.0 \
|
||||
gstreamer1.0-plugins-base \
|
||||
gstreamer1.0-plugins-bad \
|
||||
imx-codec \
|
||||
imx-parser \
|
||||
${DEPENDS_IMXGPU} \
|
||||
"
|
||||
DEPENDS:append:mx6-nxp-bsp = " imx-lib"
|
||||
DEPENDS:append:mx7-nxp-bsp = " imx-lib"
|
||||
DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib"
|
||||
DEPENDS:append:mx93-nxp-bsp = " imx-lib"
|
||||
DEPENDS:append:imxvpu = " imx-vpuwrap"
|
||||
DEPENDS:append:imxfbdev:imxgpu = " libdrm"
|
||||
DEPENDS_IMXGPU = ""
|
||||
DEPENDS_IMXGPU:imxgpu = "${DEPENDS_IMX_OPENCL_CONVERTER}"
|
||||
DEPENDS_IMX_OPENCL_CONVERTER = "imx-opencl-converter"
|
||||
DEPENDS_IMX_OPENCL_CONVERTER:mx6-nxp-bsp = ""
|
||||
DEPENDS_IMX_OPENCL_CONVERTER:mx7-nxp-bsp = ""
|
||||
DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = ""
|
||||
|
||||
# For backwards compatibility
|
||||
RREPLACES:${PN} = "gst1.0-fsl-plugin"
|
||||
RPROVIDES:${PN} = "gst1.0-fsl-plugin"
|
||||
RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
|
||||
|
||||
PV = "4.9.1+git${SRCPV}"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}"
|
||||
SRCBRANCH = "MM_04.09.01_2408_L6.6.y"
|
||||
SRCREV = "87135d5f084b6c61efa6671cddc3a5509ab11640"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit meson pkgconfig use-imx-headers
|
||||
|
||||
PLATFORM:mx6-nxp-bsp = "MX6"
|
||||
PLATFORM:mx6sl-nxp-bsp = "MX6SL"
|
||||
PLATFORM:mx6sx-nxp-bsp = "MX6SX"
|
||||
PLATFORM:mx6ul-nxp-bsp = "MX6UL"
|
||||
PLATFORM:mx6sll-nxp-bsp = "MX6SLL"
|
||||
PLATFORM:mx7-nxp-bsp= "MX7D"
|
||||
PLATFORM:mx7ulp-nxp-bsp= "MX7ULP"
|
||||
PLATFORM:mx8-nxp-bsp = "MX8"
|
||||
PLATFORM:mx9-nxp-bsp = "MX9"
|
||||
|
||||
CFLAGS:append:toolchain-clang = " -Wno-implicit-int -Wno-int-conversion -Wno-incompatible-function-pointer-types"
|
||||
|
||||
# Todo add a mechanism to map possible build targets
|
||||
EXTRA_OEMESON = "-Dplatform=${PLATFORM} \
|
||||
-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
|
||||
"
|
||||
|
||||
PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN}-librecorder-engine ${PN}-libplayengine"
|
||||
|
||||
# Add codec list that the beep plugin run-time depended
|
||||
BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis"
|
||||
RDEPENDS:${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux "
|
||||
RDEPENDS:${PN}:append:mx8qm-nxp-bsp = " imx-dsp"
|
||||
RDEPENDS:${PN}:append:mx8qxp-nxp-bsp = " imx-dsp"
|
||||
RDEPENDS:${PN}:append:mx8dx-nxp-bsp = " imx-dsp"
|
||||
RDEPENDS:${PN}:append:mx8mp-nxp-bsp = " imx-dsp"
|
||||
RDEPENDS:${PN}:append:mx8ulp-nxp-bsp = " imx-dsp"
|
||||
|
||||
PACKAGECONFIG ?= ""
|
||||
|
||||
# FIXME: Add all features
|
||||
# feature from excluded mm packages
|
||||
PACKAGECONFIG[ac3] = ",,imx-ac3codec,imx-ac3codec"
|
||||
# feature from special mm packages
|
||||
PACKAGECONFIG[aacp] = ",,imx-aacpcodec,imx-aacpcodec"
|
||||
MSDEPENDS = "imx-msparser imx-mscodec"
|
||||
PACKAGECONFIG[wma10dec] = ",,${MSDEPENDS},${MSDEPENDS}"
|
||||
PACKAGECONFIG[wma8enc] = ",,${MSDEPENDS},${MSDEPENDS}"
|
||||
|
||||
FILES:${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}"
|
||||
|
||||
FILES:${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
|
||||
FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc"
|
||||
FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
|
||||
FILES:${PN}-gplay = "${bindir}/gplay-1.0"
|
||||
FILES:${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}"
|
||||
FILES:${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}"
|
||||
FILES:${PN}-grecorder = "${bindir}/grecorder-1.0"
|
||||
FILES:${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}"
|
||||
FILES:${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
Reference in New Issue
Block a user