blob: 1731be84410d3e2270ed93771327032d354937a9 [file] [log] [blame]
require gstreamer1.0-plugins.inc
SRC_URI = " \
https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
file://configure-allow-to-disable-libssh2.patch \
file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \
file://avoid-including-sys-poll.h-directly.patch \
file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \
file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
"
SRC_URI[md5sum] = "24d4d30ecc67d5cbc77c0475bcea1210"
SRC_URI[sha256sum] = "56481c95339b8985af13bac19b18bc8da7118c2a7d9440ed70e7dcd799c2adb5"
S = "${WORKDIR}/gst-plugins-bad-${PV}"
LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 "
DEPENDS += "gstreamer1.0-plugins-base"
inherit gettext gobject-introspection
PACKAGECONFIG ??= " \
${GSTREAMER_ORC} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
bz2 curl dash dtls hls rsvg sbc smoothstreaming sndfile ttml uvch264 webp \
"
# 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[assrender] = "--enable-assrender,--disable-assrender,libass"
PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,bluez5"
PACKAGECONFIG[bz2] = "--enable-bz2,--disable-bz2,bzip2"
PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
PACKAGECONFIG[dash] = "--enable-dash,--disable-dash,libxml2"
PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
PACKAGECONFIG[directfb] = "--enable-directfb,--disable-directfb,directfb"
PACKAGECONFIG[dtls] = "--enable-dtls,--disable-dtls,openssl"
PACKAGECONFIG[faac] = "--enable-faac,--disable-faac,faac"
PACKAGECONFIG[faad] = "--enable-faad,--disable-faad,faad2"
PACKAGECONFIG[flite] = "--enable-flite,--disable-flite,flite-alsa"
PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth"
PACKAGECONFIG[hls] = "--enable-hls --with-hls-crypto=nettle,--disable-hls,nettle"
PACKAGECONFIG[gl] = "--enable-gl,--disable-gl,"
PACKAGECONFIG[kms] = "--enable-kms,--disable-kms,libdrm"
PACKAGECONFIG[libde265] = "--enable-libde265,--disable-libde265,libde265"
PACKAGECONFIG[libmms] = "--enable-libmms,--disable-libmms,libmms"
PACKAGECONFIG[libssh2] = "--enable-libssh2,--disable-libssh2,libssh2"
PACKAGECONFIG[lcms2] = "--enable-lcms2,--disable-lcms2,lcms"
PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug"
PACKAGECONFIG[msdk] = "--enable-msdk,--disable-msdk,intel-mediasdk"
PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon"
PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft"
PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
PACKAGECONFIG[openh264] = "--enable-openh264,--disable-openh264,openh264"
PACKAGECONFIG[openjpeg] = "--enable-openjpeg,--disable-openjpeg,openjpeg"
PACKAGECONFIG[openmpt] = "--enable-openmpt,--disable-openmpt,libopenmpt"
# the opus encoder/decoder elements are now in the -base package,
# but the opus parser remains in -bad
PACKAGECONFIG[opusparse] = "--enable-opus,--disable-opus,libopus"
PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdread libdvdnav"
PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg"
PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump"
PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc"
PACKAGECONFIG[sctp] = "--enable-sctp,--disable-sctp,usrsctp"
PACKAGECONFIG[smoothstreaming] = "--enable-smoothstreaming,--disable-smoothstreaming,libxml2"
PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1"
PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp"
PACKAGECONFIG[tinyalsa] = "--enable-tinyalsa,--disable-tinyalsa,tinyalsa"
PACKAGECONFIG[ttml] = "--enable-ttml,--disable-ttml,libxml2 pango cairo"
PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan-loader"
PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm"
PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
PACKAGECONFIG[webrtc] = "--enable-webrtc,--disable-webrtc,libnice"
PACKAGECONFIG[webrtcdsp] = "--enable-webrtcdsp,--disable-webrtcdsp,webrtc-audio-processing"
# these plugins have no corresponding library in OE-core or meta-openembedded:
# openni2 winks direct3d directsound winscreencap apple_media iqa
# android_media avc bs2b chromaprint dts fdkaac gme gsm kate ladspa
# lv2 mpeg2enc mplex musepack nvenc ofa opensles soundtouch
# spandsp teletextdec vdpau wasapi wpe x265 zbar
EXTRA_OECONF += " \
--enable-decklink \
--enable-dvb \
--enable-fbdev \
--enable-ipcpipeline \
--enable-netsim \
--enable-shm \
--disable-android_media \
--disable-aom \
--disable-apple_media \
--disable-avc \
--disable-bs2b \
--disable-chromaprint \
--disable-direct3d \
--disable-directsound \
--disable-dts \
--disable-fdk_aac \
--disable-gme \
--disable-gsm \
--disable-iqa \
--disable-kate \
--disable-ladspa \
--disable-lv2 \
--disable-mpeg2enc \
--disable-mplex \
--disable-musepack \
--disable-nvenc \
--disable-ofa \
--disable-openexr \
--disable-openni2 \
--disable-opensles \
--disable-soundtouch \
--disable-spandsp \
--disable-srt \
--disable-teletextdec \
--disable-vdpau \
--disable-wasapi \
--disable-wildmidi \
--disable-winks \
--disable-winscreencap \
--disable-wpe \
--disable-x265 \
--disable-zbar \
${@bb.utils.contains("TUNE_FEATURES", "mx32", "--disable-yadif", "", d)} \
"
export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
ARM_INSTRUCTION_SET_armv4 = "arm"
ARM_INSTRUCTION_SET_armv5 = "arm"
FILES_${PN}-freeverb += "${datadir}/gstreamer-${LIBV}/presets/GstFreeverb.prs"
FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/${LIBV}/opencv*"
FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-${LIBV}/presets/GstVoAmrwbEnc.prs"