blob: 96f01391b4c35a259a77d4dfb832c38a56eae982 [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001require gstreamer1.0-plugins-common.inc
2
Andrew Geissler90fd73c2021-03-05 15:25:55 -06003DESCRIPTION = "'Bad' GStreamer plugins and helper libraries "
4HOMEPAGE = "https://gstreamer.freedesktop.org/"
5BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
6
Andrew Geissler6ce62a22020-11-30 19:58:47 -06007SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
8 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
9 file://0002-avoid-including-sys-poll.h-directly.patch \
10 file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
11 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
Andrew Geisslerd1e89492021-02-12 15:35:20 -060012 file://0005-msdk-fix-includedir-path.patch \
Andrew Geissler6ce62a22020-11-30 19:58:47 -060013 "
Andrew Geissler95ac1b82021-03-31 14:34:31 -050014SRC_URI[sha256sum] = "74e806bc5595b18c70e9ca93571e27e79dfb808e5d2e7967afa952b52e99c85f"
Andrew Geissler82c905d2020-04-13 13:39:40 -050015
16S = "${WORKDIR}/gst-plugins-bad-${PV}"
17
18LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
Andrew Geissler6ce62a22020-11-30 19:58:47 -060019LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
Andrew Geissler82c905d2020-04-13 13:39:40 -050020
21DEPENDS += "gstreamer1.0-plugins-base"
22
23inherit gobject-introspection
24
25PACKAGECONFIG ??= " \
26 ${GSTREAMER_ORC} \
27 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
28 ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \
29 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
30 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
Andrew Geisslerc926e172021-05-07 16:11:35 -050031 bz2 closedcaption curl dash dtls hls openssl rsvg sbc smoothstreaming \
32 sndfile ttml uvch264 webp \
Andrew Geissler82c905d2020-04-13 13:39:40 -050033"
34
Andrew Geisslerd1e89492021-02-12 15:35:20 -060035PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom"
Andrew Geissler82c905d2020-04-13 13:39:40 -050036PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
37PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
38PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
39PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
40PACKAGECONFIG[curl] = "-Dcurl=enabled,-Dcurl=disabled,curl"
41PACKAGECONFIG[dash] = "-Ddash=enabled,-Ddash=disabled,libxml2"
42PACKAGECONFIG[dc1394] = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394"
43PACKAGECONFIG[directfb] = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb"
44PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl"
45PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac"
46PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
47PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
Andrew Geisslerc926e172021-05-07 16:11:35 -050048PACKAGECONFIG[hls] = "-Dhls=enabled,-Dhls=disabled,"
49# Pick atleast one crypto backend below when enabling hls
50PACKAGECONFIG[nettle] = "-Dhls-crypto=nettle,,nettle"
51PACKAGECONFIG[openssl] = "-Dhls-crypto=openssl,,openssl"
52PACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt"
Andrew Geissler82c905d2020-04-13 13:39:40 -050053# the gl packageconfig enables OpenGL elements that haven't been ported
54# to -base yet. They depend on the gstgl library in -base, so we do
55# not add GL dependencies here, since these are taken care of in -base.
56PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled,"
57PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm"
58PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
59PACKAGECONFIG[libmms] = "-Dlibmms=enabled,-Dlibmms=disabled,libmms"
60PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2"
61PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
62PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
63PACKAGECONFIG[msdk] = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk"
64PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon"
65PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
66PACKAGECONFIG[opencv] = "-Dopencv=enabled,-Dopencv=disabled,opencv"
67PACKAGECONFIG[openh264] = "-Dopenh264=enabled,-Dopenh264=disabled,openh264"
68PACKAGECONFIG[openjpeg] = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg"
69PACKAGECONFIG[openmpt] = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt"
70# the opus encoder/decoder elements are now in the -base package,
71# but the opus parser remains in -bad
72PACKAGECONFIG[opusparse] = "-Dopus=enabled,-Dopus=disabled,libopus"
73PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav"
74PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
75PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
76PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc"
Andrew Geisslerd1e89492021-02-12 15:35:20 -060077PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled"
Andrew Geissler82c905d2020-04-13 13:39:40 -050078PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
79PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
Andrew Geissler6ce62a22020-11-30 19:58:47 -060080PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt"
Andrew Geissler82c905d2020-04-13 13:39:40 -050081PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
82PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
83PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
84PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
Andrew Geisslerd1e89492021-02-12 15:35:20 -060085PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
Andrew Geissler6ce62a22020-11-30 19:58:47 -060086PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva"
Andrew Geissler82c905d2020-04-13 13:39:40 -050087PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
88PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
Andrew Geissler6ce62a22020-11-30 19:58:47 -060089PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native"
Andrew Geissler82c905d2020-04-13 13:39:40 -050090PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
91PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
92PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
93PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
94PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar"
Andrew Geisslerd1e89492021-02-12 15:35:20 -060095PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265"
Andrew Geissler82c905d2020-04-13 13:39:40 -050096
97EXTRA_OEMESON += " \
Andrew Geissler6ce62a22020-11-30 19:58:47 -060098 -Ddoc=disabled \
Andrew Geissler82c905d2020-04-13 13:39:40 -050099 -Ddecklink=enabled \
100 -Ddvb=enabled \
101 -Dfbdev=enabled \
102 -Dipcpipeline=enabled \
Andrew Geissler82c905d2020-04-13 13:39:40 -0500103 -Dshm=enabled \
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600104 -Dtranscode=enabled \
Andrew Geissler82c905d2020-04-13 13:39:40 -0500105 -Dandroidmedia=disabled \
106 -Dapplemedia=disabled \
Andrew Geissler6ce62a22020-11-30 19:58:47 -0600107 -Davtp=disabled \
Andrew Geissler82c905d2020-04-13 13:39:40 -0500108 -Dbs2b=disabled \
109 -Dchromaprint=disabled \
110 -Dd3dvideosink=disabled \
Andrew Geissler6ce62a22020-11-30 19:58:47 -0600111 -Dd3d11=disabled \
Andrew Geissler82c905d2020-04-13 13:39:40 -0500112 -Ddirectsound=disabled \
113 -Ddts=disabled \
114 -Dfdkaac=disabled \
115 -Dflite=disabled \
116 -Dgme=disabled \
117 -Dgsm=disabled \
118 -Diqa=disabled \
119 -Dkate=disabled \
120 -Dladspa=disabled \
121 -Dlv2=disabled \
Andrew Geissler6ce62a22020-11-30 19:58:47 -0600122 -Dmagicleap=disabled \
123 -Dmediafoundation=disabled \
124 -Dmicrodns=disabled \
Andrew Geissler82c905d2020-04-13 13:39:40 -0500125 -Dmpeg2enc=disabled \
126 -Dmplex=disabled \
127 -Dmusepack=disabled \
Andrew Geissler6ce62a22020-11-30 19:58:47 -0600128 -Dnvcodec=disabled \
Andrew Geissler82c905d2020-04-13 13:39:40 -0500129 -Dofa=disabled \
130 -Dopenexr=disabled \
131 -Dopenni2=disabled \
132 -Dopensles=disabled \
133 -Dsoundtouch=disabled \
134 -Dspandsp=disabled \
Andrew Geissler6ce62a22020-11-30 19:58:47 -0600135 -Dsvthevcenc=disabled \
Andrew Geissler82c905d2020-04-13 13:39:40 -0500136 -Dteletext=disabled \
Andrew Geissler82c905d2020-04-13 13:39:40 -0500137 -Dwasapi=disabled \
Andrew Geissler6ce62a22020-11-30 19:58:47 -0600138 -Dwasapi2=disabled \
Andrew Geissler82c905d2020-04-13 13:39:40 -0500139 -Dwildmidi=disabled \
140 -Dwinks=disabled \
141 -Dwinscreencap=disabled \
142 -Dwpe=disabled \
Andrew Geissler6ce62a22020-11-30 19:58:47 -0600143 -Dzxing=disabled \
Andrew Geissler82c905d2020-04-13 13:39:40 -0500144"
145
146export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
147
148ARM_INSTRUCTION_SET_armv4 = "arm"
149ARM_INSTRUCTION_SET_armv5 = "arm"
150
151FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
152FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
Andrew Geissler6ce62a22020-11-30 19:58:47 -0600153FILES_${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500154FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"