1*4882a593Smuzhiyunrequire gstreamer1.0-plugins-common.inc 2*4882a593Smuzhiyunrequire gstreamer1.0-plugins-license.inc 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunDESCRIPTION = "'Bad' GStreamer plugins and helper libraries " 5*4882a593SmuzhiyunHOMEPAGE = "https://gstreamer.freedesktop.org/" 6*4882a593SmuzhiyunBUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues" 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunSRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ 9*4882a593Smuzhiyun file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \ 10*4882a593Smuzhiyun file://0002-avoid-including-sys-poll.h-directly.patch \ 11*4882a593Smuzhiyun file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \ 12*4882a593Smuzhiyun file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ 13*4882a593Smuzhiyun " 14*4882a593SmuzhiyunSRC_URI[sha256sum] = "f431214b0754d7037adcde93c3195106196588973e5b32dcb24938805f866363" 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunS = "${WORKDIR}/gst-plugins-bad-${PV}" 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunLICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" 19*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunDEPENDS += "gstreamer1.0-plugins-base" 22*4882a593Smuzhiyun 23*4882a593Smuzhiyuninherit gobject-introspection 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunPACKAGECONFIG ??= " \ 26*4882a593Smuzhiyun ${GSTREAMER_ORC} \ 27*4882a593Smuzhiyun ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ 28*4882a593Smuzhiyun ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan x11', d)} \ 29*4882a593Smuzhiyun ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ 30*4882a593Smuzhiyun ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \ 31*4882a593Smuzhiyun bz2 closedcaption curl dash dtls hls openssl sbc smoothstreaming \ 32*4882a593Smuzhiyun sndfile ttml uvch264 webp \ 33*4882a593Smuzhiyun ${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'rsvg', d)} \ 34*4882a593Smuzhiyun" 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunPACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom" 37*4882a593SmuzhiyunPACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass" 38*4882a593SmuzhiyunPACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5" 39*4882a593SmuzhiyunPACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" 40*4882a593SmuzhiyunPACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo" 41*4882a593SmuzhiyunPACKAGECONFIG[curl] = "-Dcurl=enabled,-Dcurl=disabled,curl" 42*4882a593SmuzhiyunPACKAGECONFIG[dash] = "-Ddash=enabled,-Ddash=disabled,libxml2" 43*4882a593SmuzhiyunPACKAGECONFIG[dc1394] = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394" 44*4882a593SmuzhiyunPACKAGECONFIG[directfb] = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb" 45*4882a593SmuzhiyunPACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl" 46*4882a593SmuzhiyunPACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac" 47*4882a593SmuzhiyunPACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2" 48*4882a593SmuzhiyunPACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth" 49*4882a593SmuzhiyunPACKAGECONFIG[hls] = "-Dhls=enabled,-Dhls=disabled," 50*4882a593Smuzhiyun# Pick atleast one crypto backend below when enabling hls 51*4882a593SmuzhiyunPACKAGECONFIG[nettle] = "-Dhls-crypto=nettle,,nettle" 52*4882a593SmuzhiyunPACKAGECONFIG[openssl] = "-Dhls-crypto=openssl,,openssl" 53*4882a593SmuzhiyunPACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt" 54*4882a593Smuzhiyun# the gl packageconfig enables OpenGL elements that haven't been ported 55*4882a593Smuzhiyun# to -base yet. They depend on the gstgl library in -base, so we do 56*4882a593Smuzhiyun# not add GL dependencies here, since these are taken care of in -base. 57*4882a593SmuzhiyunPACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled," 58*4882a593SmuzhiyunPACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm" 59*4882a593SmuzhiyunPACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265" 60*4882a593SmuzhiyunPACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2" 61*4882a593SmuzhiyunPACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms" 62*4882a593SmuzhiyunPACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug" 63*4882a593SmuzhiyunPACKAGECONFIG[msdk] = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk" 64*4882a593SmuzhiyunPACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon" 65*4882a593SmuzhiyunPACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft" 66*4882a593SmuzhiyunPACKAGECONFIG[opencv] = "-Dopencv=enabled,-Dopencv=disabled,opencv" 67*4882a593SmuzhiyunPACKAGECONFIG[openh264] = "-Dopenh264=enabled,-Dopenh264=disabled,openh264" 68*4882a593SmuzhiyunPACKAGECONFIG[openjpeg] = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg" 69*4882a593SmuzhiyunPACKAGECONFIG[openmpt] = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt" 70*4882a593Smuzhiyun# the opus encoder/decoder elements are now in the -base package, 71*4882a593Smuzhiyun# but the opus parser remains in -bad 72*4882a593SmuzhiyunPACKAGECONFIG[opusparse] = "-Dopus=enabled,-Dopus=disabled,libopus" 73*4882a593SmuzhiyunPACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav" 74*4882a593SmuzhiyunPACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg" 75*4882a593SmuzhiyunPACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump" 76*4882a593SmuzhiyunPACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc" 77*4882a593SmuzhiyunPACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled" 78*4882a593SmuzhiyunPACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2" 79*4882a593SmuzhiyunPACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" 80*4882a593SmuzhiyunPACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt" 81*4882a593SmuzhiyunPACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp" 82*4882a593SmuzhiyunPACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa" 83*4882a593SmuzhiyunPACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo" 84*4882a593SmuzhiyunPACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev" 85*4882a593Smuzhiyun# this enables support for stateless V4L2 mem2mem codecs, which is a newer form of 86*4882a593Smuzhiyun# V4L2 codec; the V4L2 code in -base supports the older stateful V4L2 mem2mem codecs 87*4882a593SmuzhiyunPACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev" 88*4882a593SmuzhiyunPACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva" 89*4882a593SmuzhiyunPACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc" 90*4882a593SmuzhiyunPACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc" 91*4882a593SmuzhiyunPACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native" 92*4882a593SmuzhiyunPACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm" 93*4882a593SmuzhiyunPACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" 94*4882a593SmuzhiyunPACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice" 95*4882a593SmuzhiyunPACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing" 96*4882a593SmuzhiyunPACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar" 97*4882a593SmuzhiyunPACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libxcb libxkbcommon" 98*4882a593SmuzhiyunPACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265" 99*4882a593Smuzhiyun 100*4882a593SmuzhiyunGSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'faad resindvd x265', d)}" 101*4882a593Smuzhiyun 102*4882a593SmuzhiyunEXTRA_OEMESON += " \ 103*4882a593Smuzhiyun -Ddoc=disabled \ 104*4882a593Smuzhiyun -Daes=enabled \ 105*4882a593Smuzhiyun -Dcodecalpha=enabled \ 106*4882a593Smuzhiyun -Ddecklink=enabled \ 107*4882a593Smuzhiyun -Ddvb=enabled \ 108*4882a593Smuzhiyun -Dfbdev=enabled \ 109*4882a593Smuzhiyun -Dipcpipeline=enabled \ 110*4882a593Smuzhiyun -Dshm=enabled \ 111*4882a593Smuzhiyun -Dtranscode=enabled \ 112*4882a593Smuzhiyun -Dandroidmedia=disabled \ 113*4882a593Smuzhiyun -Dapplemedia=disabled \ 114*4882a593Smuzhiyun -Dasio=disabled \ 115*4882a593Smuzhiyun -Davtp=disabled \ 116*4882a593Smuzhiyun -Dbs2b=disabled \ 117*4882a593Smuzhiyun -Dchromaprint=disabled \ 118*4882a593Smuzhiyun -Dd3dvideosink=disabled \ 119*4882a593Smuzhiyun -Dd3d11=disabled \ 120*4882a593Smuzhiyun -Ddirectsound=disabled \ 121*4882a593Smuzhiyun -Ddts=disabled \ 122*4882a593Smuzhiyun -Dfdkaac=disabled \ 123*4882a593Smuzhiyun -Dflite=disabled \ 124*4882a593Smuzhiyun -Dgme=disabled \ 125*4882a593Smuzhiyun -Dgs=disabled \ 126*4882a593Smuzhiyun -Dgsm=disabled \ 127*4882a593Smuzhiyun -Diqa=disabled \ 128*4882a593Smuzhiyun -Dkate=disabled \ 129*4882a593Smuzhiyun -Dladspa=disabled \ 130*4882a593Smuzhiyun -Dldac=disabled \ 131*4882a593Smuzhiyun -Dlv2=disabled \ 132*4882a593Smuzhiyun -Dmagicleap=disabled \ 133*4882a593Smuzhiyun -Dmediafoundation=disabled \ 134*4882a593Smuzhiyun -Dmicrodns=disabled \ 135*4882a593Smuzhiyun -Dmpeg2enc=disabled \ 136*4882a593Smuzhiyun -Dmplex=disabled \ 137*4882a593Smuzhiyun -Dmusepack=disabled \ 138*4882a593Smuzhiyun -Dnvcodec=disabled \ 139*4882a593Smuzhiyun -Dopenexr=disabled \ 140*4882a593Smuzhiyun -Dopenni2=disabled \ 141*4882a593Smuzhiyun -Dopenaptx=disabled \ 142*4882a593Smuzhiyun -Dopensles=disabled \ 143*4882a593Smuzhiyun -Donnx=disabled \ 144*4882a593Smuzhiyun -Dqroverlay=disabled \ 145*4882a593Smuzhiyun -Dsoundtouch=disabled \ 146*4882a593Smuzhiyun -Dspandsp=disabled \ 147*4882a593Smuzhiyun -Dsvthevcenc=disabled \ 148*4882a593Smuzhiyun -Dteletext=disabled \ 149*4882a593Smuzhiyun -Dwasapi=disabled \ 150*4882a593Smuzhiyun -Dwasapi2=disabled \ 151*4882a593Smuzhiyun -Dwildmidi=disabled \ 152*4882a593Smuzhiyun -Dwinks=disabled \ 153*4882a593Smuzhiyun -Dwinscreencap=disabled \ 154*4882a593Smuzhiyun -Dwpe=disabled \ 155*4882a593Smuzhiyun -Dzxing=disabled \ 156*4882a593Smuzhiyun" 157*4882a593Smuzhiyun 158*4882a593Smuzhiyunexport OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" 159*4882a593Smuzhiyun 160*4882a593SmuzhiyunARM_INSTRUCTION_SET:armv4 = "arm" 161*4882a593SmuzhiyunARM_INSTRUCTION_SET:armv5 = "arm" 162*4882a593Smuzhiyun 163*4882a593SmuzhiyunFILES:${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs" 164*4882a593SmuzhiyunFILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*" 165*4882a593SmuzhiyunFILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles" 166*4882a593SmuzhiyunFILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs" 167