disorder_error(0, "failed to link GStreamer elements `%s' and `%s'",
GST_OBJECT_NAME(left), GST_OBJECT_NAME(right));
report_element_pads("source", left, gst_element_iterate_src_pads(left));
- report_element_pads("source", right, gst_element_iterate_sink_pads(right));
+ report_element_pads("dest", right, gst_element_iterate_sink_pads(right));
disorder_fatal(0, "can't decode `%s'", file);
}
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;
*/
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,
gst_app_sink_set_callbacks(appsink, &callbacks, 0, 0);
/* Set the ball rolling. */
- gst_element_set_state(GST_ELEMENT(pipeline), GST_STATE_PLAYING);
+ gst_element_set_state(pipeline, GST_STATE_PLAYING);
/* And wait for the miracle to come. */
g_main_loop_run(loop);
/* Shut down the pipeline. This isn't strictly necessary, since we're
* about to exit very soon, but it's kind of polite.
*/
- gst_element_set_state(GST_ELEMENT(pipeline), GST_STATE_NULL);
+ gst_element_set_state(pipeline, GST_STATE_NULL);
}
static int getenum(const char *what, const char *s, const char *const *tags)