2008-02-11 Tim-Philipp Müller <tim at centricular dot net>
+ * gst/playback/gstplaybin.c: (gen_audio_element):
+ * gst/playback/gstplaysink.c: (gen_audio_chain):
+ Handle case where we can't create the volume element a bit
+ better (#514307).
+
+2008-02-11 Tim-Philipp Müller <tim at centricular dot net>
+
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_check_get_range):
* ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris):
Add support for https protocol. Fixes #510229.
gst_bin_add (GST_BIN_CAST (element), scale);
volume = gst_element_factory_make ("volume", "volume");
+ if (volume == NULL)
+ goto no_volume;
g_object_set (G_OBJECT (volume), "volume", play_bin->volume, NULL);
play_bin->volume_element = volume;
gst_bin_add (GST_BIN_CAST (element), volume);
gst_object_unref (element);
return NULL;
}
-
no_audioresample:
{
post_missing_element_message (play_bin, "audioresample");
gst_object_unref (element);
return NULL;
}
+no_volume:
+ {
+ post_missing_element_message (play_bin, "volume");
+ GST_ELEMENT_ERROR (play_bin, CORE, MISSING_PLUGIN,
+ (_("Missing element '%s' - check your GStreamer installation."),
+ "volume"), ("possibly a liboil version mismatch?"));
+ gst_object_unref (element);
+ return NULL;
+ }
link_failed:
{
GST_ELEMENT_ERROR (play_bin, CORE, PAD,
if (playsink->flags & GST_PLAY_FLAG_SOFT_VOLUME) {
chain->volume = gst_element_factory_make ("volume", "volume");
+ if (chain->volume == NULL)
+ goto no_volume;
/* configure with the latest volume */
g_object_set (G_OBJECT (chain->volume), "volume", playsink->volume, NULL);
gst_bin_add (bin, chain->volume);
free_chain ((GstPlayChain *) chain);
return NULL;
}
-
no_audioresample:
{
post_missing_element_message (playsink, "audioresample");
free_chain ((GstPlayChain *) chain);
return NULL;
}
+no_volume:
+ {
+ post_missing_element_message (playsink, "volume");
+ GST_ELEMENT_ERROR (playsink, CORE, MISSING_PLUGIN,
+ (_("Missing element '%s' - check your GStreamer installation."),
+ "volume"), ("possibly a liboil version mismatch?"));
+ free_chain ((GstPlayChain *) chain);
+ return NULL;
+ }
link_failed:
{
GST_ELEMENT_ERROR (playsink, CORE, PAD,