blob: 7be15d997317fdffc2bc400e67c07e0d66eea2f9 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001require gstreamer1.0-plugins.inc
2
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05003LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05004
5DEPENDS += "gstreamer1.0-plugins-base libpng jpeg"
6
Patrick Williamsc124f4f2015-09-15 14:41:29 -05007inherit gettext bluetooth
8
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05009SRC_URI_append = " \
10 file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \
11"
12
Patrick Williamsc124f4f2015-09-15 14:41:29 -050013# opengl packageconfig factored out to make it easy for distros
14# and BSP layers to pick either (desktop) opengl, gles2, or no GL
Brad Bishop6e60e8b2018-02-01 10:27:11 -050015PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050016
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050017# gtk is not in the PACKAGECONFIG variable by default until
18# the transition to gtk+3 is finished
Patrick Williamsc124f4f2015-09-15 14:41:29 -050019PACKAGECONFIG ??= " \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050020 ${GSTREAMER_ORC} \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050021 ${PACKAGECONFIG_GL} \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050022 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050023 ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060024 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050025 bz2 curl dash dtls hls neon rsvg sbc smoothstreaming sndfile uvch264 webp \
26"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050027
Patrick Williamsc124f4f2015-09-15 14:41:29 -050028PACKAGECONFIG[assrender] = "--enable-assrender,--disable-assrender,libass"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050029PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,${BLUEZ}"
30PACKAGECONFIG[bz2] = "--enable-bz2,--disable-bz2,bzip2"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050031PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050032PACKAGECONFIG[dash] = "--enable-dash,--disable-dash,libxml2"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050033PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050034PACKAGECONFIG[directfb] = "--enable-directfb,--disable-directfb,directfb"
35PACKAGECONFIG[dtls] = "--enable-dtls,--disable-dtls,openssl"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060036PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050037PACKAGECONFIG[faac] = "--enable-faac,--disable-faac,faac"
38PACKAGECONFIG[faad] = "--enable-faad,--disable-faad,faad2"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050039PACKAGECONFIG[flite] = "--enable-flite,--disable-flite,flite-alsa"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050040PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth"
41PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
42PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050043PACKAGECONFIG[hls] = "--enable-hls --with-hls-crypto=nettle,--disable-hls,nettle"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050044PACKAGECONFIG[kms] = "--enable-kms,--disable-kms,libdrm"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050045PACKAGECONFIG[libmms] = "--enable-libmms,--disable-libmms,libmms"
46PACKAGECONFIG[libssh2] = "--enable-libssh2,--disable-libssh2,libssh2"
47PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050048PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon"
49PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050050PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
51PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,virtual/libgl libglu"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050052PACKAGECONFIG[openjpeg] = "--enable-openjpeg,--disable-openjpeg,openjpeg"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060053# the opus encoder/decoder elements are now in the -base package,
54# but the opus parser remains in -bad
55PACKAGECONFIG[opusparse] = "--enable-opus,--disable-opus,libopus"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050056PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdread libdvdnav"
57PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg"
58PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050059PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050060PACKAGECONFIG[schroedinger] = "--enable-schro,--disable-schro,schroedinger"
61PACKAGECONFIG[smoothstreaming] = "--enable-smoothstreaming,--disable-smoothstreaming,libxml2"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050062PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050063PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp"
64PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
Patrick Williamsf1e5d692016-03-30 15:21:19 -050065PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050066PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050067PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan"
68PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050069PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050070
Patrick Williamsc124f4f2015-09-15 14:41:29 -050071# these plugins have no corresponding library in OE-core or meta-openembedded:
Brad Bishopd7bf8c12018-02-25 22:55:05 -050072# openni2 winks direct3d directsound winscreencap acm apple_media iqa
Brad Bishop6e60e8b2018-02-01 10:27:11 -050073# android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa libde265
Brad Bishopd7bf8c12018-02-25 22:55:05 -050074# lv2 mpeg2enc mplex msdk musepack nvenc ofa openh264 opensles soundtouch spandsp
75# spc teletextdec tinyalsa vdpau wasapi x265 zbar webrtcdsp
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050076
77# qt5 support is disabled, because it is not present in OE core, and requires more work than
78# just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths).
79# This is better done in a separate qt5 layer (which then should add a "qt5" packageconfig
80# in a gstreamer1.0-plugins-bad bbappend).
Patrick Williamsc124f4f2015-09-15 14:41:29 -050081
82EXTRA_OECONF += " \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050083 --enable-decklink \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050084 --enable-dvb \
85 --enable-fbdev \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060086 --enable-netsim \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050087 --enable-shm \
88 --enable-vcd \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050089 --disable-acm \
90 --disable-android_media \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050091 --disable-apple_media \
92 --disable-avc \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050093 --disable-bs2b \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050094 --disable-chromaprint \
95 --disable-cocoa \
96 --disable-daala \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050097 --disable-direct3d \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050098 --disable-directsound \
99 --disable-dts \
Brad Bishop6e60e8b2018-02-01 10:27:11 -0500100 --disable-fdk_aac \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500101 --disable-gme \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500102 --disable-gsm \
Brad Bishopd7bf8c12018-02-25 22:55:05 -0500103 --disable-iqa \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500104 --disable-kate \
105 --disable-ladspa \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500106 --disable-libde265 \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500107 --disable-lv2 \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500108 --disable-mpeg2enc \
109 --disable-mplex \
Brad Bishopd7bf8c12018-02-25 22:55:05 -0500110 --disable-msdk \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500111 --disable-musepack \
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600112 --disable-nvenc \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500113 --disable-ofa \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500114 --disable-openexr \
115 --disable-openh264 \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500116 --disable-openni2 \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500117 --disable-opensles \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500118 --disable-qt \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500119 --disable-soundtouch \
120 --disable-spandsp \
121 --disable-spc \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500122 --disable-teletextdec \
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600123 --disable-tinyalsa \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500124 --disable-vdpau \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500125 --disable-wasapi \
Brad Bishopd7bf8c12018-02-25 22:55:05 -0500126 --disable-webrtcdsp \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500127 --disable-wildmidi \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500128 --disable-winks \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500129 --disable-winscreencap \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500130 --disable-x265 \
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500131 --disable-zbar \
132 ${@bb.utils.contains("TUNE_FEATURES", "mx32", "--disable-yadif", "", d)} \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500133"
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500134
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500135export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500136
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500137ARM_INSTRUCTION_SET_armv4 = "arm"
138ARM_INSTRUCTION_SET_armv5 = "arm"
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500139
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500140FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/include/gst/gl/gstglconfig.h"
141FILES_${PN}-freeverb += "${datadir}/gstreamer-${LIBV}/presets/GstFreeverb.prs"
142FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/${LIBV}/opencv*"
Patrick Williamsf1e5d692016-03-30 15:21:19 -0500143FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-${LIBV}/presets/GstVoAmrwbEnc.prs"
Brad Bishopd7bf8c12018-02-25 22:55:05 -0500144
145do_compile_prepend() {
146 export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/allocators/.libs"
147}