summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.imx.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.imx.bb')
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.imx.bb216
1 files changed, 216 insertions, 0 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.imx.bb
new file mode 100644
index 00000000..2dfe80b5
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.imx.bb
@@ -0,0 +1,216 @@
1# This recipe is for the i.MX fork of gstreamer1.0-plugins-bad. For ease of
2# maintenance, the top section is a verbatim copy of an OE-core
3# recipe. The second section customizes the recipe for i.MX.
4
5########### OE-core copy ##################
6# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138
7
8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
9require recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
10
11DESCRIPTION = "'Bad' GStreamer plugins and helper libraries "
12HOMEPAGE = "https://gstreamer.freedesktop.org/"
13BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
14
15SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
16 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
17 file://0002-avoid-including-sys-poll.h-directly.patch \
18 file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
19 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
20 file://0005-msdk-fix-includedir-path.patch \
21 "
22SRC_URI[sha256sum] = "09d3c2cf5911f0bc7da6bf557a55251779243d3de216b6a26cc90c445b423848"
23
24S = "${WORKDIR}/gst-plugins-bad-${PV}"
25
26LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
27LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
28
29DEPENDS += "gstreamer1.0-plugins-base"
30
31inherit gobject-introspection
32
33PACKAGECONFIG ??= " \
34 ${GSTREAMER_ORC} \
35 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
36 ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan x11', d)} \
37 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
38 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
39 bz2 closedcaption curl dash dtls hls openssl sbc smoothstreaming \
40 sndfile ttml uvch264 webp \
41 ${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'rsvg', d)} \
42"
43
44PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom"
45PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
46PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
47PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
48PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
49PACKAGECONFIG[curl] = "-Dcurl=enabled,-Dcurl=disabled,curl"
50PACKAGECONFIG[dash] = "-Ddash=enabled,-Ddash=disabled,libxml2"
51PACKAGECONFIG[dc1394] = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394"
52PACKAGECONFIG[directfb] = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb"
53PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl"
54PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac"
55PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
56PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
57PACKAGECONFIG[hls] = "-Dhls=enabled,-Dhls=disabled,"
58# Pick atleast one crypto backend below when enabling hls
59PACKAGECONFIG[nettle] = "-Dhls-crypto=nettle,,nettle"
60PACKAGECONFIG[openssl] = "-Dhls-crypto=openssl,,openssl"
61PACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt"
62# the gl packageconfig enables OpenGL elements that haven't been ported
63# to -base yet. They depend on the gstgl library in -base, so we do
64# not add GL dependencies here, since these are taken care of in -base.
65PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled,"
66PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm"
67PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
68PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2"
69PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
70PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
71PACKAGECONFIG[msdk] = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk"
72PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon"
73PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
74PACKAGECONFIG[opencv] = "-Dopencv=enabled,-Dopencv=disabled,opencv"
75PACKAGECONFIG[openh264] = "-Dopenh264=enabled,-Dopenh264=disabled,openh264"
76PACKAGECONFIG[openjpeg] = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg"
77PACKAGECONFIG[openmpt] = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt"
78# the opus encoder/decoder elements are now in the -base package,
79# but the opus parser remains in -bad
80PACKAGECONFIG[opusparse] = "-Dopus=enabled,-Dopus=disabled,libopus"
81PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav"
82PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
83PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
84PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc"
85PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled"
86PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
87PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
88PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt"
89PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
90PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
91PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
92PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
93PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
94PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva"
95PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
96PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
97PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native"
98PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
99PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
100PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
101PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
102PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar"
103PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libxcb libxkbcommon"
104PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265"
105
106GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'faad resindvd x265', d)}"
107
108EXTRA_OEMESON += " \
109 -Ddoc=disabled \
110 -Daes=enabled \
111 -Dcodecalpha=enabled \
112 -Ddecklink=enabled \
113 -Ddvb=enabled \
114 -Dfbdev=enabled \
115 -Dipcpipeline=enabled \
116 -Dshm=enabled \
117 -Dtranscode=enabled \
118 -Dandroidmedia=disabled \
119 -Dapplemedia=disabled \
120 -Dasio=disabled \
121 -Davtp=disabled \
122 -Dbs2b=disabled \
123 -Dchromaprint=disabled \
124 -Dd3dvideosink=disabled \
125 -Dd3d11=disabled \
126 -Ddirectsound=disabled \
127 -Ddts=disabled \
128 -Dfdkaac=disabled \
129 -Dflite=disabled \
130 -Dgme=disabled \
131 -Dgs=disabled \
132 -Dgsm=disabled \
133 -Diqa=disabled \
134 -Dkate=disabled \
135 -Dladspa=disabled \
136 -Dldac=disabled \
137 -Dlv2=disabled \
138 -Dmagicleap=disabled \
139 -Dmediafoundation=disabled \
140 -Dmicrodns=disabled \
141 -Dmpeg2enc=disabled \
142 -Dmplex=disabled \
143 -Dmusepack=disabled \
144 -Dnvcodec=disabled \
145 -Dopenexr=disabled \
146 -Dopenni2=disabled \
147 -Dopenaptx=disabled \
148 -Dopensles=disabled \
149 -Donnx=disabled \
150 -Dqroverlay=disabled \
151 -Dsoundtouch=disabled \
152 -Dspandsp=disabled \
153 -Dsvthevcenc=disabled \
154 -Dteletext=disabled \
155 -Dwasapi=disabled \
156 -Dwasapi2=disabled \
157 -Dwildmidi=disabled \
158 -Dwinks=disabled \
159 -Dwinscreencap=disabled \
160 -Dwpe=disabled \
161 -Dzxing=disabled \
162"
163export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
164
165ARM_INSTRUCTION_SET:armv4 = "arm"
166ARM_INSTRUCTION_SET:armv5 = "arm"
167
168FILES:${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
169FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
170FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
171FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
172
173########### End of OE-core copy ###########
174
175########### i.MX overrides ################
176
177DEFAULT_PREFERENCE = "-1"
178
179DEPENDS:append:imxgpu2d = " virtual/libg2d"
180
181SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
182 file://0002-avoid-including-sys-poll.h-directly.patch \
183 file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
184 file://0005-msdk-fix-includedir-path.patch \
185 "
186SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
187GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
188SRCBRANCH = "MM_04.07.02_2210_L5.15.y"
189SRCREV = "cfb43ae30f9038a004ea1b916c74bc66f33e1171"
190
191S = "${WORKDIR}/git"
192
193inherit use-imx-headers
194
195PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}"
196PACKAGE_ARCH:mx8-nxp-bsp = "${MACHINE_SOCARCH}"
197
198PACKAGECONFIG_REMOVE ?= " \
199 dtls vulkan \
200 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gl', d)} \
201"
202PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
203PACKAGECONFIG:append:mx8-nxp-bsp = " kms tinycompress"
204
205PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress"
206
207EXTRA_OEMESON += " \
208 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
209"
210
211COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
212
213# it uses nested functions sadly, in ext/wayland/gstwaylandsink.c for GST_ELEMENT_REGISTER_DEFINE
214#
215TOOLCHAIN = "gcc"
216########### End of i.MX overrides #########