Expand description
Shared GStreamer probe — structured diagnostic for capture/playback preconditions (M-MEDIA.1 / AUT-97).
probe runs the actual checks; the returned GStreamerProbe is
the structured form (Option<version> per binary, requested-plugin
map, PATH snapshot for CI diagnosis). is_available is the
bool shortcut callers use as a skip-guard for integration tests.
§Why this exists
Capture / playback paths all assume gst-launch-1.0 and
gst-discoverer-1.0 are on PATH. CI on Linux apt-installs
gstreamer1.0-tools, but per CLAUDE.md’s “GStreamer / CI” lessons
some nextest processes still get ENOENT on spawn — the cause is
unclear, but the skip guard makes it a non-issue.
Structured diagnostic (vs the old bool helper) means the failure
message can say why — gst-launch-1.0 missing, gst-discoverer-1.0 present, PATH=/usr/bin:/usr/local/bin:… — instead of just “false.”
§Quick start
use media::gstreamer::{is_available, probe};
if !is_available() {
eprintln!("skipping GStreamer test:\n{}", probe());
return;
}
// …run the integration test…Structs§
- GStreamer
Probe - Structured GStreamer probe result.
Functions§
- check_
plugin 🔒 - is_
available - Shortcut:
probe().is_available(). - probe
- Probe both CLIs without checking any plugins.
- probe_
with_ plugins - Probe both CLIs and check the named plugins via
gst-inspect-1.0. - version_
of 🔒