diff -u rhythmbox-0.11.2/debian/control rhythmbox-0.11.2/debian/control --- rhythmbox-0.11.2/debian/control +++ rhythmbox-0.11.2/debian/control @@ -3,7 +3,7 @@ Priority: optional Maintainer: Ubuntu Desktop Team XSBC-Original-Maintainer: Loic Minier -Uploaders: Debian GNOME Maintainers +Uploaders: Debian GNOME Maintainers , Loic Minier Build-Depends: cdbs (>= 0.4.35), debhelper (>= 5.0.37.2), libgnome2-dev (>= 2.0.5-1), libgtk2.0-dev (>= 2.8.0), scrollkeeper, libgnomeui-dev (>= 2.8.1-3), diff -u rhythmbox-0.11.2/debian/changelog rhythmbox-0.11.2/debian/changelog --- rhythmbox-0.11.2/debian/changelog +++ rhythmbox-0.11.2/debian/changelog @@ -1,3 +1,11 @@ +rhythmbox (0.11.2-0ubuntu5) gutsy; urgency=medium + + * New patch, 75_add-volume-element, adds a volume element in the output + filterbin to help caps negociation which seems to cause crackling sound + with some ALSA hardware at high volume; GNOME #436192; LP: #116990. + + -- Loic Minier Thu, 11 Oct 2007 12:11:49 +0200 + rhythmbox (0.11.2-0ubuntu4) gutsy; urgency=low * debian/patches/80_update_translations_template.patch: only in patch2: unchanged: --- rhythmbox-0.11.2.orig/debian/patches/75_add-volume-element.patch +++ rhythmbox-0.11.2/debian/patches/75_add-volume-element.patch @@ -0,0 +1,38 @@ +LP #116990; GNOME #436192; adds a volume element in the output filterbin to +help caps negociation which seems to cause crackling sound with some ALSA +hardware at high volume + +diff -Nur rhythmbox-0.11.2/backends/gstreamer/rb-player-gst.c rhythmbox-0.11.2.new/backends/gstreamer/rb-player-gst.c +--- rhythmbox-0.11.2/backends/gstreamer/rb-player-gst.c 2007-10-11 12:19:50.000000000 +0200 ++++ rhythmbox-0.11.2.new/backends/gstreamer/rb-player-gst.c 2007-10-11 12:21:11.000000000 +0200 +@@ -556,6 +556,7 @@ + GList *l; + GstElement *queue; + GstElement *audioconvert; ++ GstElement *volume; + GstPad *ghostpad; + + /* setup filterbin,and insert the leading audioconvert */ +@@ -574,15 +575,19 @@ + gst_element_add_pad (mp->priv->filterbin, ghostpad); + gst_object_unref (pad); + +- + /* set up the sinkbin with it's tee element */ + mp->priv->sinkbin = gst_bin_new (NULL); + mp->priv->tee = gst_element_factory_make ("tee", NULL); + queue = gst_element_factory_make ("queue", NULL); + ++ /* add a volume element which seems to help negociating proper ++ * pads with alsa and works around crackling sound; see GNOME ++ * #436192 and LP #116990 */ ++ volume = gst_element_factory_make ("volume", NULL); ++ + /* link it all together and insert */ +- gst_bin_add_many (GST_BIN (mp->priv->sinkbin), mp->priv->filterbin, mp->priv->tee, queue, sink, NULL); +- gst_element_link_many (mp->priv->filterbin, mp->priv->tee, queue, sink, NULL); ++ gst_bin_add_many (GST_BIN (mp->priv->sinkbin), mp->priv->filterbin, mp->priv->tee, volume, queue, sink, NULL); ++ gst_element_link_many (mp->priv->filterbin, mp->priv->tee, volume, queue, sink, NULL); + + pad = gst_element_get_pad (mp->priv->filterbin, "sink"); + ghostpad = gst_ghost_pad_new ("sink", pad);