X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/0b47d5168900dcf3ba40d7abc7942cd8049818d7..c54fec77e8e079bbcd6dc522c979e82e78e4f582:/server/gstdecode.c?ds=sidebyside diff --git a/server/gstdecode.c b/server/gstdecode.c index 0ebe83a..7644475 100644 --- a/server/gstdecode.c +++ b/server/gstdecode.c @@ -215,6 +215,10 @@ static void prepare_pipeline(void) GstCaps *caps; const struct stream_header *fmt = &config->sample_format; + if(!source || !decode || !resample || !convert || !sink) + disorder_fatal(0, "failed to create GStreamer elements: " + "need base and good plugins"); + #ifndef HAVE_GSTREAMER_0_10 static const struct fmttab { const char *fmt; @@ -291,6 +295,9 @@ static void prepare_pipeline(void) */ if(mode != OFF) { gain = gst_element_factory_make("rgvolume", "gain"); + if(!gain) + disorder_fatal(0, "failed to create GStreamer elements: " + "need base and good plugins"); g_object_set(gain, "album-mode", mode == ALBUM, "fallback-gain", fallback,