From 2e28c68d3873018bec35269ec9d94da30390ca9f Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Mon, 28 Jan 2019 14:21:45 +0100 Subject: [PATCH] thud migration: move forward gstreamer version 1.14 https://jira.digi.com/browse/DEL-6412 Signed-off-by: Arturo Buzarra --- .../gstreamer/gstreamer1.0-libav.inc | 51 ++++++ .../gstreamer/gstreamer1.0-libav_1.14.0.bb | 2 +- .../gstreamer/gstreamer1.0-plugins-bad.inc | 147 ++++++++++++++++++ .../gstreamer1.0-plugins-bad_1.14.imx.bb | 2 +- .../gstreamer/gstreamer1.0-plugins-base.inc | 50 ++++++ .../gstreamer1.0-plugins-base_1.14.imx.bb | 2 +- .../gstreamer/gstreamer1.0-plugins-good.inc | 52 +++++++ .../gstreamer1.0-plugins-good_1.14.imx.bb | 2 +- .../gstreamer/gstreamer1.0-plugins-ugly.inc | 31 ++++ .../gstreamer1.0-plugins-ugly_1.14.0.bb | 4 +- .../gstreamer/gstreamer1.0-rtsp-server.inc | 31 ++++ .../gstreamer1.0-rtsp-server_1.14.0.bb | 2 +- .../gstreamer/gstreamer1.0.inc | 61 ++++++++ .../gstreamer/gstreamer1.0_1.14.imx.bb | 2 +- .../gstreamer1.0-plugins-good-qt_1.14.imx.bb | 6 +- ...1-tst_client.cpp-Fix-no-opengl-build.patch | 36 +++-- 16 files changed, 454 insertions(+), 27 deletions(-) create mode 100644 meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc create mode 100644 meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc create mode 100644 meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc create mode 100644 meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc create mode 100644 meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc create mode 100644 meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc create mode 100644 meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0.inc diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc new file mode 100644 index 000000000..c2283061c --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc @@ -0,0 +1,51 @@ +SUMMARY = "Libav-based GStreamer 1.x plugin" +HOMEPAGE = "http://gstreamer.freedesktop.org/" +SECTION = "multimedia" + +LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )" +LICENSE_FLAGS = "commercial" + +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz" + +inherit autotools pkgconfig upstream-version-is-even gtk-doc + +# CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time, +# compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the +# libav copy included in the gst-libav package. +PACKAGECONFIG ??= "orc yasm" + +PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl," +PACKAGECONFIG[libav] = "--with-system-libav,,libav" +PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" +PACKAGECONFIG[yasm] = "--enable-yasm,--disable-yasm,yasm-native" +PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind" + +GSTREAMER_1_0_DEBUG ?= "--disable-debug" + +LIBAV_EXTRA_CONFIGURE = "--with-libav-extra-configure" + +LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \ + --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \ + --ranlib='${RANLIB}' \ + ${GSTREAMER_1_0_DEBUG} \ + --cross-prefix='${HOST_PREFIX}'" + +# Disable assembly optimizations for X32, as this libav lacks the support +PACKAGECONFIG_remove_linux-gnux32 = "yasm" +LIBAV_EXTRA_CONFIGURE_COMMON_ARG_append_linux-gnux32 = " --disable-asm" + +LIBAV_EXTRA_CONFIGURE_COMMON = \ +'${LIBAV_EXTRA_CONFIGURE}="${LIBAV_EXTRA_CONFIGURE_COMMON_ARG}"' + +EXTRA_OECONF = "${LIBAV_EXTRA_CONFIGURE_COMMON}" + +FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" +FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" +FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" + +# http://errors.yoctoproject.org/Errors/Details/20493/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +# ffmpeg/libav disables PIC on some platforms (e.g. x86-32) +INSANE_SKIP_${PN} = "textrel" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.0.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.0.bb index 54771a1ab..ae8e8b2ed 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.0.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.0.bb @@ -1,4 +1,4 @@ -require recipes-multimedia/gstreamer/gstreamer1.0-libav.inc +require gstreamer1.0-libav.inc # Re-use patch files from 1.12.2 recipe FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc new file mode 100644 index 000000000..ce30a03db --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc @@ -0,0 +1,147 @@ +require ${COREBASE}/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc + +LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+" + +DEPENDS += "gstreamer1.0-plugins-base libpng jpeg" + +inherit gettext bluetooth + +SRC_URI_append = " \ + file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \ +" + +# opengl packageconfig factored out to make it easy for distros +# and BSP layers to pick either (desktop) opengl, gles2, or no GL +PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" + +# gtk is not in the PACKAGECONFIG variable by default until +# the transition to gtk+3 is finished +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + ${PACKAGECONFIG_GL} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ + bz2 curl dash dtls hls rsvg sbc smoothstreaming sndfile uvch264 webp \ +" + +PACKAGECONFIG[assrender] = "--enable-assrender,--disable-assrender,libass" +PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,${BLUEZ}" +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[egl] = "--enable-egl,--disable-egl,virtual/egl" +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[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2" +PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3" +PACKAGECONFIG[hls] = "--enable-hls --with-hls-crypto=nettle,--disable-hls,nettle" +PACKAGECONFIG[kms] = "--enable-kms,--disable-kms,libdrm" +PACKAGECONFIG[libmms] = "--enable-libmms,--disable-libmms,libmms" +PACKAGECONFIG[libssh2] = "--enable-libssh2,--disable-libssh2,libssh2" +PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug" +PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon" +PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft" +PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" +PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,virtual/libgl libglu" +PACKAGECONFIG[openjpeg] = "--enable-openjpeg,--disable-openjpeg,openjpeg" +# 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[schroedinger] = "--enable-schro,--disable-schro,schroedinger" +PACKAGECONFIG[smoothstreaming] = "--enable-smoothstreaming,--disable-smoothstreaming,libxml2" +PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1" +PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp" +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" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm" +PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" + +# these plugins have no corresponding library in OE-core or meta-openembedded: +# openni2 winks direct3d directsound winscreencap acm apple_media iqa +# android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa libde265 +# lv2 mpeg2enc mplex msdk musepack nvenc ofa openh264 opensles soundtouch spandsp +# spc teletextdec tinyalsa vdpau wasapi x265 zbar webrtcdsp + +# qt5 support is disabled, because it is not present in OE core, and requires more work than +# just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths). +# This is better done in a separate qt5 layer (which then should add a "qt5" packageconfig +# in a gstreamer1.0-plugins-bad bbappend). + +EXTRA_OECONF += " \ + --enable-decklink \ + --enable-dvb \ + --enable-fbdev \ + --enable-netsim \ + --enable-shm \ + --enable-vcd \ + --disable-acm \ + --disable-android_media \ + --disable-apple_media \ + --disable-avc \ + --disable-bs2b \ + --disable-chromaprint \ + --disable-cocoa \ + --disable-daala \ + --disable-direct3d \ + --disable-directsound \ + --disable-dts \ + --disable-fdk_aac \ + --disable-gme \ + --disable-gsm \ + --disable-iqa \ + --disable-kate \ + --disable-ladspa \ + --disable-libde265 \ + --disable-lv2 \ + --disable-mpeg2enc \ + --disable-mplex \ + --disable-msdk \ + --disable-musepack \ + --disable-nvenc \ + --disable-ofa \ + --disable-openexr \ + --disable-openh264 \ + --disable-openni2 \ + --disable-opensles \ + --disable-qt \ + --disable-soundtouch \ + --disable-spandsp \ + --disable-spc \ + --disable-teletextdec \ + --disable-tinyalsa \ + --disable-vdpau \ + --disable-wasapi \ + --disable-webrtcdsp \ + --disable-wildmidi \ + --disable-winks \ + --disable-winscreencap \ + --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}-dev += "${libdir}/gstreamer-${LIBV}/include/gst/gl/gstglconfig.h" +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" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/allocators/.libs" +} diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.imx.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.imx.bb index 9c97d96d1..df9e871c0 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.imx.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.imx.bb @@ -1,4 +1,4 @@ -require recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +require gstreamer1.0-plugins-bad.inc # Re-use patch files from 1.12.2 recipe FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc new file mode 100644 index 000000000..c20741beb --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc @@ -0,0 +1,50 @@ +require ${COREBASE}/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc + +SRC_URI_append = "\ + file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \ + file://0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch \ + file://0003-riff-add-missing-include-directories-when-calling-in.patch \ + file://0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch \ +" + +LICENSE = "GPLv2+ & LGPLv2+" + +DEPENDS += "iso-codes util-linux zlib" + +inherit gettext + +PACKAGES_DYNAMIC =+ "^libgst.*" + +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \ + gio-unix-2.0 ogg pango theora vorbis \ +" + +X11DEPENDS = "virtual/libx11 libsm libxrender libxv" +X11ENABLEOPTS = "--enable-x --enable-xvideo --enable-xshm" +X11DISABLEOPTS = "--disable-x --disable-xvideo --disable-xshm" + +PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" +PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia" +PACKAGECONFIG[gio-unix-2.0] = "--enable-gio_unix_2_0,--disable-gio_unix_2_0,glib-2.0" +PACKAGECONFIG[ivorbis] = "--enable-ivorbis,--disable-ivorbis,tremor" +PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg" +PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus" +PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" +PACKAGECONFIG[theora] = "--enable-theora,--disable-theora,libtheora" +PACKAGECONFIG[visual] = "--enable-libvisual,--disable-libvisual,libvisual" +PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis" +PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" + +EXTRA_OECONF += " \ + --enable-zlib \ +" + +CACHED_CONFIGUREVARS_append_x86 = " ac_cv_header_emmintrin_h=no ac_cv_header_xmmintrin_h=no" + +FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/tag/.libs:${B}/gst-libs/gst/video/.libs:${B}/gst-libs/gst/audio/.libs:${B}/gst-libs/gst/rtp/.libs" +} diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.imx.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.imx.bb index 0ab7349d2..ee07aae92 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.imx.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.imx.bb @@ -1,4 +1,4 @@ -require recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc +require gstreamer1.0-plugins-base.inc # Re-use patch files from 1.12.2 recipe FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc new file mode 100644 index 000000000..2b793d691 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc @@ -0,0 +1,52 @@ +require ${COREBASE}/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc + +LICENSE = "GPLv2+ & LGPLv2.1+" + +DEPENDS += "gstreamer1.0-plugins-base libcap zlib bzip2" + +inherit gettext + +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \ + cairo flac gdk-pixbuf gudev jpeg libpng soup speex taglib v4l2 \ +" + +X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage" + +PACKAGECONFIG[cairo] = "--enable-cairo,--disable-cairo,cairo" +PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libiec61883 libavc1394 libraw1394" +PACKAGECONFIG[flac] = "--enable-flac,--disable-flac,flac" +PACKAGECONFIG[gdk-pixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf" +PACKAGECONFIG[gudev] = "--with-gudev,--without-gudev,libgudev" +PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" +PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" +PACKAGECONFIG[libpng] = "--enable-libpng,--disable-libpng,libpng" +PACKAGECONFIG[libv4l2] = "--with-libv4l2,--without-libv4l2,v4l-utils" +PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio" +PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4" +PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex" +PACKAGECONFIG[taglib] = "--enable-taglib,--disable-taglib,taglib" +PACKAGECONFIG[v4l2] = "--enable-gst_v4l2 --enable-v4l2-probe,--disable-gst_v4l2" +PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx,libvpx" +PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack" +PACKAGECONFIG[x11] = "--enable-x,--disable-x,${X11DEPENDS}" + +EXTRA_OECONF += " \ + --enable-bz2 \ + --enable-oss \ + --enable-zlib \ + --disable-aalib \ + --disable-aalibtest \ + --disable-directsound \ + --disable-libcaca \ + --disable-libdv \ + --disable-oss4 \ + --disable-osx_audio \ + --disable-osx_video \ + --disable-shout2 \ + --disable-sunaudio \ + --disable-waveform \ +" + +FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.imx.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.imx.bb index 54a218a15..9392e82d8 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.imx.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.imx.bb @@ -1,4 +1,4 @@ -require recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc +require gstreamer1.0-plugins-good.inc FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc new file mode 100644 index 000000000..59beb09b0 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc @@ -0,0 +1,31 @@ +require ${COREBASE}/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc + +LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+" +LICENSE_FLAGS = "commercial" + +DEPENDS += "gstreamer1.0-plugins-base libid3tag" + +inherit gettext + +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + a52dec lame mpg123 mpeg2dec \ +" + +PACKAGECONFIG[a52dec] = "--enable-a52dec,--disable-a52dec,liba52" +PACKAGECONFIG[amrnb] = "--enable-amrnb,--disable-amrnb,opencore-amr" +PACKAGECONFIG[amrwb] = "--enable-amrwb,--disable-amrwb,opencore-amr" +PACKAGECONFIG[cdio] = "--enable-cdio,--disable-cdio,libcdio" +PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread,libdvdread" +PACKAGECONFIG[lame] = "--enable-lame,--disable-lame,lame" +PACKAGECONFIG[mpeg2dec] = "--enable-mpeg2dec,--disable-mpeg2dec,mpeg2dec" +PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123" +PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264" + +EXTRA_OECONF += " \ + --disable-sidplay \ + --disable-twolame \ +" + +FILES_${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs" +FILES_${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.0.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.0.bb index d00dd2178..4bf983a8c 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.0.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.0.bb @@ -1,4 +1,4 @@ -require recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc +require gstreamer1.0-plugins-ugly.inc # Re-use patch files from 1.12.2 recipe FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" @@ -16,3 +16,5 @@ SRC_URI[sha256sum] = "3fb9ea5fc8a2de4b3eaec4128d71c6a2d81dd19befe1cd87cb833b98bc S = "${WORKDIR}/gst-plugins-ugly-${PV}" +# Remove unrecognized otions to avoid build error +EXTRA_OECONF_remove = " --disable-twolame --enable-mpg123 --enable-lame" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc new file mode 100644 index 000000000..26de3edf8 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc @@ -0,0 +1,31 @@ +SUMMARY = "A library on top of GStreamer for building an RTSP server" +HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/" +SECTION = "multimedia" +LICENSE = "LGPLv2" + +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base" + +PNREAL = "gst-rtsp-server" + +SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \ + file://0001-Don-t-hardcode-libtool-name-when-using-introspection.patch \ + file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ + file://gtk-doc-tweaks.patch" + +S = "${WORKDIR}/${PNREAL}-${PV}" + +inherit autotools pkgconfig upstream-version-is-even gobject-introspection gtk-doc + +EXTRA_OECONF = "--disable-examples --disable-tests" + +# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well +LIBV = "1.0" +require ${COREBASE}/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc + +delete_pkg_m4_file() { + # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection + rm "${S}/common/m4/pkg.m4" || true +} + +do_configure[prefuncs] += " delete_pkg_m4_file" + diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.0.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.0.bb index be58da288..cc8445e85 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.0.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.0.bb @@ -1,4 +1,4 @@ -require recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc +require gstreamer1.0-rtsp-server.inc # Re-use patch files from 1.12.2 recipe FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0.inc b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0.inc new file mode 100644 index 000000000..c2df1f325 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0.inc @@ -0,0 +1,61 @@ +SUMMARY = "GStreamer 1.0 multimedia framework" +DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \ +It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime." +HOMEPAGE = "http://gstreamer.freedesktop.org/" +BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" +SECTION = "multimedia" +LICENSE = "LGPLv2+" + +DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native" + +inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc + +# This way common/m4/introspection.m4 will come first +# (it has a custom INTROSPECTION_INIT macro, and so must be used instead of our common introspection.m4 file) +acpaths = "-I ${S}/common/m4 -I ${S}/m4" + +SRC_URI_append = " \ + file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ + file://gtk-doc-tweaks.patch \ + file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ +" + +PACKAGECONFIG ??= "" + +PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" +PACKAGECONFIG[tests] = "--enable-tests,--disable-tests" +PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind," +PACKAGECONFIG[gst-tracer-hooks] = "--enable-gst-tracer-hooks,--disable-gst-tracer-hooks," +PACKAGECONFIG[unwind] = "--with-unwind,--without-unwind,libunwind" +PACKAGECONFIG[dw] = "--with-dw,--without-dw,elfutils" + +EXTRA_OECONF = " \ + --disable-dependency-tracking \ + --disable-examples \ +" + +CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no" + +# musl libc generates warnings if is included directly +CACHED_CONFIGUREVARS += "ac_cv_header_sys_poll_h=no" + +PACKAGES += "${PN}-bash-completion" + +FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" +FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include" +FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*" + +RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" +RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" + +delete_pkg_m4_file() { + # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection + rm "${S}/common/m4/pkg.m4" || true + rm -f "${S}/common/m4/gtk-doc.m4" +} + +do_configure[prefuncs] += "delete_pkg_m4_file" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/gst/.libs:${B}/libs/gst/base/.libs" +} diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.14.imx.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.14.imx.bb index e5e484bf4..6f436fc84 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.14.imx.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.14.imx.bb @@ -1,4 +1,4 @@ -require recipes-multimedia/gstreamer/gstreamer1.0.inc +require gstreamer1.0.inc # Re-use patch files from 1.12.2 recipe FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" diff --git a/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.14.imx.bb b/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.14.imx.bb index b7010e0ed..1376a1199 100644 --- a/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.14.imx.bb +++ b/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.14.imx.bb @@ -37,9 +37,9 @@ EXTRA_OECONF += "STAGING_DIR=${STAGING_DIR_NATIVE} --disable-introspection" PACKAGECONFIG += "qt5" PACKAGECONFIG[qt5] = '--enable-qt \ - --with-moc="${STAGING_DIR_NATIVE}/usr/bin/qt5/moc" \ - --with-uic="${STAGING_DIR_NATIVE}/usr/bin/qt5/uic" \ - --with-rcc="${STAGING_DIR_NATIVE}/usr/bin/qt5/rcc" \ + --with-moc="${STAGING_DIR_NATIVE}/usr/bin/moc" \ + --with-uic="${STAGING_DIR_NATIVE}/usr/bin/uic" \ + --with-rcc="${STAGING_DIR_NATIVE}/usr/bin/rcc" \ ,--disable-qt,qtbase qtdeclarative qtbase-native qtx11extras' # This remove "--exclude=autopoint" option from autoreconf argument to avoid diff --git a/meta-digi-dey/recipes-qt/qt5/qtwayland/0001-tst_client.cpp-Fix-no-opengl-build.patch b/meta-digi-dey/recipes-qt/qt5/qtwayland/0001-tst_client.cpp-Fix-no-opengl-build.patch index 563773780..e84981ec3 100644 --- a/meta-digi-dey/recipes-qt/qt5/qtwayland/0001-tst_client.cpp-Fix-no-opengl-build.patch +++ b/meta-digi-dey/recipes-qt/qt5/qtwayland/0001-tst_client.cpp-Fix-no-opengl-build.patch @@ -8,56 +8,58 @@ The error is introduced by bf09c7a1493c01a65ee0f110b37a04e653edc08e Upstream-Status: Pending Signed-off-by: Yuqing Zhu +Signed-off-by: Arturo Buzarra --- tests/auto/client/client/tst_client.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/auto/client/client/tst_client.cpp b/tests/auto/client/client/tst_client.cpp -index 2124205..d63030d 100644 +index 874de82c..af414d4f 100644 --- a/tests/auto/client/client/tst_client.cpp +++ b/tests/auto/client/client/tst_client.cpp -@@ -114,6 +114,7 @@ public: +@@ -107,6 +107,7 @@ public: QPoint mousePressPos; }; - + +#ifndef QT_NO_OPENGL class TestGlWindow : public QOpenGLWindow { Q_OBJECT -@@ -132,6 +133,7 @@ void TestGlWindow::paintGL() - { +@@ -136,6 +137,7 @@ void TestGlWindow::paintGL() glClear(GL_COLOR_BUFFER_BIT); + ++paintGLCalled; } +#endif // QT_NO_OPENGL - + class tst_WaylandClient : public QObject { -@@ -170,7 +172,9 @@ private slots: +@@ -180,8 +182,10 @@ private slots: void dontCrashOnMultipleCommits(); void hiddenTransientParent(); void hiddenPopupParent(); +#ifndef QT_NO_OPENGL void glWindow(); + void longWindowTitle(); +#endif // QT_NO_OPENGL - + private: - MockCompositor *compositor; -@@ -433,6 +437,7 @@ void tst_WaylandClient::hiddenPopupParent() + MockCompositor *compositor = nullptr; +@@ -558,6 +562,7 @@ void tst_WaylandClient::hiddenPopupParent() QTRY_VERIFY(compositor->surface()); } - + +#ifndef QT_NO_OPENGL void tst_WaylandClient::glWindow() { QSKIP("Skipping GL tests, as not supported by all CI systems: See https://bugreports.qt.io/browse/QTBUG-65802"); -@@ -447,6 +452,7 @@ void tst_WaylandClient::glWindow() +@@ -583,6 +588,7 @@ void tst_WaylandClient::glWindow() testWindow->setVisible(false); QTRY_VERIFY(!compositor->surface()); } +#endif // QT_NO_OPENGL - - int main(int argc, char **argv) - { --- -1.9.1 + + void tst_WaylandClient::longWindowTitle() + { +-- +2.20.1