blob: f7ade89ef8fa4ad7214710052427a17e89db0dd0 [file] [log] [blame]
Andrew Geissler517393d2023-01-13 08:55:19 -06001require gstreamer1.0-plugins-common.inc
2
3DESCRIPTION = "'Good' GStreamer plugins"
4HOMEPAGE = "https://gstreamer.freedesktop.org/"
5BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues"
6
7SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
8 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
9 "
10
11SRC_URI[sha256sum] = "e83ab4d12ca24959489bbb0ec4fac9b90e32f741d49cda357cb554b2cb8b97f9"
12
13S = "${WORKDIR}/gst-plugins-good-${PV}"
14
15LICENSE = "LGPL-2.1-or-later"
16LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
17 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
18
19DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
20RPROVIDES:${PN}-pulseaudio += "${PN}-pulse"
21RPROVIDES:${PN}-soup += "${PN}-souphttpsrc"
22
23PACKAGECONFIG_SOUP ?= "soup3"
24
25PACKAGECONFIG ??= " \
26 ${GSTREAMER_ORC} \
27 ${PACKAGECONFIG_SOUP} \
28 ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
29 ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \
30 bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 speex taglib v4l2 \
31"
32
33X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
34X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
35X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
36
37QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"
38
39PACKAGECONFIG[asm] = "-Dasm=enabled,-Dasm=disabled,nasm-native"
40PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
41PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
42PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
43PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac"
44PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf"
45PACKAGECONFIG[gtk] = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3"
46PACKAGECONFIG[gudev] = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev"
47PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack"
48PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
49PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame"
50PACKAGECONFIG[libpng] = "-Dpng=enabled,-Dpng=disabled,libpng"
51PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
52PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
53PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
54PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
55# Starting with version 1.20, the GStreamer soup plugin loads libsoup with dlopen()
56# instead of linking to it. And instead of using the default libsoup C headers, it
57# uses its own stub header. Consequently, objdump will not show the libsoup .so as
58# a dependency, and libsoup won't be added to an image. Fix this by setting libsoup
59# as RDEPEND.
60PACKAGECONFIG[soup2] = "-Dsoup=enabled,,libsoup-2.4,libsoup-2.4,,soup3"
61PACKAGECONFIG[soup3] = "-Dsoup=enabled,,libsoup,libsoup,,soup2"
62PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex"
63PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
64PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
65PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
66PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
67PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
68PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
69
70EXTRA_OEMESON += " \
71 -Ddoc=disabled \
72 -Daalib=disabled \
73 -Ddirectsound=disabled \
74 -Ddv=disabled \
75 -Dlibcaca=disabled \
76 -Doss=enabled \
77 -Doss4=disabled \
78 -Dosxaudio=disabled \
79 -Dosxvideo=disabled \
80 -Dshout2=disabled \
81 -Dtwolame=disabled \
82 -Dwaveform=disabled \
83"
84
85FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"