Install this version:
emerge -a =media-libs/gst-plugins-bad-1.26.11
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =media-libs/gst-plugins-bad-1.26.11
Or alternatively:
emerge --autounmask-write -a =media-libs/gst-plugins-bad-1.26.11
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 1.26.11 | 8 | ~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 |
# 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 verify-sig virtualx
DESCRIPTION="Less plugins for GStreamer"
HOMEPAGE="https://gstreamer.freedesktop.org/"
SRC_URI+=" verify-sig? ( https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz.asc )"
LICENSE="LGPL-2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="X bzip2 +introspection +orc udev vaapi vnc vulkan wayland"
REQUIRED_USE="vulkan? ( || ( X 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}] ) )
vulkan? (
media-libs/vulkan-loader[${MULTILIB_USEDEP}]
X? (
x11-libs/libxcb:=[${MULTILIB_USEDEP}]
x11-libs/libxkbcommon[${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.41[${MULTILIB_USEDEP}] )
vaapi? (
>=media-libs/libva-1.15:=[${MULTILIB_USEDEP}]
udev? ( dev-libs/libgudev[${MULTILIB_USEDEP}] )
)
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/glib-utils
verify-sig? ( sec-keys/openpgp-keys-tpm )
wayland? ( dev-util/wayland-scanner )
"
DOCS=( AUTHORS ChangeLog NEWS README.md RELEASE )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tpm.asc
PATCHES=(
"${FILESDIR}"/gst-plugins-bad-1.26.11-respect-webrtcdsp-disable.patch
# bug #974283
"${FILESDIR}"/gst-plugins-bad-1.26.11-GStreamer-SA-2026-0014.patch
# bug #974284
"${FILESDIR}"/gst-plugins-bad-1.26.11-GStreamer-SA-2026-0013.patch
"${FILESDIR}"/gst-plugins-bad-1.26.11-GStreamer-SA-2026-0015.patch
"${FILESDIR}"/gst-plugins-bad-1.26.11-GStreamer-SA-2026-0017.patch
)
src_prepare() {
default
addpredict /dev # Prevent sandbox violations bug #570624
}
multilib_src_configure() {
GST_PLUGINS_NOAUTO="tinyalsa bz2 hls ipcpipeline lcevcdecoder lcevcencoder librfb shm va vulkan wayland"
local emesonargs=(
-Dshm=enabled
-Dipcpipeline=enabled
-Dhls=disabled
-Dlcevcdecoder=disabled # unpackaged dependencies
-Dlcevcencoder=disabled # requires a dependency with a proprietary license and no public download
-Dtinyalsa=disabled
$(meson_feature bzip2 bz2)
$(meson_feature vaapi va)
$(meson_feature vulkan)
$(meson_feature vulkan vulkan-video)
-Dudev=$(usex udev $(usex vaapi enabled disabled) disabled)
$(meson_feature vnc librfb)
-Dx11=$(usex X $(usex vnc enabled disabled) disabled)
$(meson_feature wayland)
)
if use vulkan; then
local windowing=(
$(usev X x11)
$(usev wayland)
)
emesonargs+=(
-Dvulkan-windowing=$(IFS=','; echo "${windowing[*]}")
)
fi
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
# FIXME
# gst_harness_new_with_padnames: assertion failed: (element != NULL)
elements_aesenc
elements_aesdec
)
# 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[@]}
}
Manage flags for this package:
euse -i <flag> -p media-libs/gst-plugins-bad |
euse -E <flag> -p media-libs/gst-plugins-bad |
euse -D <flag> -p media-libs/gst-plugins-bad
!media-plugins/gst-plugins-va !media-plugins/gst-transcoder >=media-libs/gstreamer-1.26.11:[,introspection?] >=media-libs/gst-plugins-base-1.26.11:[,introspection?] introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) bzip2? ( >=app-arch/bzip2-1.0.6-r4[] ) vnc? ( X? ( x11-libs/libX11[] ) ) vulkan? ( media-libs/vulkan-loader[] X? ( x11-libs/libxcb:=[] x11-libs/libxkbcommon[] ) ) wayland? ( >=dev-libs/wayland-1.4.0[] >=x11-libs/libdrm-2.4.98[] >=dev-libs/wayland-protocols-1.26 ) orc? ( >=dev-lang/orc-0.4.41[] ) vaapi? ( >=media-libs/libva-1.15:=[] udev? ( dev-libs/libgudev[] ) )
!media-plugins/gst-plugins-va !media-plugins/gst-transcoder >=media-libs/gstreamer-1.26.11:[,introspection?] >=media-libs/gst-plugins-base-1.26.11:[,introspection?] introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) bzip2? ( >=app-arch/bzip2-1.0.6-r4[] ) vnc? ( X? ( x11-libs/libX11[] ) ) vulkan? ( media-libs/vulkan-loader[] X? ( x11-libs/libxcb:=[] x11-libs/libxkbcommon[] ) ) wayland? ( >=dev-libs/wayland-1.4.0[] >=x11-libs/libdrm-2.4.98[] >=dev-libs/wayland-protocols-1.26 ) orc? ( >=dev-lang/orc-0.4.41[] ) vaapi? ( >=media-libs/libva-1.15:=[] udev? ( dev-libs/libgudev[] ) )
dev-util/glib-utils verify-sig? ( sec-keys/openpgp-keys-tpm ) wayland? ( dev-util/wayland-scanner )