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