Package: bluez-gstreamer Severity: important Hi, currently the a2dpsink GStreamer element of bluez-gstreamer has a rank of GST_RANK_MARGINAL. This means that it can be automatically chosen by GStreamer for audio output *without* any additional setup.
The last part unfortunately isn't the case here, a2dpsink requires the device property to be set to the bluetooth device which should be used. Not setting that property results in a failure. To explain why this is a real problem let's consider a small example (which actually was reported against GStreamer upstream): You have bluez-gstreamer installed as part of the GNOME metapackage but you don't have a MP3 decoder plugin installed. Now you try to play a MP3 file with totem. Totem now detects that there is no MP3 decoder but a sink (a2dpsink) which can accept MP3 data, this is then chosen and tried and then fails because no device was set. This wouldn't happen if a2dpsink had a smaller rank. In that case Totem would start the GStreamer codec installer and ask the user to install gstreamer0.10-plugins-ugly or another package that provides a MP3 decoder. I'm not sure if important is the correct severity here, it might even be higher because it breaks other, more or less unrelated software. Ubuntu has a patch for this, you should apply it too. But you might change the MARGINAL-1 to GST_RANK_NONE instead but this doesn't really make a difference ;) > diff -pruN 4.60-1/debian/patches/02_lower_sink_ranking.patch > 4.60-0ubuntu5/debian/patches/02_lower_sink_ranking.patch > --- 4.60-1/debian/patches/02_lower_sink_ranking.patch 1970-01-01 > 01:00:00.000000000 +0100 > +++ 4.60-0ubuntu5/debian/patches/02_lower_sink_ranking.patch 2010-02-26 > 04:33:53.000000000 +0000 > @@ -0,0 +1,11 @@ > +diff -Nur -x '*.orig' -x '*~' bluez-4.51/audio/gsta2dpsink.c > bluez-4.51.new/audio/gsta2dpsink.c > +--- bluez-4.51/audio/gsta2dpsink.c 2009-07-06 22:21:40.000000000 +0200 > ++++ bluez-4.51.new/audio/gsta2dpsink.c 2009-09-24 23:12:05.000000000 > +0200 > +@@ -698,6 +698,6 @@ > + gboolean gst_a2dp_sink_plugin_init(GstPlugin *plugin) > + { > + return gst_element_register(plugin, "a2dpsink", > +- GST_RANK_MARGINAL, GST_TYPE_A2DP_SINK); > ++ GST_RANK_MARGINAL-1, GST_TYPE_A2DP_SINK); > + } > +
signature.asc
Description: This is a digitally signed message part