Skip to main content

Module gstreamer

Module gstreamer 

Source
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 whygst-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§

GStreamerProbe
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 🔒