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);

Reply via email to