The GStreamer Bad Plug-ins package contains a set of plug-ins that aren't up to par compared to the rest. They might be close to being good quality, but they're missing something - be it a good code review, some documentation, a set of tests, a real live maintainer, or some actual wide use.
This package is known to build and work properly using an LFS 13.0 platform.
Download (HTTP): https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.28.0.tar.xz
Download MD5 sum: 57602ed08eadcf817b4ddeee4f4b96f4
Download size: 7.6 MB
Estimated disk space required: 306 MB (with tests)
Estimated build time: 0.7 SBU (Using parallelism=4; with tests)
Optional patch (required if zxing-cpp is installed): https://www.linuxfromscratch.org/patches/blfs/svn/gst-plugins-bad-1.28.0-zxing_cpp_3-1.patch
libaom-3.13.1 (for chroma subsampling outside of YUV420), libdvdread-7.0.1, libdvdnav-7.0.0, libva-2.23.0, SVT-AV1-4.0.1 (only supports YUV420), SoundTouch-2.4.0
BlueZ-5.86, cURL-8.18.0, faac-1.31.1, FAAD2-2.11.2, fdk-aac-2.0.3, GTK-3.24.51 (for examples), gst-plugins-good-1.28.0 (for one test), JSON-GLib-1.10.8, Little CMS-2.18, libass-0.17.4, libde265-1.0.16, libexif-0.6.25 (for one test), librsvg-2.61.4, libsndfile-1.2.2, libssh2-1.11.1, libusb-1.0.29, libwebp-1.6.0, libxkbcommon-1.13.1, libxml2-2.15.1, neon-0.36.0, Nettle-3.10.2 or libgcrypt-1.12.0 (for SSL support in the hls plugin, if both are not installed OpenSSL will be used instead), opencv-4.13.0 (with additional modules), OpenJPEG-2.5.4, Opus-1.6.1, Pango-1.57.0, libqrencode-4.1.1, SBC-2.2, Valgrind-3.26.0, both Vulkan-Loader-1.4.341.0 and glslc from shaderc-2026.1 (for Vulkan plugin), Wayland-1.24.0 (GTK-3.24.51 must have been compiled with wayland support), x265-4.1, zxing-cpp-3.0.2, bs2b, Chromaprint, dssim, Flite, FluidSynth, Game Music Emu, GSM (currently broken), hotdoc, LADSPA, ldacBT, libajantv2, libavtp, libdc1394-2, libdca, libkate, libmfx, libmms, libmodplug, libnice, libofa, libopenmpt, libopenni, libsoup2, libsrtp, lilv, LRDF, ltc-tools, microdns, MJPEG Tools, mplex2, musepack, onnxruntime, OpenAL, OpenEXR, OpenH264, Orc, rtmpdump, spandsp, Srt, svthevcenc, VO AAC, VO AMRWB, WildMidi, WPE-WebKit, WPEBackend-fdo, ZBAR, and ZVBI
If you need a plugin for a given dependency, that dependency needs to be installed before this package.
At first, fix compatibility with zxing-cpp-3.0.0 or newer:
patch -Np1 -i ../gst-plugins-bad-1.28.0-zxing_cpp_3-1.patch
Install GStreamer Bad Plug-ins by running the following commands:
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--buildtype=release \
-D gpl=enabled &&
ninja
To test the results, issue: ninja test. Several tests need a terminal emulator in a graphical session. If gst-plugins-good-1.28.0 is not installed, two tests, elements_rtpsrc and elements_rtpsink, will fail.
Now, as the root user:
ninja install
--buildtype=release:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
-D gpl=enabled: Without
this switch, plugins with dependencies on (A)GPL licensed libraries
are not built.