I have applied the patch indicated in my previous post and it works, so
I'm uploading the diffs (the patch alone and the debdiff between 2.6.1-5
and my patched version).
This bug only affects the 2.6 series (2.9 from experimental is already
fixed upstream - this bug should be restricted to the 2.6 series); is it
possible to patch version 2.6.1 in sid (and subsequently jessie) until
2.9 remains in experimental?
diff -Nru banshee-2.6.1/debian/changelog banshee-2.6.1/debian/changelog
--- banshee-2.6.1/debian/changelog 2013-12-15 15:58:08.000000000 +0100
+++ banshee-2.6.1/debian/changelog 2013-12-24 11:45:21.000000000 +0100
@@ -1,3 +1,10 @@
+banshee (2.6.1-5.1) UNRELEASED; urgency=low
+
+ * Non-maintainer upload.
+ * Don't reset volume on startup
+
+ -- Francesco Presel <francesco@solydxk> Tue, 24 Dec 2013 11:45:01 +0100
+
banshee (2.6.1-5) unstable; urgency=low
* [e31f3f6] Fix up dbus-sharp-glib-1.0 reference in the .pc file
diff -Nru banshee-2.6.1/debian/patches/Dont-reset-volume-on-startup.patch
banshee-2.6.1/debian/patches/Dont-reset-volume-on-startup.patch
--- banshee-2.6.1/debian/patches/Dont-reset-volume-on-startup.patch
1970-01-01 01:00:00.000000000 +0100
+++ banshee-2.6.1/debian/patches/Dont-reset-volume-on-startup.patch
2013-12-24 11:47:49.000000000 +0100
@@ -0,0 +1,24 @@
+Description: Don't reset volume on startup
+ Only call the volume changed callback once so the volume from the pipeline is
+ set in the player object on OSX (closes #694261): this fixes a regression
causing
+ the volume to be set to maximum whenever playback is started.
+
+Origin: upstream,
https://git.gnome.org/browse/banshee/patch/?id=d8ae526714a18a773af4bf5e5d6b10cdc5644ec1
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=686908
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=694261
+
+--- banshee-2.6.1.orig/libbanshee/banshee-player-pipeline.c
++++ banshee-2.6.1/libbanshee/banshee-player-pipeline.c
+@@ -355,9 +355,12 @@ _bp_pipeline_construct (BansheePlayer *p
+ player->volume = gst_element_factory_make ("volume", NULL);
+ g_return_val_if_fail (player->volume != NULL, FALSE);
+
++ // gstreamer on OS X does not call the callback upon initialization (see
bgo#680917)
++#ifdef __APPLE__
+ // call the volume changed callback once so the volume from the pipeline
is
+ // set in the player object
+ bp_volume_changed_callback (player->playbin, NULL, player);
++#endif
+
+ audiosinkqueue = gst_element_factory_make ("queue", "audiosinkqueue");
+ g_return_val_if_fail (audiosinkqueue != NULL, FALSE);
diff -Nru banshee-2.6.1/debian/patches/series
banshee-2.6.1/debian/patches/series
--- banshee-2.6.1/debian/patches/series 2013-12-15 15:58:08.000000000 +0100
+++ banshee-2.6.1/debian/patches/series 2013-12-24 11:46:20.000000000 +0100
@@ -13,3 +13,4 @@
Don-t-use-the-new-decoded-pad-signal-of-decodebin.patch
Use-new-style-GStreamer-1.0-raw-audio-caps-in-the-WA.patch
Use-dbus-2.patch
+Dont-reset-volume-on-startup.patch
Description: Don't reset volume on startup
Only call the volume changed callback once so the volume from the pipeline is
set in the player object on OSX (closes #694261): this fixes a regression causing
the volume to be set to maximum whenever playback is started.
Origin: upstream, https://git.gnome.org/browse/banshee/patch/?id=d8ae526714a18a773af4bf5e5d6b10cdc5644ec1
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=686908
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=694261
--- banshee-2.6.1.orig/libbanshee/banshee-player-pipeline.c
+++ banshee-2.6.1/libbanshee/banshee-player-pipeline.c
@@ -355,9 +355,12 @@ _bp_pipeline_construct (BansheePlayer *p
player->volume = gst_element_factory_make ("volume", NULL);
g_return_val_if_fail (player->volume != NULL, FALSE);
+ // gstreamer on OS X does not call the callback upon initialization (see bgo#680917)
+#ifdef __APPLE__
// call the volume changed callback once so the volume from the pipeline is
// set in the player object
bp_volume_changed_callback (player->playbin, NULL, player);
+#endif
audiosinkqueue = gst_element_factory_make ("queue", "audiosinkqueue");
g_return_val_if_fail (audiosinkqueue != NULL, FALSE);