}
}
+static void
+post_missing_element_message (GstPlayBin * playbin, const gchar * name)
+{
+ GstMessage *msg;
+
+ msg = gst_missing_element_message_new (GST_ELEMENT_CAST (playbin), name);
+ gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
+}
+
/* make the element (bin) that contains the elements needed to perform
* video display. We connect a handoff signal to identity so that we
* can grab snapshots. Identity's sinkpad is ghosted to vbin.
/* ERRORS */
no_sinks:
{
- /* FIXME: this warrants adding a CORE error category for missing
- * elements/plugins */
+ post_missing_element_message (play_bin, "autovideosink");
GST_ELEMENT_ERROR (play_bin, CORE, MISSING_PLUGIN,
(_("Both autovideosink and xvimagesink elements are missing.")),
(NULL));
}
no_colorspace:
{
+ post_missing_element_message (play_bin, "ffmpegcolorspace");
GST_ELEMENT_ERROR (play_bin, CORE, MISSING_PLUGIN,
(_("Missing element '%s' - check your GStreamer installation."),
"ffmpegcolorspace"), (NULL));
no_videoscale:
{
+ post_missing_element_message (play_bin, "videoscale");
GST_ELEMENT_ERROR (play_bin, CORE, MISSING_PLUGIN,
(_("Missing element '%s' - check your GStreamer installation."),
"videoscale"), ("possibly a liboil version mismatch?"));
/* ERRORS */
no_overlay:
{
+ post_missing_element_message (play_bin, "textoverlay");
GST_WARNING_OBJECT (play_bin,
"No overlay (pango) element, subtitles disabled");
return vbin;
/* ERRORS */
no_sinks:
{
+ post_missing_element_message (play_bin, "autoaudiosink");
GST_ELEMENT_ERROR (play_bin, CORE, MISSING_PLUGIN,
(_("Both autoaudiosink and alsasink elements are missing.")), (NULL));
return NULL;
}
no_audioconvert:
{
+ post_missing_element_message (play_bin, "audioconvert");
GST_ELEMENT_ERROR (play_bin, CORE, MISSING_PLUGIN,
(_("Missing element '%s' - check your GStreamer installation."),
"audioconvert"), ("possibly a liboil version mismatch?"));
no_audioresample:
{
+ post_missing_element_message (play_bin, "audioresample");
GST_ELEMENT_ERROR (play_bin, CORE, MISSING_PLUGIN,
(_("Missing element '%s' - check your GStreamer installation."),
"audioresample"), ("possibly a liboil version mismatch?"));
/* ERRORS */
no_audioconvert:
{
+ post_missing_element_message (play_bin, "audioconvert");
GST_ELEMENT_ERROR (play_bin, CORE, MISSING_PLUGIN,
(_("Missing element '%s' - check your GStreamer installation."),
"audioconvert"), ("possibly a liboil version mismatch?"));
}
no_goom:
{
+ post_missing_element_message (play_bin, "goom");
GST_ELEMENT_ERROR (play_bin, CORE, MISSING_PLUGIN,
(_("Missing element '%s' - check your GStreamer installation."),
"goom"), (NULL));