From 7a91a785b923f02674e4c3d5a5a830272746d6be Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Sat, 26 Sep 2020 00:42:31 +0000 Subject: [PATCH] added extra/gst-plugins-bad --- ...ts-svthevcenc-Fix-test_encode_simple.patch | 24 ++++ extra/gst-plugins-bad/PKGBUILD | 132 ++++++++++++++++++ 2 files changed, 156 insertions(+) create mode 100644 extra/gst-plugins-bad/0001-tests-svthevcenc-Fix-test_encode_simple.patch create mode 100644 extra/gst-plugins-bad/PKGBUILD diff --git a/extra/gst-plugins-bad/0001-tests-svthevcenc-Fix-test_encode_simple.patch b/extra/gst-plugins-bad/0001-tests-svthevcenc-Fix-test_encode_simple.patch new file mode 100644 index 000000000..835e54f86 --- /dev/null +++ b/extra/gst-plugins-bad/0001-tests-svthevcenc-Fix-test_encode_simple.patch @@ -0,0 +1,24 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Sat, 12 Sep 2020 02:23:37 +0200 +Subject: [PATCH] tests: svthevcenc: Fix test_encode_simple + +Pick the same I420 format the other test use. Without this, the source +picks AYUV64, which fails. +--- + tests/check/elements/svthevcenc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/check/elements/svthevcenc.c b/tests/check/elements/svthevcenc.c +index d1234fc27..1b938e10c 100644 +--- a/tests/check/elements/svthevcenc.c ++++ b/tests/check/elements/svthevcenc.c +@@ -29,7 +29,7 @@ GST_START_TEST (test_encode_simple) + h = gst_harness_new_parse ("svthevcenc speed=9 bitrate=1000 ! h265parse"); + + gst_harness_add_src_parse (h, "videotestsrc is-live=true ! " +- "capsfilter caps=\"video/x-raw,width=320,height=240,framerate=25/1\"", ++ "capsfilter caps=\"video/x-raw,format=I420,width=320,height=240,framerate=25/1\"", + TRUE); + + /* Push 25 buffers into the encoder */ diff --git a/extra/gst-plugins-bad/PKGBUILD b/extra/gst-plugins-bad/PKGBUILD new file mode 100644 index 000000000..9d50e1726 --- /dev/null +++ b/extra/gst-plugins-bad/PKGBUILD @@ -0,0 +1,132 @@ +# Maintainer: Jan Alexander Steffens (heftig) +# Contributor: Jan de Groot + +# ALARM: Kevin Mihelich +# - remove makedepend and package depend on svt-hevc + +pkgbase=gst-plugins-bad +pkgname=(gst-plugins-bad-libs gst-plugins-bad gst-plugin-opencv) +pkgver=1.18.0 +pkgrel=2 +pkgdesc="Multimedia graph framework - bad plugins" +url="https://gstreamer.freedesktop.org/" +arch=(x86_64) +license=(LGPL) +depends=(gst-plugins-base-libs orc libdrm libx11 libgudev libusb libvdpau + libxkbcommon-x11) +makedepends=(mjpegtools curl chromaprint libmms faad2 libdca libdvdnav + libmodplug libgme nettle libkate wayland libofa openjpeg2 libwebp + libsrtp sbc rtmpdump libexif libdvdread wildmidi ladspa openal + vulkan-icd-loader libfdk-aac faac soundtouch spandsp neon + webrtc-audio-processing libdc1394 libmpcdec zvbi openexr libbs2b + libnice lcms2 bluez-libs glu srt aom x265 liblrdf libde265 zbar + librsvg fluidsynth lilv lv2 gst-plugins-good python git + gobject-introspection vulkan-headers vulkan-validation-layers + wayland-protocols gtk3 meson shaderc libavtp libmicrodns + zxing-cpp opencv libva) +checkdepends=(xorg-server-xvfb) +options=(!emptydirs) +_commit=7cb583bb0427819a6b59b783e7df67961df2155f # tags/1.18.0^0 +source=("git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git#commit=$_commit" + 0001-tests-svthevcenc-Fix-test_encode_simple.patch) +sha256sums=('SKIP' + '04b276b7dc5ae63d2a5bfcef446597114e9d28c743e325c60038f8fc5375f445') + +pkgver() { + cd $pkgbase + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $pkgbase + git apply -3 ../0001-tests-svthevcenc-Fix-test_encode_simple.patch +} + +build() { + arch-meson $pkgbase build \ + -D directfb=disabled \ + -D doc=disabled \ + -D flite=disabled \ + -D gsm=disabled \ + -D iqa=disabled \ + -D magicleap=disabled \ + -D msdk=disabled \ + -D nvdec=disabled \ + -D nvenc=disabled \ + -D openh264=disabled \ + -D openmpt=disabled \ + -D openni2=disabled \ + -D opensles=disabled \ + -D tinyalsa=disabled \ + -D voaacenc=disabled \ + -D voamrwbenc=disabled \ + -D wasapi2=disabled \ + -D wasapi=disabled \ + -D wpe=disabled \ + -D gobject-cast-checks=disabled \ + -D package-name="GStreamer Bad Plugins (Arch Linux)" \ + -D package-origin="https://www.archlinux.org/" + meson compile -C build +} + +check() ( + mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}" + export XDG_RUNTIME_DIR + + # elements_dtls test hangs sometimes + xvfb-run -s '-screen 0 1920x1080x24 -nolisten local +iglx -noreset' \ + meson test -C build --print-errorlogs || : +) + +package_gst-plugins-bad-libs() { + pkgdesc="${pkgdesc% plugins}" + provides=("gst-transcoder=$pkgver") + conflicts=("gst-transcoder<1.18.0") + replaces=("gst-transcoder<1.18.0") + + DESTDIR="$pkgdir" meson install -C build + + mkdir -p ext/lib/gstreamer-1.0 + for _x in aom assrender bs2b bz2 chromaprint closedcaption colormanagement \ + curl dc1394 de265 dtls dtsdec faac faad fdkaac fluidsynthmidi gme \ + hls kate ladspa lv2 mms modplug mpeg2enc mplex musepack \ + neonhttpsrc ofa openal openexr openjpeg opusparse resindvd rsvg \ + rtmp sbc sctp smoothstreaming sndfile soundtouch spandsp srt srtp \ + teletext ttmlsubs vulkan waylandsink webp webrtc webrtcdsp \ + wildmidi x265 zbar va svthevcenc avtp zxing microdns; do + _x="lib/gstreamer-1.0/libgst${_x}.so" + mv "$pkgdir/usr/$_x" "ext/$_x" + done + + mkdir -p opencv/{lib,include/gstreamer-1.0/gst} + mv -t opencv/lib "$pkgdir"/usr/lib/*opencv* + mv -t opencv/include/gstreamer-1.0/gst \ + "$pkgdir"/usr/include/gstreamer-1.0/gst/opencv + + for _x in opencv; do + mkdir -p "$_x/lib/gstreamer-1.0" + _f="lib/gstreamer-1.0/libgst${_x}.so" + mv "$pkgdir/usr/$_f" "$_x/$_f" + done +} + +package_gst-plugins-bad() { + depends=("gst-plugins-bad-libs=$pkgver" gst-plugins-good + aom libass libbs2b bzip2 chromaprint pango lcms2 curl libxml2 + libdc1394 libde265 openssl libdca faac faad2 libfdk-aac fluidsynth + libgme nettle libkate liblrdf lilv libmms libmodplug mjpegtools + libmpcdec neon libofa openal openexr openjpeg2 opus libdvdnav + libdvdread librsvg rtmpdump sbc libsndfile soundtouch spandsp srt + libsrtp zvbi vulkan-icd-loader libxcb wayland libwebp libnice + webrtc-audio-processing wildmidi x265 zbar libavtp + libmicrodns zxing-cpp libva) + + mv ext "$pkgdir/usr" +} + +package_gst-plugin-opencv() { + pkgdesc="${pkgdesc%-*}- opencv plugin" + depends=(gst-plugins-base-libs opencv) + + mv opencv "$pkgdir/usr" +}