# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 GST_ORG_MODULE="gst-plugins-bad" inherit gstreamer-meson virtualx DESCRIPTION="Less plugins for GStreamer" HOMEPAGE="https://gstreamer.freedesktop.org/" LICENSE="LGPL-2" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="X bzip2 +introspection +orc udev vaapi vnc wayland" # X11 is automagic for now, upstream #709530 - only used by librfb USE=vnc plugin # Baseline requirement for libva is 1.6, but 1.15 gets more features RDEPEND=" !media-plugins/gst-plugins-va !media-plugins/gst-transcoder >=media-libs/gstreamer-${PV}:${SLOT}[${MULTILIB_USEDEP},introspection?] >=media-libs/gst-plugins-base-${PV}:${SLOT}[${MULTILIB_USEDEP},introspection?] introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) vnc? ( X? ( x11-libs/libX11[${MULTILIB_USEDEP}] ) ) wayland? ( >=dev-libs/wayland-1.4.0[${MULTILIB_USEDEP}] >=x11-libs/libdrm-2.4.98[${MULTILIB_USEDEP}] >=dev-libs/wayland-protocols-1.26 ) orc? ( >=dev-lang/orc-0.4.33[${MULTILIB_USEDEP}] ) vaapi? ( >=media-libs/libva-1.15:=[${MULTILIB_USEDEP}] udev? ( dev-libs/libgudev[${MULTILIB_USEDEP}] ) ) " DEPEND="${RDEPEND}" BDEPEND=" dev-util/glib-utils wayland? ( dev-util/wayland-scanner ) " DOCS=( AUTHORS ChangeLog NEWS README.md RELEASE ) PATCHES=( "${FILESDIR}"/0001-analyticsoverlay-move-option-to-right-section.patch "${FILESDIR}"/0002-codec2json-move-option-to-right-section.patch "${FILESDIR}"/gst-plugins-bad-1.24.13-va-skip-codecs-with-bad-resolution.patch ) src_prepare() { default addpredict /dev # Prevent sandbox violations bug #570624 } multilib_src_configure() { GST_PLUGINS_NOAUTO="bz2 hls ipcpipeline librfb shm va wayland" local emesonargs=( -Dshm=enabled -Dipcpipeline=enabled -Dhls=disabled $(meson_feature bzip2 bz2) $(meson_feature vaapi va) -Dudev=$(usex udev $(usex vaapi enabled disabled) disabled) $(meson_feature vnc librfb) -Dx11=$(usex X $(usex vnc enabled disabled) disabled) $(meson_feature wayland) ) gstreamer_multilib_src_configure } multilib_src_test() { # Homebrew test skips for meson local -a tests tests=( $(meson test --list -C "${BUILD_DIR}") ) local -a _skip_tests=( # known flaky test bug #931737 elements_netsim ) # Add suites which in this case are PN if has_version ">=dev-build/meson-1.10.0"; then local -a skip_tests=() for skip_test in ${_skip_tests[@]}; do skip_tests+=( "${PN}:${skip_test}" ) done else local -a skip_tests=( ${_skip_tests[@]} ) fi unset _skip_tests for test_index in ${!tests[@]}; do if [[ ${skip_tests[@]} =~ ${tests[${test_index}]} ]]; then unset tests[${test_index}] fi done # Tests are slower than upstream expects local -x CK_DEFAULT_TIMEOUT=300 # gstreamer_multilib_src_test doesn't pass arguments GST_GL_WINDOW=x11 virtx meson_src_test --timeout-multiplier 5 ${tests[@]} }