[Pkg-cli-apps-commits] [banshee] 02/04: Drop upstreamed and irrelevant patches

Chow Loong Jin hyperair at debian.org
Mon Jul 7 02:55:15 UTC 2014


This is an automated email from the git hooks/post-receive script.

hyperair pushed a commit to branch experimental
in repository banshee.

commit b9584b830ece816d9ef62468a829085aa9263861
Author: Chow Loong Jin <hyperair at debian.org>
Date:   Mon Jul 7 10:03:24 2014 +0800

    Drop upstreamed and irrelevant patches
---
 debian/patches/Add-Meego-desktop-file.patch        |   57 --
 ...dd-dllmaps-for-Banshee.NowPlaying.X11.dll.patch |   31 -
 .../patches/Debrand-the-interface-to-Netbook.patch |   70 --
 ...e-the-new-decoded-pad-signal-of-decodebin.patch |   62 --
 ...Enable-switching-between-the-2-interfaces.patch |  140 ---
 .../patches/Fix-ambiguity-in-DateTime-class.patch  |    8 +-
 debian/patches/Initial-port-to-GStreamer-1.0.patch | 1022 --------------------
 ...anel-on-client-MeeGo-and-don-t-show-when-.patch |   29 -
 .../Quit-only-on-explicit-shutdown-request.patch   |   25 -
 ...build-time-enable-gapless-playback-option.patch |  202 ----
 debian/patches/Remove-irrelevant-media.patch       |   21 -
 debian/patches/Use-dbus-2.patch                    |    6 +-
 ...le-GStreamer-1.0-raw-audio-caps-in-the-WA.patch |   21 -
 .../Use-notify-sharp-3.0-to-match-Gtk-3.0.patch    |   21 -
 .../libbnpx11-Don-t-use-non-existent-macros.patch  |   98 --
 ...Fix-certificate-validation-with-libsoup-2.patch |   49 -
 debian/patches/series                              |   14 -
 17 files changed, 7 insertions(+), 1869 deletions(-)

diff --git a/debian/patches/Add-Meego-desktop-file.patch b/debian/patches/Add-Meego-desktop-file.patch
deleted file mode 100644
index c1aab14..0000000
--- a/debian/patches/Add-Meego-desktop-file.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From: Chow Loong Jin <hyperair at debian.org>
-Date: Fri, 20 Jan 2012 23:14:39 +0800
-Subject: Add Meego desktop file
-
----
- src/Extensions/Banshee.MeeGo/Makefile.am           | 10 +++++++---
- src/Extensions/Banshee.MeeGo/banshee.desktop.in.in | 11 +++++++++++
- 2 files changed, 18 insertions(+), 3 deletions(-)
- create mode 100644 src/Extensions/Banshee.MeeGo/banshee.desktop.in.in
-
-diff --git a/src/Extensions/Banshee.MeeGo/Makefile.am b/src/Extensions/Banshee.MeeGo/Makefile.am
-index bb42b94..7c3dd78 100644
---- a/src/Extensions/Banshee.MeeGo/Makefile.am
-+++ b/src/Extensions/Banshee.MeeGo/Makefile.am
-@@ -37,7 +37,8 @@ service_DATA = com.meego.UX.Shell.Panels.banshee.service
- com.meego.UX.Shell.Panels.banshee.service: com.meego.UX.Shell.Panels.banshee.service.in $(top_builddir)/config.log
- 	sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
- 
--desktopfiles_in_files = meego-panel-banshee.desktop.in
-+desktopfiles_in_files = meego-panel-banshee.desktop.in \
-+						banshee.desktop.in
- desktopfiles_files = $(desktopfiles_in_files:.desktop.in=.desktop)
- desktopfilesdir = $(MEEGO_PANELS_DIR)
- desktopfiles_DATA = $(desktopfiles_files)
-@@ -52,10 +53,13 @@ endif
- clean-local:
- 	rm -f com.meego.UX.Shell.Panels.banshee.service \
- 		meego-panel-banshee.desktop \
--		meego-panel-banshee.desktop.in
-+		meego-panel-banshee.desktop.in \
-+		banshee.desktop \
-+		banshee.desktop.in
- 
- EXTRA_DIST += \
- 	Banshee.MeeGo.dll.config \
- 	meego-panel-banshee \
- 	com.meego.UX.Shell.Panels.banshee.service.in \
--	meego-panel-banshee.desktop.in.in
-+	meego-panel-banshee.desktop.in \
-+	banshee.desktop.in.in
-diff --git a/src/Extensions/Banshee.MeeGo/banshee.desktop.in.in b/src/Extensions/Banshee.MeeGo/banshee.desktop.in.in
-new file mode 100644
-index 0000000..edff676
---- /dev/null
-+++ b/src/Extensions/Banshee.MeeGo/banshee.desktop.in.in
-@@ -0,0 +1,11 @@
-+[Desktop Entry]
-+_Name=Banshee Netbook
-+_GenericName=Netbook Media Player
-+_X-GNOME-FullName=Netbook Banshee Media Player
-+_Comment=Play and organize your media collection
-+Exec=banshee --client=MeeGo
-+Terminal=false
-+Type=Application
-+Icon=media-player-banshee
-+Categories=GNOME;Audio;Music;Player;AudioVideo;
-+StartupNotify=true
diff --git a/debian/patches/Add-dllmaps-for-Banshee.NowPlaying.X11.dll.patch b/debian/patches/Add-dllmaps-for-Banshee.NowPlaying.X11.dll.patch
deleted file mode 100644
index 54f961f..0000000
--- a/debian/patches/Add-dllmaps-for-Banshee.NowPlaying.X11.dll.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From: Chow Loong Jin <hyperair at debian.org>
-Date: Fri, 1 Jun 2012 16:22:37 +0800
-Subject: Add dllmaps for Banshee.NowPlaying.X11.dll
-
----
- src/Backends/Banshee.NowPlaying.X11/Banshee.NowPlaying.X11.dll.config | 3 +++
- src/Backends/Banshee.NowPlaying.X11/Makefile.am                       | 1 +
- 2 files changed, 4 insertions(+)
- create mode 100644 src/Backends/Banshee.NowPlaying.X11/Banshee.NowPlaying.X11.dll.config
-
-diff --git a/src/Backends/Banshee.NowPlaying.X11/Banshee.NowPlaying.X11.dll.config b/src/Backends/Banshee.NowPlaying.X11/Banshee.NowPlaying.X11.dll.config
-new file mode 100644
-index 0000000..83f5efc
---- /dev/null
-+++ b/src/Backends/Banshee.NowPlaying.X11/Banshee.NowPlaying.X11.dll.config
-@@ -0,0 +1,3 @@
-+<configuration>
-+  <dllmap dll="libgobject-2.0.so" target="libgobject-2.0.so.0" os="!windows"/>
-+</configuration>
-diff --git a/src/Backends/Banshee.NowPlaying.X11/Makefile.am b/src/Backends/Banshee.NowPlaying.X11/Makefile.am
-index d8e94fd..4e0acbe 100644
---- a/src/Backends/Banshee.NowPlaying.X11/Makefile.am
-+++ b/src/Backends/Banshee.NowPlaying.X11/Makefile.am
-@@ -11,6 +11,7 @@ RESOURCES = Banshee.NowPlaying.X11.addin.xml
- 
- if HAVE_XVIDMODE
- include $(top_srcdir)/build/build.mk
-+dist_module_SCRIPTS = Banshee.NowPlaying.X11.dll.config
- else
- include $(top_srcdir)/build/build.dist.mk
- endif
diff --git a/debian/patches/Debrand-the-interface-to-Netbook.patch b/debian/patches/Debrand-the-interface-to-Netbook.patch
deleted file mode 100644
index 95aa99a..0000000
--- a/debian/patches/Debrand-the-interface-to-Netbook.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From: Didier Roche <didrocks at ubuntu.com>
-Date: Mon, 5 Jul 2010 13:06:51 +0200
-Subject: Debrand the interface to "Netbook"
-
-Upstream bug report: https://bugzilla.gnome.org/show_bug.cgi?id=623588
----
- src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs   | 12 ++++++------
- src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs |  2 +-
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs
-index eaad0a3..6fad319 100644
---- a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs
-+++ b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs
-@@ -48,7 +48,7 @@ namespace Banshee.MeeGo
-         public MeeGoPanel ()
-         {
-             if (Instance != null) {
--                throw new InvalidOperationException ("Only one MeeGoPanel instance should exist");
-+                throw new InvalidOperationException ("Only one Netbook Panel (MeegoPanel) instance should exist");
-             }
- 
-             Instance = this;
-@@ -56,7 +56,7 @@ namespace Banshee.MeeGo
-             var timer = Log.DebugTimerStart ();
- 
-             try {
--                Log.Debug ("Attempting to create MeeGo toolbar panel");
-+                Log.Debug ("Attempting to create Netbook toolbar panel");
-                 embedded_panel = new PanelGtk ("banshee", Catalog.GetString ("media"),
-                     null, "media-button", true);
-                 embedded_panel.ShowBeginEvent += (o, e) => {
-@@ -70,12 +70,12 @@ namespace Banshee.MeeGo
-                 }
-             } catch (Exception e) {
-                 if (!(e is DllNotFoundException)) {
--                    Log.Exception ("Could not bind to MeeGo panel", e);
-+                    Log.Exception ("Could not bind to Netbook panel", e);
-                 }
--                window_panel = new Gtk.Window ("MeeGo Media Panel");
-+                window_panel = new Gtk.Window ("Netbook Media Panel");
-             }
- 
--            Log.DebugTimerPrint (timer, "MeeGo panel created: {0}");
-+            Log.DebugTimerPrint (timer, "Netbook panel created: {0}");
-         }
- 
-         public void Dispose ()
-@@ -87,7 +87,7 @@ namespace Banshee.MeeGo
-             var timer = Log.DebugTimerStart ();
-             Contents = new MediaPanelContents ();
-             Contents.ShowAll ();
--            Log.DebugTimerPrint (timer, "MeeGo panel contents created: {0}");
-+            Log.DebugTimerPrint (timer, "Netbook panel contents created: {0}");
- 
-             if (embedded_panel != null) {
-                 embedded_panel.SetChild (Contents);
-diff --git a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs
-index ffac0f1..4d0ad52 100644
---- a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs
-+++ b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs
-@@ -100,7 +100,7 @@ namespace Banshee.MeeGo
-             panel = MeeGoPanel.Instance ?? new MeeGoPanel ();
- 
-             if (panel == null) {
--                Log.Warning ("MeeGo extension initialized without a panel");
-+                Log.Warning ("Netbook extension initialized without a panel");
-                 return;
-             }
- 
diff --git a/debian/patches/Don-t-use-the-new-decoded-pad-signal-of-decodebin.patch b/debian/patches/Don-t-use-the-new-decoded-pad-signal-of-decodebin.patch
deleted file mode 100644
index 3a012c9..0000000
--- a/debian/patches/Don-t-use-the-new-decoded-pad-signal-of-decodebin.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <slomo at circular-chaos.org>
-Date: Tue, 28 May 2013 11:36:04 +0200
-Subject: Don't use the new-decoded-pad signal of decodebin
-
-It is not available anymore in 1.0 and pad-added should be used.
----
- libbanshee/banshee-bpmdetector.c | 8 ++++----
- libbanshee/banshee-transcoder.c  | 8 ++++----
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/libbanshee/banshee-bpmdetector.c b/libbanshee/banshee-bpmdetector.c
-index 68b0419..131d2e5 100644
---- a/libbanshee/banshee-bpmdetector.c
-+++ b/libbanshee/banshee-bpmdetector.c
-@@ -159,8 +159,8 @@ bbd_pipeline_bus_callback (GstBus *bus, GstMessage *message, gpointer data)
- }
- 
- static void
--bbd_new_decoded_pad(GstElement *decodebin, GstPad *pad, 
--    gboolean last, gpointer data)
-+bbd_pad_added(GstElement *decodebin, GstPad *pad, 
-+    gpointer data)
- {
-     GstCaps *caps;
-     GstStructure *str;
-@@ -244,8 +244,8 @@ bbd_pipeline_construct (BansheeBpmDetector *detector)
-     }
- 
-     // decodebin and audioconvert are linked dynamically when the decodebin creates a new pad
--    g_signal_connect(detector->decodebin, "new-decoded-pad", 
--        G_CALLBACK(bbd_new_decoded_pad), detector);
-+    g_signal_connect(detector->decodebin, "pad-added", 
-+        G_CALLBACK(bbd_pad_added), detector);
- 
-     if (!gst_element_link_many (detector->audioconvert, detector->bpmdetect, detector->fakesink, NULL)) {
-         bbd_raise_error (detector, _("Could not link pipeline elements"), NULL);
-diff --git a/libbanshee/banshee-transcoder.c b/libbanshee/banshee-transcoder.c
-index 0e241f0..f678838 100644
---- a/libbanshee/banshee-transcoder.c
-+++ b/libbanshee/banshee-transcoder.c
-@@ -185,8 +185,8 @@ gst_transcoder_build_encoder(const gchar *encoder_pipeline)
- }    
- 
- static void
--gst_transcoder_new_decoded_pad(GstElement *decodebin, GstPad *pad, 
--    gboolean last, gpointer data)
-+gst_transcoder_pad_added(GstElement *decodebin, GstPad *pad, 
-+    gpointer data)
- {
-     GstCaps *caps;
-     GstStructure *str;
-@@ -293,8 +293,8 @@ gst_transcoder_create_pipeline(GstTranscoder *transcoder,
-         
-     gst_element_link(source_elem, decoder_elem);
- 
--    g_signal_connect(decoder_elem, "new-decoded-pad", 
--        G_CALLBACK(gst_transcoder_new_decoded_pad), transcoder);
-+    g_signal_connect(decoder_elem, "pad-added", 
-+        G_CALLBACK(gst_transcoder_pad_added), transcoder);
- 
-     gst_bus_add_watch(gst_pipeline_get_bus(GST_PIPELINE(transcoder->pipeline)), 
-         gst_transcoder_bus_callback, transcoder);
diff --git a/debian/patches/Enable-switching-between-the-2-interfaces.patch b/debian/patches/Enable-switching-between-the-2-interfaces.patch
deleted file mode 100644
index 9c03f6c..0000000
--- a/debian/patches/Enable-switching-between-the-2-interfaces.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-From: Didier Roche <didrocks at ubuntu.com>
-Date: Mon, 5 Jul 2010 13:15:27 +0200
-Subject: Enable switching between the 2 interfaces
-
-This enables switching between the 2 interfaces, even when the classic interface
-is started.
----
- .../Resources/core-ui-actions-layout.xml           |  1 +
- .../Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs      |  9 +++++
- .../Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs    | 42 ++++++++++++++++++++--
- 3 files changed, 49 insertions(+), 3 deletions(-)
-
-diff --git a/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml b/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml
-index 290d330..ac8502c 100644
---- a/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml
-+++ b/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml
-@@ -5,6 +5,7 @@
-     <placeholder name="NextArrowButton"/>
-     <placeholder name="SeekSlider"/>
-     <placeholder name="TrackInfoDisplay"/>
-+    <placeholder name="ExtensionToolBarPlaceHolder"/>
-     <placeholder name="SourceActions">
-         <toolitem name="RefreshSmartPlaylist" action="RefreshSmartPlaylistAction"/>
-     </placeholder>
-diff --git a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs
-index 6fad319..9f16ba7 100644
---- a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs
-+++ b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs
-@@ -105,9 +105,18 @@ namespace Banshee.MeeGo
- 
-         public void Hide ()
-         {
-+            window_panel.Hide ();
-             if (embedded_panel != null) {
-                 embedded_panel.Hide ();
-             }
-         }
-+
-+        public void Show ()
-+        {
-+            window_panel.Show ();
-+            if (embedded_panel != null) {
-+                embedded_panel.Show ();
-+            }
-+        }
-     }
- }
-diff --git a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs
-index 5aae94e..d615b4e 100644
---- a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs
-+++ b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs
-@@ -26,6 +26,7 @@
- // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- //
- 
-+using Mono.Unix;
- using System;
- using Gtk;
- using MeeGo.Panel;
-@@ -38,6 +39,7 @@ using Banshee.Sources;
- using Banshee.ServiceStack;
- using Banshee.MediaEngine;
- using Banshee.Gui;
-+using Banshee.Gui.Widgets;
- 
- namespace Banshee.MeeGo
- {
-@@ -84,6 +86,7 @@ namespace Banshee.MeeGo
-             }
- 
-             Initialize ();
-+            AddSwitchToPrimaryInterface ();
- 
-             ServiceManager.ServiceStarted -= OnServiceStarted;
- 
-@@ -100,12 +103,12 @@ namespace Banshee.MeeGo
-             panel = MeeGoPanel.Instance;
- 
-             if (panel == null) {
--                Log.Warning ("Netbook extension initialized without a panel");
-+                Log.Information ("Netbook extension initialized with hidden panel");
-+                //AddSwitchToPrimaryInterface ();
-                 return;
--            } else {
--                elements_service.PrimaryWindow.Hide ();
-             }
- 
-+            elements_service.PrimaryWindow.Hide ();
-             panel.BuildContents ();
- 
-             elements_service.PrimaryWindowClose = () => {
-@@ -115,8 +118,30 @@ namespace Banshee.MeeGo
- 
-         }
- 
-+        private void AddSwitchToPrimaryInterface ()
-+        {
-+            // Add switcher to primary interface:
-+            var app_button = new Button (new Image () {
-+                IconSize = (int)IconSize.LargeToolbar,
-+                IconName = "media-player-banshee"
-+            }) {
-+                TooltipText = Catalog.GetString ("Show the Netbook interface")
-+            };
-+            app_button.Clicked += (o, e) => {
-+                //ServiceManager.SourceManager.SetActiveSource (ServiceManager.SourceManager.MusicLibrary);
-+                ServiceManager.Get<MeeGoService> ().PresentNetbookInterface ();
-+            };
-+            Toolbar header_toolbar;
-+            InterfaceActionService action_service;
-+            action_service = ServiceManager.Get<InterfaceActionService> ();
-+            header_toolbar = (Toolbar)action_service.UIManager.GetWidget ("/HeaderToolbar");
-+            app_button.ShowAll ();
-+            action_service.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/ExtensionToolBarPlaceHolder", app_button);
-+        }
-+
-         public void PresentPrimaryInterface ()
-         {
-+            Log.Information ("Switch to traditional interface");
-             elements_service.PrimaryWindow.Maximize ();
-             elements_service.PrimaryWindow.Present ();
-             if (panel != null) {
-@@ -124,6 +149,17 @@ namespace Banshee.MeeGo
-             }
-         }
- 
-+        public void PresentNetbookInterface ()
-+        {
-+            Log.Information ("Switch to Netbook interface");
-+            if (panel == null) {
-+                panel = new MeeGoPanel ();
-+                Initialize ();
-+            }
-+            panel.Show ();
-+            elements_service.PrimaryWindow.Hide ();
-+        }
-+
-         public void Dispose ()
-         {
-             if (panel != null) {
diff --git a/debian/patches/Fix-ambiguity-in-DateTime-class.patch b/debian/patches/Fix-ambiguity-in-DateTime-class.patch
index 6a081aa..fe7aa58 100644
--- a/debian/patches/Fix-ambiguity-in-DateTime-class.patch
+++ b/debian/patches/Fix-ambiguity-in-DateTime-class.patch
@@ -9,10 +9,10 @@ ambiguity between System.DateTime and GLib.DateTime.
  1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/src/Core/Banshee.Widgets/Banshee.Widgets/DateButton.cs b/src/Core/Banshee.Widgets/Banshee.Widgets/DateButton.cs
-index 519a54a..095d2d9 100644
+index 9846f44..a7e6a8c 100644
 --- a/src/Core/Banshee.Widgets/Banshee.Widgets/DateButton.cs
 +++ b/src/Core/Banshee.Widgets/Banshee.Widgets/DateButton.cs
-@@ -36,7 +36,7 @@ namespace Banshee.Widgets
+@@ -35,7 +35,7 @@ namespace Banshee.Widgets
      public class DateButton : ToggleButton
      {
          private Window popup;
@@ -21,7 +21,7 @@ index 519a54a..095d2d9 100644
          private Calendar cal;
          private string displayFormat;
  
-@@ -47,7 +47,7 @@ namespace Banshee.Widgets
+@@ -46,7 +46,7 @@ namespace Banshee.Widgets
          {
              Toggled += OnToggled;
              popup = null;
@@ -30,7 +30,7 @@ index 519a54a..095d2d9 100644
              displayFormat = "yyyy/MM/dd";
          }
  
-@@ -195,7 +195,7 @@ namespace Banshee.Widgets
+@@ -194,7 +194,7 @@ namespace Banshee.Widgets
              set { displayFormat = value; }
          }
  
diff --git a/debian/patches/Initial-port-to-GStreamer-1.0.patch b/debian/patches/Initial-port-to-GStreamer-1.0.patch
deleted file mode 100644
index e3dcf19..0000000
--- a/debian/patches/Initial-port-to-GStreamer-1.0.patch
+++ /dev/null
@@ -1,1022 +0,0 @@
-From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian.droege at collabora.co.uk>
-Date: Wed, 19 Sep 2012 11:34:06 +0200
-Subject: Initial port to GStreamer 1.0
-
----
- build/m4/banshee/gstreamer.m4                | 19 +++---
- data/audio-profiles/wav.xml.in               |  5 +-
- libbanshee/banshee-bpmdetector.c             | 11 ++--
- libbanshee/banshee-gst.h                     |  4 +-
- libbanshee/banshee-player-cdda.c             |  5 +-
- libbanshee/banshee-player-dvd.c              |  4 +-
- libbanshee/banshee-player-equalizer.c        |  4 +-
- libbanshee/banshee-player-missing-elements.c |  2 +-
- libbanshee/banshee-player-pipeline.c         | 37 ++++++------
- libbanshee/banshee-player-private.h          | 13 ++--
- libbanshee/banshee-player-replaygain.c       | 29 ++++-----
- libbanshee/banshee-player-video.c            | 89 ++++++++++++++--------------
- libbanshee/banshee-player-vis.c              | 88 +++++++++------------------
- libbanshee/banshee-player.c                  | 11 ++--
- libbanshee/banshee-ripper.c                  | 16 ++---
- libbanshee/banshee-tagger.c                  |  2 +-
- libbanshee/banshee-transcoder.c              | 19 +++---
- 17 files changed, 156 insertions(+), 202 deletions(-)
-
-diff --git a/build/m4/banshee/gstreamer.m4 b/build/m4/banshee/gstreamer.m4
-index 6267cce..917cf58 100644
---- a/build/m4/banshee/gstreamer.m4
-+++ b/build/m4/banshee/gstreamer.m4
-@@ -1,17 +1,18 @@
- AC_DEFUN([BANSHEE_CHECK_GSTREAMER],
- [
--	GSTREAMER_REQUIRED_VERSION=0.10.26
-+	GSTREAMER_REQUIRED_VERSION=0.11.99
- 	AC_SUBST(GSTREAMER_REQUIRED_VERSION)
- 
- 	PKG_CHECK_MODULES(GST,
--		gstreamer-0.10 >= $GSTREAMER_REQUIRED_VERSION
--		gstreamer-base-0.10 >= $GSTREAMER_REQUIRED_VERSION
--		gstreamer-plugins-base-0.10 >= $GSTREAMER_REQUIRED_VERSION
--		gstreamer-controller-0.10 >= $GSTREAMER_REQUIRED_VERSION
--		gstreamer-dataprotocol-0.10 >= $GSTREAMER_REQUIRED_VERSION
--		gstreamer-fft-0.10 >= $GSTREAMER_REQUIRED_VERSION)
--
--	GST_LIBS="$GST_LIBS -lgstvideo-0.10 -lgstinterfaces-0.10 -lgstcdda-0.10 -lgstpbutils-0.10 -lgsttag-0.10"
-+		gstreamer-1.0 >= $GSTREAMER_REQUIRED_VERSION
-+		gstreamer-base-1.0 >= $GSTREAMER_REQUIRED_VERSION
-+		gstreamer-controller-1.0 >= $GSTREAMER_REQUIRED_VERSION
-+		gstreamer-plugins-base-1.0 >= $GSTREAMER_REQUIRED_VERSION
-+		gstreamer-audio-1.0 >= $GSTREAMER_REQUIRED_VERSION
-+		gstreamer-fft-1.0 >= $GSTREAMER_REQUIRED_VERSION
-+		gstreamer-pbutils-1.0 >= $GSTREAMER_REQUIRED_VERSION
-+		gstreamer-tag-1.0 >= $GSTREAMER_REQUIRED_VERSION
-+		gstreamer-video-1.0 >= $GSTREAMER_REQUIRED_VERSION)
- 
- 	AC_SUBST(GST_CFLAGS)
- 	AC_SUBST(GST_LIBS)
-diff --git a/data/audio-profiles/wav.xml.in b/data/audio-profiles/wav.xml.in
-index 35cd1d2..6dc1bab 100644
---- a/data/audio-profiles/wav.xml.in
-+++ b/data/audio-profiles/wav.xml.in
-@@ -14,10 +14,7 @@
-                 "audioresample"
-                 "audioconvert" 
-                 (+ "audio/x-raw-int, "
--                   "endianness=(int)1234, "
--                   "width=(int)16, "
--                   "depth=(int)16, "
--                   "signed=(boolean)true, "
-+                   "format=(string)S16LE, "
-                    "rate=(int)44100, "
-                    "channels=(int)2" )
-                 "wavenc")
-diff --git a/libbanshee/banshee-bpmdetector.c b/libbanshee/banshee-bpmdetector.c
-index c06ffcb..68b0419 100644
---- a/libbanshee/banshee-bpmdetector.c
-+++ b/libbanshee/banshee-bpmdetector.c
-@@ -30,6 +30,7 @@
- #  include "config.h"
- #endif
- 
-+#include <stdio.h>
- #include <string.h>
- #include <glib/gi18n.h>
- 
-@@ -50,7 +51,7 @@ struct BansheeBpmDetector {
- 
-     /*
-      * You can run this pipeline on the cmd line with:
--     * gst-launch -m filesrc location=/path/to/my.mp3 ! decodebin2 ! \
-+     * gst-launch -m filesrc location=/path/to/my.mp3 ! decodebin ! \
-      *    audioconvert ! bpmdetect ! fakesink
-      */
- 
-@@ -168,14 +169,14 @@ bbd_new_decoded_pad(GstElement *decodebin, GstPad *pad,
- 
-     g_return_if_fail(detector != NULL);
- 
--    audiopad = gst_element_get_pad(detector->audioconvert, "sink");
-+    audiopad = gst_element_get_static_pad(detector->audioconvert, "sink");
-     
-     if(GST_PAD_IS_LINKED(audiopad)) {
-         g_object_unref(audiopad);
-         return;
-     }
- 
--    caps = gst_pad_get_caps(pad);
-+    caps = gst_pad_query_caps(pad, NULL);
-     str = gst_caps_get_structure(caps, 0);
-     
-     if(!g_strrstr(gst_structure_get_name(str), "audio")) {
-@@ -209,9 +210,9 @@ bbd_pipeline_construct (BansheeBpmDetector *detector)
-         return FALSE;
-     }
-   
--    detector->decodebin = gst_element_factory_make ("decodebin2", "decodebin2");
-+    detector->decodebin = gst_element_factory_make ("decodebin", "decodebin");
-     if (detector->decodebin == NULL) {
--        bbd_raise_error (detector, _("Could not create decodebin2 plugin"), NULL);
-+        bbd_raise_error (detector, _("Could not create decodebin plugin"), NULL);
-         return FALSE;
-     }
- 
-diff --git a/libbanshee/banshee-gst.h b/libbanshee/banshee-gst.h
-index 85662cf..332f356 100644
---- a/libbanshee/banshee-gst.h
-+++ b/libbanshee/banshee-gst.h
-@@ -41,9 +41,11 @@
- #define BANSHEE_GST_ITERATOR_ITERATE(iter,child_type,child_name,free,block) { \
-     gboolean iter##_done = FALSE; \
-     while (!iter##_done) { \
-+        GValue child_value = {0, }; \
-         child_type child_name; \
--        switch (gst_iterator_next (iter, (gpointer)&child_name)) { \
-+        switch (gst_iterator_next (iter, &child_value)) { \
-             case GST_ITERATOR_OK: { \
-+                child_name = (child_type) g_value_get_object(&child_value); \
-                 { block; } \
-                 break; \
-             } \
-diff --git a/libbanshee/banshee-player-cdda.c b/libbanshee/banshee-player-cdda.c
-index 8be2bdd..401edf0 100644
---- a/libbanshee/banshee-player-cdda.c
-+++ b/libbanshee/banshee-player-cdda.c
-@@ -28,7 +28,8 @@
- // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- //
- 
--#include <gst/cdda/gstcddabasesrc.h>
-+#include <stdlib.h>
-+#include <gst/audio/gstaudiocdsrc.h>
- #include "banshee-player-cdda.h"
- 
- // ---------------------------------------------------------------------------
-@@ -46,7 +47,7 @@ bp_cdda_get_cdda_source (GstElement *playbin)
-     
-     g_object_get (playbin, "source", &source, NULL);
-     
--    if (source == NULL || !GST_IS_CDDA_BASE_SRC (source)) {
-+    if (source == NULL || !GST_IS_AUDIO_CD_SRC (source)) {
-         if (source != NULL) {
-             g_object_unref (source);
-         }
-diff --git a/libbanshee/banshee-player-dvd.c b/libbanshee/banshee-player-dvd.c
-index 55d499c..991b506 100644
---- a/libbanshee/banshee-player-dvd.c
-+++ b/libbanshee/banshee-player-dvd.c
-@@ -296,7 +296,7 @@ bp_dvd_go_to_next_chapter (BansheePlayer *player)
- {
-     gint64 index;
-     GstFormat format = gst_format_get_by_nick ("chapter");
--    gst_element_query_position (player->playbin, &format, &index);
-+    gst_element_query_position (player->playbin, format, &index);
-     gst_element_seek (player->playbin, 1.0, format, GST_SEEK_FLAG_FLUSH,
-         GST_SEEK_TYPE_SET, index + 1, GST_SEEK_TYPE_NONE, 0);
- }
-@@ -306,7 +306,7 @@ bp_dvd_go_to_previous_chapter (BansheePlayer *player)
- {
-     gint64 index;
-     GstFormat format = gst_format_get_by_nick ("chapter");
--    gst_element_query_position (player->playbin, &format, &index);
-+    gst_element_query_position (player->playbin, format, &index);
-     gst_element_seek (player->playbin, 1.0, format, GST_SEEK_FLAG_FLUSH,
-         GST_SEEK_TYPE_SET, index - 1, GST_SEEK_TYPE_NONE, 0);
- }
-diff --git a/libbanshee/banshee-player-equalizer.c b/libbanshee/banshee-player-equalizer.c
-index a496ada..0cbb3b7 100644
---- a/libbanshee/banshee-player-equalizer.c
-+++ b/libbanshee/banshee-player-equalizer.c
-@@ -122,7 +122,7 @@ bp_equalizer_set_gain (BansheePlayer *player, guint bandnum, gdouble gain)
-     g_return_if_fail (IS_BANSHEE_PLAYER (player));
-     
-     if (player->equalizer != NULL) {
--        GstObject *band;
-+        GObject *band;
- 
-         g_return_if_fail (bandnum < gst_child_proxy_get_children_count (GST_CHILD_PROXY (player->equalizer)));
- 
-@@ -188,7 +188,7 @@ bp_equalizer_get_frequencies (BansheePlayer *player, gdouble **freq)
-     count = gst_child_proxy_get_children_count (GST_CHILD_PROXY (player->equalizer));
-     
-     for (i = 0; i < count; i++) {
--        GstObject *band;
-+        GObject *band;
-         
-         band = gst_child_proxy_get_child_by_index (GST_CHILD_PROXY (player->equalizer), i);
-         g_object_get (G_OBJECT (band), "freq", &(*freq)[i], NULL);
-diff --git a/libbanshee/banshee-player-missing-elements.c b/libbanshee/banshee-player-missing-elements.c
-index 825c8ef..392137a 100644
---- a/libbanshee/banshee-player-missing-elements.c
-+++ b/libbanshee/banshee-player-missing-elements.c
-@@ -170,7 +170,7 @@ _bp_missing_elements_handle_state_changed (BansheePlayer *player, GstState old,
-     }
-     #endif
-     
--    install_return = gst_install_plugins_async (details, player->install_plugins_context, 
-+    install_return = gst_install_plugins_async ((const gchar * const*) details, player->install_plugins_context, 
-         bp_missing_elements_handle_install_result, player);
-     
-     if (install_return != GST_INSTALL_PLUGINS_STARTED_OK) {
-diff --git a/libbanshee/banshee-player-pipeline.c b/libbanshee/banshee-player-pipeline.c
-index 4dae104..018bcd2 100644
---- a/libbanshee/banshee-player-pipeline.c
-+++ b/libbanshee/banshee-player-pipeline.c
-@@ -76,7 +76,7 @@ playbin_stream_changed_cb (GstElement * element, BansheePlayer *player)
-     GstMessage *msg;
- 
-     // We're being called from the streaming thread, so don't do anything here
--    msg = gst_message_new_application (GST_OBJECT (player->playbin), gst_structure_new ("stream-changed", NULL));
-+    msg = gst_message_new_application (GST_OBJECT (player->playbin), gst_structure_new_empty ("stream-changed"));
-     gst_element_post_message (player->playbin, msg);
- }
- 
-@@ -218,6 +218,11 @@ bp_pipeline_bus_callback (GstBus *bus, GstMessage *message, gpointer userdata)
-             break;
-         }
- 
-+        case GST_MESSAGE_STREAM_START: {
-+            bp_next_track_starting (player);
-+            break;
-+        }
-+
-         case GST_MESSAGE_APPLICATION: {
-             const gchar * name;
-             const GstStructure * s = gst_message_get_structure (message);
-@@ -289,11 +294,11 @@ _bp_pipeline_construct (BansheePlayer *player)
-     
-     // Playbin is the core element that handles autoplugging (finding the right
-     // source and decoder elements) based on source URI and stream content
--    player->playbin = gst_element_factory_make ("playbin2", "playbin");
-+    player->playbin = gst_element_factory_make ("playbin", "playbin");
- 
- #ifdef ENABLE_GAPLESS
-     // FIXME: Connect a proxy about-to-finish callback that will generate a next-track-starting callback.
--    // This can be removed once playbin2 generates its own next-track signal.
-+    // This can be removed once playbin generates its own next-track signal.
-     // bgo#584987 - this is included in >= 0.10.26
-     g_signal_connect (player->playbin, "about-to-finish", G_CALLBACK (bp_about_to_finish_callback), player);
- #endif //ENABLE_GAPLESS
-@@ -305,18 +310,13 @@ _bp_pipeline_construct (BansheePlayer *player)
-     g_signal_connect (player->playbin, "audio-changed", G_CALLBACK (playbin_stream_changed_cb), player);
-     g_signal_connect (player->playbin, "text-changed", G_CALLBACK (playbin_stream_changed_cb), player);
- 
--    // Try to find an audio sink, prefer gconf, which typically is set to auto these days,
--    // fall back on auto, which should work on windows, and as a last ditch, try alsa
--    audiosink = gst_element_factory_make ("gconfaudiosink", "audiosink");
--    if (audiosink == NULL) {
--        audiosink = gst_element_factory_make ("directsoundsink", "audiosink");
--        if (audiosink != NULL) {
--            g_object_set (G_OBJECT (audiosink), "volume", 1.0, NULL);
--        } else {
--            audiosink = gst_element_factory_make ("autoaudiosink", "audiosink");
--            if (audiosink == NULL) {
--                audiosink = gst_element_factory_make ("alsasink", "audiosink");
--            }
-+    audiosink = gst_element_factory_make ("directsoundsink", "audiosink");
-+    if (audiosink != NULL) {
-+        g_object_set (G_OBJECT (audiosink), "volume", 1.0, NULL);
-+    } else {
-+        audiosink = gst_element_factory_make ("autoaudiosink", "audiosink");
-+        if (audiosink == NULL) {
-+            audiosink = gst_element_factory_make ("alsasink", "audiosink");
-         }
-     }
-     
-@@ -341,7 +341,6 @@ _bp_pipeline_construct (BansheePlayer *player)
-         GstIterator *elem_iter = gst_bin_iterate_recurse (GST_BIN (audiosink));
-         BANSHEE_GST_ITERATOR_ITERATE (elem_iter, GstElement *, element, TRUE, {
-             player->audiosink_has_volume |= g_object_class_find_property (G_OBJECT_GET_CLASS (element), "volume") != NULL;
--            gst_object_unref (element);
-         });
-     }
-     bp_debug ("Audiosink has volume: %s",
-@@ -386,7 +385,7 @@ _bp_pipeline_construct (BansheePlayer *player)
-     }
-    
-     // Ghost pad the audio bin so audio is passed from the bin into the tee
--    teepad = gst_element_get_pad (player->audiotee, "sink");
-+    teepad = gst_element_get_static_pad (player->audiotee, "sink");
-     gst_element_add_pad (player->audiobin, gst_ghost_pad_new ("sink", teepad));
-     gst_object_unref (teepad);
- 
-@@ -414,8 +413,8 @@ _bp_pipeline_construct (BansheePlayer *player)
-     gst_bus_add_watch (bus, bp_pipeline_bus_callback, player);
- 
-     // Link the first tee pad to the primary audio sink queue
--    GstPad *sinkpad = gst_element_get_pad (audiosinkqueue, "sink");
--    pad = gst_element_get_request_pad (player->audiotee, "src%d");
-+    GstPad *sinkpad = gst_element_get_static_pad (audiosinkqueue, "sink");
-+    pad = gst_element_get_request_pad (player->audiotee, "src_%u");
-     g_object_set(player->audiotee, "alloc-pad", pad, NULL);
-     gst_pad_link (pad, sinkpad);
-     gst_object_unref (GST_OBJECT (pad));
-diff --git a/libbanshee/banshee-player-private.h b/libbanshee/banshee-player-private.h
-index 9fed356..9346911 100644
---- a/libbanshee/banshee-player-private.h
-+++ b/libbanshee/banshee-player-private.h
-@@ -42,14 +42,14 @@
- #include <gst/fft/gstfftf32.h>
- #include <gst/pbutils/pbutils.h>
- #include <gst/tag/tag.h>
--#include <gst/interfaces/navigation.h>
-+#include <gst/video/navigation.h>
- 
- #if defined(GDK_WINDOWING_X11)
- #  include <gdk/gdkx.h>
--#  include <gst/interfaces/xoverlay.h>
-+#  include <gst/video/videooverlay.h>
- #elif defined(GDK_WINDOWING_WIN32)
- #  include <gdk/gdkwin32.h>
--#  include <gst/interfaces/xoverlay.h>
-+#  include <gst/video/videooverlay.h>
- #endif
- 
- #include "banshee-gst.h"
-@@ -155,11 +155,11 @@ struct BansheePlayer {
-     // Video State
-     BpVideoDisplayContextType video_display_context_type;
-     #if defined(GDK_WINDOWING_X11)
--    GstXOverlay *xoverlay;
-+    GstVideoOverlay *video_overlay;
-     GdkWindow *video_window;
-     XID video_window_xid;
-     #elif defined(GDK_WINDOWING_WIN32)
--    GstXOverlay *xoverlay;
-+    GstVideoOverlay *video_overlay;
-     GdkWindow *video_window;
-     HWND video_window_xid;
-     #endif
-@@ -179,6 +179,8 @@ struct BansheePlayer {
-     GstFFTF32 *vis_fft;
-     GstFFTF32Complex *vis_fft_buffer;
-     gfloat *vis_fft_sample_buffer;
-+    GstPad *vis_event_probe_pad;
-+    gulong vis_event_probe_id;
-     
-     // Plugin Installer State
-     GdkWindow *window;
-@@ -197,6 +199,7 @@ struct BansheePlayer {
-     // http://replaygain.hydrogenaudio.org/player_scale.html
-     gdouble rg_gain_history[10];
-     gint history_size;
-+    gulong rg_pad_block_id;
- 
-     //dvd navigation
-     GstNavigation *navigation;
-diff --git a/libbanshee/banshee-player-replaygain.c b/libbanshee/banshee-player-replaygain.c
-index a479d4a..e42b197 100644
---- a/libbanshee/banshee-player-replaygain.c
-+++ b/libbanshee/banshee-player-replaygain.c
-@@ -79,17 +79,13 @@ static void on_target_gain_changed (GstElement *rgvolume, GParamSpec *pspec, Ban
-     _bp_rgvolume_print_volume (player);
- }
- 
--static void
--pad_block_cb (GstPad *srcPad, gboolean blocked, gpointer user_data)
-+static GstPadProbeReturn
-+pad_block_cb (GstPad *srcPad, GstPadProbeInfo *info, gpointer user_data)
- {
-     BansheePlayer* player;
- 
--    if (!blocked) {
--        return;
--    }
--
-     player = (BansheePlayer*) user_data;
--    g_return_if_fail (IS_BANSHEE_PLAYER (player));
-+    g_return_val_if_fail (IS_BANSHEE_PLAYER (player), GST_PAD_PROBE_OK);
- 
-     // The pad_block_cb can get triggered multiple times, on different threads.
-     // Lock around the link/unlink code, so we don't end up going through here
-@@ -99,11 +95,9 @@ pad_block_cb (GstPad *srcPad, gboolean blocked, gpointer user_data)
-     if ((player->replaygain_enabled && player->rgvolume_in_pipeline) ||
-         (!player->replaygain_enabled && !player->rgvolume_in_pipeline)) {
-         // The pipeline is already in the correct state.  Unblock the pad, and return.
-+        player->rg_pad_block_id = 0;
-         g_mutex_unlock (player->replaygain_mutex);
--        if (gst_pad_is_blocked (srcPad)) {
--            gst_pad_set_blocked_async (srcPad, FALSE, &pad_block_cb, player);
--        }
--        return;
-+        return GST_PAD_PROBE_REMOVE;
-     }
- 
-     if (player->rgvolume_in_pipeline) {
-@@ -139,13 +133,12 @@ pad_block_cb (GstPad *srcPad, gboolean blocked, gpointer user_data)
-     }
- 
-     // Our state is now consistent
-+    player->rg_pad_block_id = 0;
-     g_mutex_unlock (player->replaygain_mutex);
- 
--    if (gst_pad_is_blocked (srcPad)) {
--        gst_pad_set_blocked_async (srcPad, FALSE, &pad_block_cb, player);
--    }
--
-     _bp_rgvolume_print_volume (player);
-+
-+    return GST_PAD_PROBE_REMOVE;
- }
- 
- // ---------------------------------------------------------------------------
-@@ -187,9 +180,9 @@ void _bp_replaygain_pipeline_rebuild (BansheePlayer* player)
-     srcPad = gst_element_get_static_pad (player->before_rgvolume, "src");
- 
-     if (gst_pad_is_active (srcPad) && !gst_pad_is_blocked (srcPad)) {
--        gst_pad_set_blocked_async (srcPad, TRUE, &pad_block_cb, player);
--    } else if (srcPad->block_callback == NULL) {
--        pad_block_cb (srcPad, TRUE, player);
-+        player->rg_pad_block_id = gst_pad_add_probe (srcPad, GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM, &pad_block_cb, player, NULL);
-+    } else if (!player->rg_pad_block_id) {
-+        pad_block_cb (srcPad, NULL, player);
-     }
- }
- 
-diff --git a/libbanshee/banshee-player-video.c b/libbanshee/banshee-player-video.c
-index b901354..eb95c3f 100644
---- a/libbanshee/banshee-player-video.c
-+++ b/libbanshee/banshee-player-video.c
-@@ -37,54 +37,54 @@
- #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WIN32)
- 
- static gboolean
--bp_video_find_xoverlay (BansheePlayer *player)
-+bp_video_find_video_overlay (BansheePlayer *player)
- {
-     GstElement *video_sink = NULL;
--    GstElement *xoverlay;
--    GstXOverlay *previous_xoverlay;
--    gboolean    found_xoverlay;
-+    GstElement *video_overlay;
-+    GstVideoOverlay *previous_video_overlay;
-+    gboolean    found_video_overlay;
- 
-     g_object_get (player->playbin, "video-sink", &video_sink, NULL);
- 
-     g_mutex_lock (player->video_mutex);
--    previous_xoverlay = player->xoverlay;
-+    previous_video_overlay = player->video_overlay;
- 
-     if (video_sink == NULL) {
--        player->xoverlay = NULL;
--        if (previous_xoverlay != NULL) {
--            gst_object_unref (previous_xoverlay);
-+        player->video_overlay = NULL;
-+        if (previous_video_overlay != NULL) {
-+            gst_object_unref (previous_video_overlay);
-         }
-         g_mutex_unlock (player->video_mutex);
-         return FALSE;
-     }
-    
--    xoverlay = GST_IS_BIN (video_sink)
--        ? gst_bin_get_by_interface (GST_BIN (video_sink), GST_TYPE_X_OVERLAY)
-+    video_overlay = GST_IS_BIN (video_sink)
-+        ? gst_bin_get_by_interface (GST_BIN (video_sink), GST_TYPE_VIDEO_OVERLAY)
-         : video_sink;
-     
--    player->xoverlay = GST_IS_X_OVERLAY (xoverlay) ? GST_X_OVERLAY (xoverlay) : NULL;
-+    player->video_overlay = GST_IS_VIDEO_OVERLAY (video_overlay) ? GST_VIDEO_OVERLAY (video_overlay) : NULL;
-     
--    if (previous_xoverlay != NULL) {
--        gst_object_unref (previous_xoverlay);
-+    if (previous_video_overlay != NULL) {
-+        gst_object_unref (previous_video_overlay);
-     }
-         
- #if !defined(GDK_WINDOWING_WIN32) // We can't rely on aspect ratio from dshowvideosink
--    if (player->xoverlay != NULL && g_object_class_find_property (
--        G_OBJECT_GET_CLASS (player->xoverlay), "force-aspect-ratio")) {
--        g_object_set (G_OBJECT (player->xoverlay), "force-aspect-ratio", TRUE, NULL);
-+    if (player->video_overlay != NULL && g_object_class_find_property (
-+        G_OBJECT_GET_CLASS (player->video_overlay), "force-aspect-ratio")) {
-+        g_object_set (G_OBJECT (player->video_overlay), "force-aspect-ratio", TRUE, NULL);
-     }
- #endif
-     
--    if (player->xoverlay != NULL && g_object_class_find_property (
--        G_OBJECT_GET_CLASS (player->xoverlay), "handle-events")) {
--        g_object_set (G_OBJECT (player->xoverlay), "handle-events", FALSE, NULL);
-+    if (player->video_overlay != NULL && g_object_class_find_property (
-+        G_OBJECT_GET_CLASS (player->video_overlay), "handle-events")) {
-+        g_object_set (G_OBJECT (player->video_overlay), "handle-events", FALSE, NULL);
-     }
- 
-     gst_object_unref (video_sink);
--    found_xoverlay = (player->xoverlay != NULL) ? TRUE : FALSE;
-+    found_video_overlay = (player->video_overlay != NULL) ? TRUE : FALSE;
- 
-     g_mutex_unlock (player->video_mutex);
--    return found_xoverlay;
-+    return found_video_overlay;
- }
- 
- #endif /* GDK_WINDOWING_X11 || GDK_WINDOWING_WIN32 */
-@@ -130,27 +130,27 @@ bp_video_sink_element_added (GstBin *videosink, GstElement *element, BansheePlay
-     g_return_if_fail (IS_BANSHEE_PLAYER (player));
- 
-     #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WIN32)
--    bp_video_find_xoverlay (player);
-+    bp_video_find_video_overlay (player);
-     #endif
- }
- 
- static void
- bp_video_bus_element_sync_message (GstBus *bus, GstMessage *message, BansheePlayer *player)
- {
--    gboolean found_xoverlay;
-+    gboolean found_video_overlay;
-     
-     g_return_if_fail (IS_BANSHEE_PLAYER (player));
- 
-     #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WIN32)
- 
--    if (message->structure == NULL || !gst_structure_has_name (message->structure, "prepare-xwindow-id")) {
-+    if (!gst_is_video_overlay_prepare_window_handle_message (message)) {
-         return;
-     }
- 
--    found_xoverlay = bp_video_find_xoverlay (player);
-+    found_video_overlay = bp_video_find_video_overlay (player);
- 
--    if (found_xoverlay) {
--        gst_x_overlay_set_xwindow_id (player->xoverlay, player->video_window_xid);
-+    if (found_video_overlay) {
-+        gst_video_overlay_set_window_handle (player->video_overlay, player->video_window_xid);
-     }
- 
-     #endif
-@@ -164,7 +164,7 @@ static void
- cb_caps_set (GObject *obj, GParamSpec *pspec, BansheePlayer *p)
- {
-     GstStructure * s = NULL;
--    GstCaps * caps = gst_pad_get_negotiated_caps (GST_PAD (obj));
-+    GstCaps * caps = gst_pad_get_current_caps (GST_PAD (obj));
- 
-     if (G_UNLIKELY (!caps)) {
-         return;
-@@ -219,7 +219,7 @@ _bp_parse_stream_info (BansheePlayer *player)
-     }
- 
-     if (G_LIKELY (vpad)) {
--        GstCaps *caps = gst_pad_get_negotiated_caps (vpad);
-+        GstCaps *caps = gst_pad_get_current_caps (vpad);
-         if (G_LIKELY (caps)) {
-             cb_caps_set (G_OBJECT (vpad), NULL, player);
-             gst_caps_unref (caps);
-@@ -249,21 +249,18 @@ _bp_video_pipeline_setup (BansheePlayer *player, GstBus *bus)
- 
-     player->video_display_context_type = BP_VIDEO_DISPLAY_CONTEXT_GDK_WINDOW;
-     
--    videosink = gst_element_factory_make ("gconfvideosink", "videosink");
-+    videosink = gst_element_factory_make ("autovideosink", "videosink");
-     if (videosink == NULL) {
--        videosink = gst_element_factory_make ("autovideosink", "videosink");
--        if (videosink == NULL) {
--            player->video_display_context_type = BP_VIDEO_DISPLAY_CONTEXT_UNSUPPORTED;
--            videosink = gst_element_factory_make ("fakesink", "videosink");
--            if (videosink != NULL) {
--                g_object_set (G_OBJECT (videosink), "sync", TRUE, NULL);
--            }
-+        player->video_display_context_type = BP_VIDEO_DISPLAY_CONTEXT_UNSUPPORTED;
-+        videosink = gst_element_factory_make ("fakesink", "videosink");
-+        if (videosink != NULL) {
-+            g_object_set (G_OBJECT (videosink), "sync", TRUE, NULL);
-         }
-     }
-     
-     g_object_set (G_OBJECT (player->playbin), "video-sink", videosink, NULL);
-     
--    gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, player);
-+    gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, player, NULL);
-     g_signal_connect (bus, "sync-message::element", G_CALLBACK (bp_video_bus_element_sync_message), player);
-         
-     if (GST_IS_BIN (videosink)) {
-@@ -349,21 +346,21 @@ bp_video_window_expose (BansheePlayer *player, GdkWindow *window, gboolean direc
- {
-     g_return_if_fail (IS_BANSHEE_PLAYER (player));
-     
--    if (direct && player->xoverlay != NULL && GST_IS_X_OVERLAY (player->xoverlay)) {
--        gst_x_overlay_expose (player->xoverlay);
-+    if (direct && player->video_overlay != NULL && GST_IS_VIDEO_OVERLAY (player->video_overlay)) {
-+        gst_video_overlay_expose (player->video_overlay);
-         return;
-     }
- 
--    if (player->xoverlay == NULL && !bp_video_find_xoverlay (player)) {
-+    if (player->video_overlay == NULL && !bp_video_find_video_overlay (player)) {
-         return;
-     }
-     
--    gst_object_ref (player->xoverlay);
-+    gst_object_ref (player->video_overlay);
- 
--    gst_x_overlay_set_xwindow_id (player->xoverlay, player->video_window_xid);
--    gst_x_overlay_expose (player->xoverlay);
-+    gst_video_overlay_set_window_handle (player->video_overlay, player->video_window_xid);
-+    gst_video_overlay_expose (player->video_overlay);
- 
--    gst_object_unref (player->xoverlay);
-+    gst_object_unref (player->video_overlay);
- }
- 
- // MUST be called from the GTK main thread; calling it in OnRealized will do the right thing.
-@@ -379,7 +376,7 @@ bp_video_window_realize (BansheePlayer *player, GdkWindow *window)
- //    //Explicitly create the native window.  GDK_WINDOW_XWINDOW will call this
- //    //function anyway, but this way we can raise a more useful message should it fail.
- //    if (!gdk_window_ensure_native (window)) {
--//        banshee_log (BANSHEE_LOG_TYPE_ERROR, "player-video", "Couldn't create native window needed for GstXOverlay!");
-+//        banshee_log (BANSHEE_LOG_TYPE_ERROR, "player-video", "Couldn't create native window needed for GstVideoOverlay!");
- //    }
- //#endif
- 
-diff --git a/libbanshee/banshee-player-vis.c b/libbanshee/banshee-player-vis.c
-index 5787c87..7e7dc78 100644
---- a/libbanshee/banshee-player-vis.c
-+++ b/libbanshee/banshee-player-vis.c
-@@ -27,17 +27,17 @@
- //
- 
- #include <math.h>
-+#include <gst/audio/audio.h>
- 
- #include "banshee-player-vis.h"
- 
- #define SLICE_SIZE 735
- 
- static GstStaticCaps vis_data_sink_caps = GST_STATIC_CAPS (
--    "audio/x-raw-float, "
-+    "audio/x-raw, "
-+    "format = (string) " GST_AUDIO_NE(F32) ", "
-     "rate = (int) 44100, "
--    "channels = (int) 2, "
--    "endianness = (int) BYTE_ORDER, "
--    "width = (int) 32"
-+    "channels = (int) 2"
- );
- 
- // ---------------------------------------------------------------------------
-@@ -48,6 +48,7 @@ static void
- bp_vis_pcm_handoff (GstElement *sink, GstBuffer *buffer, GstPad *pad, gpointer userdata)
- {
-     BansheePlayer *player = (BansheePlayer*)userdata;
-+    GstCaps *caps;
-     GstStructure *structure;
-     gint channels, wanted_size;
-     gfloat *data;
-@@ -69,14 +70,16 @@ bp_vis_pcm_handoff (GstElement *sink, GstBuffer *buffer, GstPad *pad, gpointer u
-         player->vis_thawing = FALSE;
-     }
-     
--    structure = gst_caps_get_structure (gst_buffer_get_caps (buffer), 0);
-+    caps = gst_pad_get_current_caps (pad);
-+    structure = gst_caps_get_structure (caps, 0);
-     gst_structure_get_int (structure, "channels", &channels);
-+    gst_caps_unref (caps);
-     
-     wanted_size = channels * SLICE_SIZE * sizeof (gfloat);
- 
--    gst_adapter_push (player->vis_buffer, gst_buffer_copy (buffer));
-+    gst_adapter_push (player->vis_buffer, gst_buffer_ref (buffer));
-     
--    while ((data = (gfloat *)gst_adapter_peek (player->vis_buffer, wanted_size)) != NULL) {
-+    while ((data = (gfloat *)gst_adapter_map (player->vis_buffer, wanted_size)) != NULL) {
-         gfloat *deinterlaced = g_malloc (wanted_size);
-         gfloat *specbuf = g_new (gfloat, SLICE_SIZE * 2);
- 
-@@ -124,6 +127,7 @@ bp_vis_pcm_handoff (GstElement *sink, GstBuffer *buffer, GstPad *pad, gpointer u
-         g_free (deinterlaced);
-         g_free (specbuf);
- 
-+        gst_adapter_unmap (player->vis_buffer);
-         gst_adapter_flush (player->vis_buffer, wanted_size);
-     }
- }
-@@ -132,65 +136,28 @@ bp_vis_pcm_handoff (GstElement *sink, GstBuffer *buffer, GstPad *pad, gpointer u
- // Internal Functions
- // ---------------------------------------------------------------------------
- 
--static void
--_bp_vis_pipeline_block_callback (GstPad *pad, gboolean blocked, gpointer data)
-+static GstPadProbeReturn
-+_bp_vis_pipeline_event_probe (GstPad *pad, GstPadProbeInfo *info, gpointer data)
- {
-     BansheePlayer *player = (BansheePlayer *) data;
-+    GstEvent *event;
- 
--    if (!blocked) {
--        // Set thawing mode (discards buffers that are too old from the queue).
--        player->vis_thawing = TRUE;
--    }
--}
--
--static void
--_bp_vis_pipeline_set_blocked (BansheePlayer *player, gboolean blocked)
--{
--    GstPad *queue_sink;
--
--    if (player->vis_resampler == NULL)
--        return;
--
--    queue_sink = gst_element_get_static_pad (player->vis_resampler, "src");
--
--    gst_pad_set_blocked_async (queue_sink, blocked, _bp_vis_pipeline_block_callback, (gpointer) player);
--
--    gst_object_unref (GST_OBJECT (queue_sink));
--}
--
--static gboolean
--_bp_vis_pipeline_event_probe (GstPad *pad, GstEvent *event, gpointer data)
--{
--    BansheePlayer *player = (BansheePlayer *) data;
-+    if ((info->type & GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) == 0)
-+        return GST_PAD_PROBE_PASS;
- 
-+    event = GST_EVENT (info->data);
-     switch (GST_EVENT_TYPE (event)) {
-         case GST_EVENT_FLUSH_START:
-         case GST_EVENT_FLUSH_STOP:
-         case GST_EVENT_SEEK:
--        case GST_EVENT_NEWSEGMENT:
-+        case GST_EVENT_SEGMENT:
-         case GST_EVENT_CUSTOM_DOWNSTREAM:
-             player->vis_thawing = TRUE;
- 
-         default: break;
-     }
- 
--    if (player->vis_enabled)
--        return TRUE;
--
--    switch (GST_EVENT_TYPE (event)) {
--    case GST_EVENT_EOS:
--    case GST_EVENT_CUSTOM_DOWNSTREAM_OOB:
--        _bp_vis_pipeline_set_blocked (player, FALSE);
--        break;
--    case GST_EVENT_CUSTOM_DOWNSTREAM:
--    case GST_EVENT_NEWSEGMENT:
--        _bp_vis_pipeline_set_blocked (player, TRUE);
--        break;
--
--    default: break;
--    }
--
--    return TRUE;
-+    return GST_PAD_PROBE_PASS;
- }
- 
- void
-@@ -212,9 +179,8 @@ _bp_vis_pipeline_setup (BansheePlayer *player)
-     // Core elements, if something fails here, it's the end of the world
-     audiosinkqueue = gst_element_factory_make ("queue", "vis-queue");
- 
--    pad = gst_element_get_static_pad (audiosinkqueue, "sink");
--    gst_pad_add_event_probe (pad, G_CALLBACK (_bp_vis_pipeline_event_probe), player);
--    gst_object_unref (GST_OBJECT (pad));
-+    player->vis_event_probe_pad = gst_element_get_static_pad (audiosinkqueue, "sink");
-+    player->vis_event_probe_id = gst_pad_add_probe (player->vis_event_probe_pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM, _bp_vis_pipeline_event_probe, player, NULL);
- 
-     resampler = gst_element_factory_make ("audioresample", "vis-resample");
-     converter = gst_element_factory_make ("audioconvert", "vis-convert");
-@@ -255,7 +221,7 @@ _bp_vis_pipeline_setup (BansheePlayer *player)
-                       converter, fakesink, NULL);
-     
-     pad = gst_element_get_static_pad (audiosinkqueue, "sink");
--    teepad = gst_element_get_request_pad (player->audiotee, "src%d");
-+    teepad = gst_element_get_request_pad (player->audiotee, "src_%u");
-     gst_pad_link (teepad, pad);
-     gst_object_unref (GST_OBJECT (teepad));
-     gst_object_unref (GST_OBJECT (pad));
-@@ -270,14 +236,17 @@ _bp_vis_pipeline_setup (BansheePlayer *player)
-     player->vis_resampler = resampler;
-     player->vis_thawing = FALSE;
-     player->vis_enabled = FALSE;
--
--    // Disable the pipeline till we hear otherwise from managed land.
--    _bp_vis_pipeline_set_blocked (player, TRUE);
- }
- 
- void
- _bp_vis_pipeline_destroy (BansheePlayer *player)
- {
-+    if (player->vis_event_probe_pad) {
-+        gst_pad_remove_probe (player->vis_event_probe_pad, player->vis_event_probe_id);
-+        gst_object_unref (GST_OBJECT (player->vis_event_probe_pad));
-+        player->vis_event_probe_pad = NULL;
-+    }
-+
-     if (player->vis_buffer != NULL) {
-         gst_object_unref (player->vis_buffer);
-         player->vis_buffer = NULL;
-@@ -315,6 +284,5 @@ bp_set_vis_data_callback (BansheePlayer *player, BansheePlayerVisDataCallback cb
- 
-     player->vis_data_cb = cb;
- 
--    _bp_vis_pipeline_set_blocked (player, cb == NULL);
-     player->vis_enabled = cb != NULL;
- }
-diff --git a/libbanshee/banshee-player.c b/libbanshee/banshee-player.c
-index 673a81d..8f2d176 100644
---- a/libbanshee/banshee-player.c
-+++ b/libbanshee/banshee-player.c
-@@ -255,12 +255,11 @@ bp_set_position (BansheePlayer *player, guint64 time_ms, gboolean accurate_seek)
- P_INVOKE guint64
- bp_get_position (BansheePlayer *player)
- {
--    static GstFormat format = GST_FORMAT_TIME;
-     gint64 position;
- 
-     g_return_val_if_fail (IS_BANSHEE_PLAYER (player), 0);
- 
--    if (player->playbin != NULL && gst_element_query_position (player->playbin, &format, &position)) {
-+    if (player->playbin != NULL && gst_element_query_position (player->playbin, GST_FORMAT_TIME, &position)) {
-         return position / GST_MSECOND;
-     }
-     
-@@ -270,12 +269,11 @@ bp_get_position (BansheePlayer *player)
- P_INVOKE guint64
- bp_get_duration (BansheePlayer *player)
- {
--    static GstFormat format = GST_FORMAT_TIME;
-     gint64 duration;
- 
-     g_return_val_if_fail (IS_BANSHEE_PLAYER (player), 0);
- 
--    if (player->playbin != NULL && gst_element_query_duration (player->playbin, &format, &duration)) {
-+    if (player->playbin != NULL && gst_element_query_duration (player->playbin, GST_FORMAT_TIME, &duration)) {
-         return duration / GST_MSECOND;
-     }
-     
-@@ -451,7 +449,6 @@ bp_set_subtitle_uri (BansheePlayer *player, const gchar *uri)
-     g_return_if_fail (IS_BANSHEE_PLAYER (player));
-     gint64 pos = -1;
-     GstState state;
--    GstFormat format = GST_FORMAT_BYTES;
-     gboolean paused = FALSE;
- 
-     // Gstreamer playbin do not support to set suburi during playback
-@@ -459,7 +456,7 @@ bp_set_subtitle_uri (BansheePlayer *player, const gchar *uri)
-     gst_element_get_state (player->playbin, &state, NULL, 0);
-     paused = (state == GST_STATE_PAUSED);
-     if (state >= GST_STATE_PAUSED) {
--        gst_element_query_position (player->playbin, &format, &pos);
-+        gst_element_query_position (player->playbin, GST_FORMAT_BYTES, &pos);
-         gst_element_set_state (player->playbin, GST_STATE_READY);
-         // Force to wait asynch operation
-         gst_element_get_state (player->playbin, &state, NULL, -1);
-@@ -472,7 +469,7 @@ bp_set_subtitle_uri (BansheePlayer *player, const gchar *uri)
-     gst_element_get_state (player->playbin, &state, NULL, -1);
- 
-     if (pos != -1) {
--        gst_element_seek_simple (player->playbin, format, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, pos);
-+        gst_element_seek_simple (player->playbin, GST_FORMAT_BYTES, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, pos);
-     }
- }
- 
-diff --git a/libbanshee/banshee-ripper.c b/libbanshee/banshee-ripper.c
-index e0e8c85..b3f8fed 100644
---- a/libbanshee/banshee-ripper.c
-+++ b/libbanshee/banshee-ripper.c
-@@ -85,7 +85,6 @@ br_raise_error (BansheeRipper *ripper, const gchar *error, const gchar *debug)
- static gboolean
- br_iterate_timeout (BansheeRipper *ripper)
- {
--    GstFormat format = GST_FORMAT_TIME;
-     GstState state;
-     gint64 position;
-     
-@@ -96,7 +95,7 @@ br_iterate_timeout (BansheeRipper *ripper)
-         return TRUE;
-     }
- 
--    if (!gst_element_query_position (ripper->cddasrc, &format, &position)) {
-+    if (!gst_element_query_position (ripper->cddasrc, GST_FORMAT_TIME, &position)) {
-         return TRUE;
-     }
-     
-@@ -142,8 +141,9 @@ br_encoder_probe_mime_type (GstBin *bin)
-         GstIterator *pad_iter = gst_element_iterate_src_pads (element);
-         
-         BANSHEE_GST_ITERATOR_ITERATE (pad_iter, GstPad *, pad, TRUE, {
--            GstStructure *str = GST_PAD_CAPS (pad) != NULL
--                ? gst_caps_get_structure (GST_PAD_CAPS (pad), 0)
-+            GstCaps *caps = gst_pad_get_current_caps (pad);
-+            GstStructure *str = caps != NULL
-+                ? gst_caps_get_structure (caps, 0)
-                 : NULL;
- 
-             if (str != NULL) {
-@@ -171,11 +171,8 @@ br_encoder_probe_mime_type (GstBin *bin)
-                     preferred_mimetype = mimetype;    
-                 }
-             }
--            
--            gst_object_unref (pad);
-+            gst_caps_unref (caps);
-         });
--        
--        gst_object_unref (element);
-     });
- 
-     return preferred_mimetype;
-@@ -271,7 +268,7 @@ br_pipeline_construct (BansheeRipper *ripper)
-         return FALSE;
-     }
- 
--    ripper->cddasrc = gst_element_make_from_uri (GST_URI_SRC, "cdda://1", "cddasrc");
-+    ripper->cddasrc = gst_element_make_from_uri (GST_URI_SRC, "cdda://1", "cddasrc", NULL);
-     if (ripper->cddasrc == NULL) {
-         br_raise_error (ripper, _("Could not initialize element from cdda URI"), NULL);
-         return FALSE;
-@@ -405,7 +402,6 @@ br_rip_track (BansheeRipper *ripper, gint track_number, gchar *output_path,
-             
-             // We'll warn the user in the UI if we can't tag the encoded audio files
-             *tagging_supported = TRUE;
--            gst_object_unref (element);
-         }
-     });
-     
-diff --git a/libbanshee/banshee-tagger.c b/libbanshee/banshee-tagger.c
-index ca15e8f..762dfa9 100644
---- a/libbanshee/banshee-tagger.c
-+++ b/libbanshee/banshee-tagger.c
-@@ -69,7 +69,7 @@ bt_tag_list_foreach (const GstTagList *list, const gchar *tag, gpointer userdata
- GstTagList *
- bt_tag_list_new ()
- {
--    return gst_tag_list_new ();
-+    return gst_tag_list_new_empty ();
- }
- 
- void
-diff --git a/libbanshee/banshee-transcoder.c b/libbanshee/banshee-transcoder.c
-index 10fc35c..0e241f0 100644
---- a/libbanshee/banshee-transcoder.c
-+++ b/libbanshee/banshee-transcoder.c
-@@ -64,14 +64,13 @@ gst_transcoder_raise_error(GstTranscoder *transcoder, const gchar *error, const
- static gboolean
- gst_transcoder_iterate_timeout(GstTranscoder *transcoder)
- {
--    GstFormat format = GST_FORMAT_TIME;
-     gint64 position;
-     gint64 duration;
- 
-     g_return_val_if_fail(transcoder != NULL, FALSE);
- 
--    if(!gst_element_query_duration(transcoder->pipeline, &format, &duration) ||
--        !gst_element_query_position(transcoder->sink_bin, &format, &position)) {
-+    if(!gst_element_query_duration(transcoder->pipeline, GST_FORMAT_TIME, &duration) ||
-+        !gst_element_query_position(transcoder->sink_bin, GST_FORMAT_TIME, &position)) {
-         return TRUE;
-     }
- 
-@@ -196,14 +195,14 @@ gst_transcoder_new_decoded_pad(GstElement *decodebin, GstPad *pad,
- 
-     g_return_if_fail(transcoder != NULL);
- 
--    audiopad = gst_element_get_pad(transcoder->sink_bin, "sink");
-+    audiopad = gst_element_get_static_pad(transcoder->sink_bin, "sink");
-     
-     if(GST_PAD_IS_LINKED(audiopad)) {
-         g_object_unref(audiopad);
-         return;
-     }
- 
--    caps = gst_pad_get_caps(pad);
-+    caps = gst_pad_query_caps(pad, NULL);
-     str = gst_caps_get_structure(caps, 0);
-     
-     if(!g_strrstr(gst_structure_get_name(str), "audio")) {
-@@ -235,19 +234,19 @@ gst_transcoder_create_pipeline(GstTranscoder *transcoder,
-     
-     transcoder->pipeline = gst_pipeline_new("pipeline");
- 
--    source_elem = gst_element_make_from_uri(GST_URI_SRC, input_uri, "source");
-+    source_elem = gst_element_make_from_uri(GST_URI_SRC, input_uri, "source", NULL);
-     if(source_elem == NULL) {
-         gst_transcoder_raise_error(transcoder, _("Could not create source element"), NULL);
-         return FALSE;
-     }
- 
--    decoder_elem = gst_element_factory_make("decodebin2", "decodebin2");
-+    decoder_elem = gst_element_factory_make("decodebin", "decodebin");
-     if(decoder_elem == NULL) {
--        gst_transcoder_raise_error(transcoder, _("Could not create decodebin2 plugin"), NULL);
-+        gst_transcoder_raise_error(transcoder, _("Could not create decodebin plugin"), NULL);
-         return FALSE;
-     }
-     
--    sink_elem = gst_element_make_from_uri(GST_URI_SINK, output_uri, "sink");
-+    sink_elem = gst_element_make_from_uri(GST_URI_SINK, output_uri, "sink", NULL);
-     if(sink_elem == NULL) {
-         gst_transcoder_raise_error(transcoder, _("Could not create sink element"), NULL);
-         return FALSE;
-@@ -277,7 +276,7 @@ gst_transcoder_create_pipeline(GstTranscoder *transcoder,
-          return FALSE;
-     }
- 
--    encoder_pad = gst_element_get_pad(conv_elem, "sink");
-+    encoder_pad = gst_element_get_static_pad(conv_elem, "sink");
-     if(encoder_pad == NULL) {
-         gst_transcoder_raise_error(transcoder, _("Could not get sink pad from encoder"), NULL);
-         return FALSE;
diff --git a/debian/patches/Only-show-panel-on-client-MeeGo-and-don-t-show-when-.patch b/debian/patches/Only-show-panel-on-client-MeeGo-and-don-t-show-when-.patch
deleted file mode 100644
index 0528ff0..0000000
--- a/debian/patches/Only-show-panel-on-client-MeeGo-and-don-t-show-when-.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From: Didier Roche <didrocks at ubuntu.com>
-Date: Mon, 5 Jul 2010 13:12:49 +0200
-Subject: Only show panel on --client=MeeGo and don't show when banshee is
- called
-
-Bug: https://bugzilla.gnome.org/show_bug.cgi?id=623588
----
- src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs
-index 4d0ad52..bb7b31a 100644
---- a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs
-+++ b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs
-@@ -97,11 +97,13 @@ namespace Banshee.MeeGo
-             // assume we're probably not really running in a MeeGo environment,
-             // so we just create the panel here (which is likely to just be
-             // a separate top-level window for testing).
--            panel = MeeGoPanel.Instance ?? new MeeGoPanel ();
-+            panel = MeeGoPanel.Instance;
- 
-             if (panel == null) {
-                 Log.Warning ("Netbook extension initialized without a panel");
-                 return;
-+            } else {
-+                elements_service.PrimaryWindow.Hide ();
-             }
- 
-             panel.BuildContents ();
diff --git a/debian/patches/Quit-only-on-explicit-shutdown-request.patch b/debian/patches/Quit-only-on-explicit-shutdown-request.patch
deleted file mode 100644
index 53e61ff..0000000
--- a/debian/patches/Quit-only-on-explicit-shutdown-request.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From: Didier Roche <didrocks at ubuntu.com>
-Date: Mon, 5 Jul 2010 13:14:37 +0200
-Subject: Quit only on explicit shutdown request
-
-Bug: https://bugzilla.gnome.org/show_bug.cgi?id=623588
----
- src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs
-index bb7b31a..5aae94e 100644
---- a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs
-+++ b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs
-@@ -113,11 +113,6 @@ namespace Banshee.MeeGo
-                 return true;
-             };
- 
--            // Since the Panel is running, we don't actually ever want to quit!
--            Banshee.ServiceStack.Application.ShutdownRequested += () => {
--                elements_service.PrimaryWindow.Hide ();
--                return false;
--            };
-         }
- 
-         public void PresentPrimaryInterface ()
diff --git a/debian/patches/Remove-build-time-enable-gapless-playback-option.patch b/debian/patches/Remove-build-time-enable-gapless-playback-option.patch
deleted file mode 100644
index f9a6f71..0000000
--- a/debian/patches/Remove-build-time-enable-gapless-playback-option.patch
+++ /dev/null
@@ -1,202 +0,0 @@
-From: Chow Loong Jin <hyperair at debian.org>
-Date: Mon, 26 Nov 2012 00:10:19 +0800
-Subject: Remove build-time --enable-gapless-playback option
-
-This was previously added to check for a new enough playbin, but since we're now
-using Gstreamer 1.0, the playbin version should be new enough, and we can drop
-the conditionals.
----
- configure.ac                                       | 15 ----------
- libbanshee/Makefile.am                             |  4 ---
- libbanshee/banshee-player-pipeline.c               |  4 ---
- libbanshee/banshee-player.c                        | 10 -------
- .../Banshee.GStreamer/PlayerEngine.cs              | 32 +++++++---------------
- src/Backends/Banshee.GStreamer/Makefile.am         |  4 ---
- src/Backends/Banshee.GStreamerSharp/Makefile.am    |  4 ---
- 7 files changed, 10 insertions(+), 63 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6c91fb9..02cb201 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -170,21 +170,6 @@ BANSHEE_CHECK_UBUNTUONE
- dnl Boo (optional)
- BANSHEE_CHECK_BOO
- 
--dnl Gapless, if we have a new-enough playbin2
--ENABLE_GAPLESS="no"
--AC_ARG_ENABLE(gapless-playback,
--	AC_HELP_STRING([--enable-gapless-playback],
--		[Enable gapless playback engine (requires gst-plugins-base > 0.10.25.2)]),
--		enable_gapless=$enableval,
--		enable_gapless=auto)
--if test "x$enable_gapless" != "xno" ; then
--   	PKG_CHECK_MODULES([GST_PLUGINS_BASE], [gstreamer-plugins-base-0.10 > 0.10.25.2], ENABLE_GAPLESS=yes, ENABLE_GAPLESS=no)
--   	if test "x$enable_gapless" == "xyes" -a "x$ENABLE_GAPLESS" == "xno" ; then
--	   	AC_MSG_ERROR([Gapless playback requires gstreamer-plugins-base > 0.10.25.2])
--	fi
--fi
--AM_CONDITIONAL(ENABLE_GAPLESS, test "x$ENABLE_GAPLESS" = "xyes")   
--
- dnl i18n
- SHAMROCK_CONFIGURE_I18N($PACKAGE)
- 
-diff --git a/libbanshee/Makefile.am b/libbanshee/Makefile.am
-index 6ed369a..a05c492 100644
---- a/libbanshee/Makefile.am
-+++ b/libbanshee/Makefile.am
-@@ -6,10 +6,6 @@ INCLUDES = \
- 	$(LIBBANSHEE_CFLAGS) \
- 	$(GST_CFLAGS) 
- 
--if ENABLE_GAPLESS
--INCLUDES += -DENABLE_GAPLESS
--endif
--
- bansheelibdir = $(pkglibdir)
- bansheelib_LTLIBRARIES = libbanshee.la
- 
-diff --git a/libbanshee/banshee-player-pipeline.c b/libbanshee/banshee-player-pipeline.c
-index 018bcd2..28bae33 100644
---- a/libbanshee/banshee-player-pipeline.c
-+++ b/libbanshee/banshee-player-pipeline.c
-@@ -239,7 +239,6 @@ bp_pipeline_bus_callback (GstBus *bus, GstMessage *message, gpointer userdata)
-     return TRUE;
- }
- 
--#ifdef ENABLE_GAPLESS
- static void bp_about_to_finish_callback (GstElement *playbin, BansheePlayer *player)
- {
-     g_return_if_fail (IS_BANSHEE_PLAYER (player));
-@@ -257,7 +256,6 @@ static void bp_about_to_finish_callback (GstElement *playbin, BansheePlayer *pla
-         player->about_to_finish_cb (player);
-     }
- }
--#endif //ENABLE_GAPLESS
- 
- static void bp_volume_changed_callback (GstElement *playbin, GParamSpec *spec, BansheePlayer *player)
- {
-@@ -296,12 +294,10 @@ _bp_pipeline_construct (BansheePlayer *player)
-     // source and decoder elements) based on source URI and stream content
-     player->playbin = gst_element_factory_make ("playbin", "playbin");
- 
--#ifdef ENABLE_GAPLESS
-     // FIXME: Connect a proxy about-to-finish callback that will generate a next-track-starting callback.
-     // This can be removed once playbin generates its own next-track signal.
-     // bgo#584987 - this is included in >= 0.10.26
-     g_signal_connect (player->playbin, "about-to-finish", G_CALLBACK (bp_about_to_finish_callback), player);
--#endif //ENABLE_GAPLESS
- 
-     g_return_val_if_fail (player->playbin != NULL, FALSE);
- 
-diff --git a/libbanshee/banshee-player.c b/libbanshee/banshee-player.c
-index 8f2d176..aa9aa74 100644
---- a/libbanshee/banshee-player.c
-+++ b/libbanshee/banshee-player.c
-@@ -308,16 +308,6 @@ bp_can_seek (BansheePlayer *player)
- }
- 
- P_INVOKE gboolean
--bp_supports_gapless (BansheePlayer *player)
--{
--#ifdef ENABLE_GAPLESS
--    return TRUE;
--#else
--    return FALSE;
--#endif //ENABLE_GAPLESS
--}
--
--P_INVOKE gboolean
- bp_audiosink_has_volume (BansheePlayer *player)
- {
-     g_return_val_if_fail (IS_BANSHEE_PLAYER (player), FALSE);
-diff --git a/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs b/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
-index b60e155..dbcbe9d 100644
---- a/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
-+++ b/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
-@@ -750,16 +750,11 @@ namespace Banshee.GStreamer
-             get { return gapless_enabled; }
-             set
-             {
--                if (bp_supports_gapless (handle)) {
--                    gapless_enabled = value;
--                    if (value) {
--                        bp_set_about_to_finish_callback (handle, about_to_finish_callback);
--                    } else {
--                        bp_set_about_to_finish_callback (handle, null);
--                    }
-+                gapless_enabled = value;
-+                if (value) {
-+                    bp_set_about_to_finish_callback (handle, about_to_finish_callback);
-                 } else {
--                    gapless_enabled = false;
--                    next_track_pending = false;
-+                    bp_set_about_to_finish_callback (handle, null);
-                 }
-             }
-         }
-@@ -884,13 +879,11 @@ namespace Banshee.GStreamer
-                 Catalog.GetString ("For tracks that have ReplayGain data, automatically scale (normalize) playback volume"),
-                 delegate { ReplayGainEnabled = ReplayGainEnabledSchema.Get (); }
-             ));
--            if (bp_supports_gapless (handle)) {
--                gapless_preference = service["general"]["misc"].Add (new SchemaPreference<bool> (GaplessEnabledSchema,
--                        Catalog.GetString ("Enable _gapless playback"),
--                        Catalog.GetString ("Eliminate the small playback gap on track change. Useful for concept albums and classical music"),
--                        delegate { GaplessEnabled = GaplessEnabledSchema.Get (); }
--                ));
--            }
-+            gapless_preference = service["general"]["misc"].Add (new SchemaPreference<bool> (GaplessEnabledSchema,
-+                    Catalog.GetString ("Enable _gapless playback"),
-+                    Catalog.GetString ("Eliminate the small playback gap on track change. Useful for concept albums and classical music"),
-+                    delegate { GaplessEnabled = GaplessEnabledSchema.Get (); }
-+            ));
-         }
- 
-         private void UninstallPreferences ()
-@@ -901,9 +894,7 @@ namespace Banshee.GStreamer
-             }
- 
-             service["general"]["misc"].Remove (replaygain_preference);
--            if (bp_supports_gapless (handle)) {
--                service["general"]["misc"].Remove (gapless_preference);
--            }
-+            service["general"]["misc"].Remove (gapless_preference);
-             replaygain_preference = null;
-             gapless_preference = null;
-         }
-@@ -972,9 +963,6 @@ namespace Banshee.GStreamer
-             BansheePlayerAboutToFinishCallback cb);
- 
-         [DllImport ("libbanshee.dll")]
--        private static extern bool bp_supports_gapless (HandleRef player);
--
--        [DllImport ("libbanshee.dll")]
-         private static extern bool bp_open (HandleRef player, IntPtr uri, bool maybeVideo);
- 
-         [DllImport ("libbanshee.dll")]
-diff --git a/src/Backends/Banshee.GStreamer/Makefile.am b/src/Backends/Banshee.GStreamer/Makefile.am
-index 118e525..321b270 100644
---- a/src/Backends/Banshee.GStreamer/Makefile.am
-+++ b/src/Backends/Banshee.GStreamer/Makefile.am
-@@ -16,7 +16,3 @@ include $(top_srcdir)/build/build.mk
- 
- EXTRA_DIST += Banshee.GStreamer.dll.config
- module_SCRIPTS += Banshee.GStreamer.dll.config
--
--if ENABLE_GAPLESS
--BUILD_DEFINES="-define:ENABLE_GAPLESS"
--endif
-\ No newline at end of file
-diff --git a/src/Backends/Banshee.GStreamerSharp/Makefile.am b/src/Backends/Banshee.GStreamerSharp/Makefile.am
-index 69424d7..769b260 100644
---- a/src/Backends/Banshee.GStreamerSharp/Makefile.am
-+++ b/src/Backends/Banshee.GStreamerSharp/Makefile.am
-@@ -23,7 +23,3 @@ else
- include $(top_srcdir)/build/build.dist.mk
- EXTRA_DIST += Banshee.GStreamerSharp.dll.config
- endif
--
--if ENABLE_GAPLESS
--BUILD_DEFINES="-define:ENABLE_GAPLESS"
--endif
diff --git a/debian/patches/Remove-irrelevant-media.patch b/debian/patches/Remove-irrelevant-media.patch
deleted file mode 100644
index cb45c55..0000000
--- a/debian/patches/Remove-irrelevant-media.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Chow Loong Jin <hyperair at debian.org>
-Date: Fri, 20 Jan 2012 23:14:39 +0800
-Subject: Remove irrelevant media
-
----
- src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs
-index e67bc7e..ca6e334 100644
---- a/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs
-+++ b/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs
-@@ -71,7 +71,7 @@ namespace Banshee.MeeGo
-             RedrawOnAllocate = true;
-             AppPaintable = true;
- 
--            BuildHeader ();
-+            //BuildHeader ();
-             BuildLibrary ();
-             BuildNowPlaying ();
-             ConnectEvents ();
diff --git a/debian/patches/Use-dbus-2.patch b/debian/patches/Use-dbus-2.patch
index d270df7..39fd7af 100644
--- a/debian/patches/Use-dbus-2.patch
+++ b/debian/patches/Use-dbus-2.patch
@@ -38,15 +38,15 @@ index 40636bb..a12b03c 100644
  Libs: -r:${Libraries}
  
 diff --git a/build/pkg-config/banshee-core.pc.in b/build/pkg-config/banshee-core.pc.in
-index 9d4c3b9..09f54e8 100644
+index a42b552..e3893e4 100644
 --- a/build/pkg-config/banshee-core.pc.in
 +++ b/build/pkg-config/banshee-core.pc.in
 @@ -6,5 +6,5 @@ bansheedir=${libdir}/@PACKAGE@
  Name: Banshee Core
  Description: Core APIs for the Banshee Media Framework
  Version: @VERSION@
--Requires: taglib-sharp dbus-sharp-1.0 dbus-sharp-glib-1.0 glib-sharp-2.0 mono-addins banshee-hyena banshee-hyena-data-sqlite banshee-musicbrainz
-+Requires: taglib-sharp dbus-sharp-2.0 dbus-sharp-glib-1.0 glib-sharp-2.0 mono-addins banshee-hyena banshee-hyena-data-sqlite banshee-musicbrainz
+-Requires: taglib-sharp dbus-sharp-1.0 dbus-sharp-glib-1.0 glib-sharp-3.0 mono-addins banshee-hyena banshee-hyena-data-sqlite banshee-musicbrainz
++Requires: taglib-sharp dbus-sharp-2.0 dbus-sharp-glib-1.0 glib-sharp-3.0 mono-addins banshee-hyena banshee-hyena-data-sqlite banshee-musicbrainz
  Libs: -r:${bansheedir}/Banshee.Core.dll
 diff --git a/src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs b/src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs
 index 698cf02..96e3996 100644
diff --git a/debian/patches/Use-new-style-GStreamer-1.0-raw-audio-caps-in-the-WA.patch b/debian/patches/Use-new-style-GStreamer-1.0-raw-audio-caps-in-the-WA.patch
deleted file mode 100644
index 2d2cc33..0000000
--- a/debian/patches/Use-new-style-GStreamer-1.0-raw-audio-caps-in-the-WA.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <slomo at circular-chaos.org>
-Date: Tue, 28 May 2013 11:49:29 +0200
-Subject: Use new-style GStreamer 1.0 raw audio caps in the WAV audio profile
-
----
- data/audio-profiles/wav.xml.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/data/audio-profiles/wav.xml.in b/data/audio-profiles/wav.xml.in
-index 6dc1bab..1759f3c 100644
---- a/data/audio-profiles/wav.xml.in
-+++ b/data/audio-profiles/wav.xml.in
-@@ -13,7 +13,7 @@
-             (gst-construct-pipeline
-                 "audioresample"
-                 "audioconvert" 
--                (+ "audio/x-raw-int, "
-+                (+ "audio/x-raw, "
-                    "format=(string)S16LE, "
-                    "rate=(int)44100, "
-                    "channels=(int)2" )
diff --git a/debian/patches/Use-notify-sharp-3.0-to-match-Gtk-3.0.patch b/debian/patches/Use-notify-sharp-3.0-to-match-Gtk-3.0.patch
deleted file mode 100644
index 2476e55..0000000
--- a/debian/patches/Use-notify-sharp-3.0-to-match-Gtk-3.0.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Chow Loong Jin <hyperair at debian.org>
-Date: Sun, 17 Nov 2013 03:17:27 +0800
-Subject: Use notify-sharp-3.0 to match Gtk# 3.0
-
----
- build/m4/banshee/notify-sharp.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build/m4/banshee/notify-sharp.m4 b/build/m4/banshee/notify-sharp.m4
-index 3025b6b..652dfd5 100644
---- a/build/m4/banshee/notify-sharp.m4
-+++ b/build/m4/banshee/notify-sharp.m4
-@@ -5,7 +5,7 @@ AC_DEFUN([BANSHEE_CHECK_NOTIFY_SHARP],
- 		use_system_notifysharp="yes", use_system_notifysharp="no")
- 
- 	if test "x$use_system_notifysharp" = "xyes"; then
--		PKG_CHECK_MODULES(NOTIFY_SHARP, notify-sharp)
-+		PKG_CHECK_MODULES(NOTIFY_SHARP, notify-sharp-3.0)
- 		AC_SUBST(NOTIFY_SHARP_LIBS)
- 		AM_CONDITIONAL(EXTERNAL_NOTIFY_SHARP, true)
- 	else
diff --git a/debian/patches/libbnpx11-Don-t-use-non-existent-macros.patch b/debian/patches/libbnpx11-Don-t-use-non-existent-macros.patch
deleted file mode 100644
index 5b6fbf8..0000000
--- a/debian/patches/libbnpx11-Don-t-use-non-existent-macros.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From: =?UTF-8?q?Micha=C5=82=20Sawicz?= <michal at sawicz.net>
-Date: Sat, 19 Oct 2013 15:51:21 +0200
-Subject: libbnpx11: Don't use non-existent macros
-
-Origin: commit:f36812ddb62dd812aae24f4f9b8fce8d8dec5054
-
-The GTK_WIDGET_REALIZED and GDK_WINDOW_XWINDOW macros are gone in GTK+
-3.x, so we use their replacement.
-
-Also enable gcc warnings when building libbnpx11, so that we get
-warnings for such situations in the future.
-
-Signed-off-by: Bertrand Lorentz <bertrand.lorentz at gmail.com>
----
- src/Backends/Banshee.NowPlaying.X11/libbnpx11/Makefile.am  |  2 +-
- .../Banshee.NowPlaying.X11/libbnpx11/bacon-resize.c        | 14 +++++++-------
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/src/Backends/Banshee.NowPlaying.X11/libbnpx11/Makefile.am b/src/Backends/Banshee.NowPlaying.X11/libbnpx11/Makefile.am
-index 842ee3f..e28c0b5 100644
---- a/src/Backends/Banshee.NowPlaying.X11/libbnpx11/Makefile.am
-+++ b/src/Backends/Banshee.NowPlaying.X11/libbnpx11/Makefile.am
-@@ -5,7 +5,7 @@ bnpx11dir = $(pkglibdir)/Backends
- bnpx11_LTLIBRARIES = libbnpx11.la
- 
- libbnpx11_la_SOURCES = $(SOURCES)
--libbnpx11_la_CFLAGS = $(BNPX_CFLAGS) $(BNPX_GTK_CFLAGS)
-+libbnpx11_la_CFLAGS = $(BNPX_CFLAGS) $(BNPX_GTK_CFLAGS) -Wall
- libbnpx11_la_LIBADD = $(BNPX_LIBS) $(BNPX_GTK_LIBS) -lX11 -lXxf86vm -lXrandr
- libbnpx11_la_LDFLAGS = -avoid-version -module
- 
-diff --git a/src/Backends/Banshee.NowPlaying.X11/libbnpx11/bacon-resize.c b/src/Backends/Banshee.NowPlaying.X11/libbnpx11/bacon-resize.c
-index 607b56c..0445ca7 100644
---- a/src/Backends/Banshee.NowPlaying.X11/libbnpx11/bacon-resize.c
-+++ b/src/Backends/Banshee.NowPlaying.X11/libbnpx11/bacon-resize.c
-@@ -165,7 +165,7 @@ set_video_widget (BaconResize *resize, GtkWidget *video_widget)
- 	int event_basep, error_basep;
- 	XRRScreenConfiguration *xr_screen_conf;
- #endif
--	g_return_if_fail (GTK_WIDGET_REALIZED (video_widget));
-+	g_return_if_fail (gtk_widget_get_realized (video_widget));
- 
- 	resize->priv->video_widget = video_widget;
- 
-@@ -185,7 +185,7 @@ set_video_widget (BaconResize *resize, GtkWidget *video_widget)
- 		goto bail;
- 
- 	/* We don't use the output here, checking whether XRRGetScreenInfo works */
--	xr_screen_conf = XRRGetScreenInfo (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XWINDOW (gdk_screen_get_root_window (screen)));
-+	xr_screen_conf = XRRGetScreenInfo (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XID (gdk_screen_get_root_window (screen)));
- 	if (xr_screen_conf == NULL)
- 		goto bail;
-  
-@@ -223,7 +223,7 @@ bacon_resize_resize (BaconResize *resize)
- 	Display *Display;
- 
- 	g_return_if_fail (GTK_IS_WIDGET (resize->priv->video_widget));
--	g_return_if_fail (GTK_WIDGET_REALIZED (resize->priv->video_widget));
-+	g_return_if_fail (gtk_widget_get_realized (resize->priv->video_widget));
- 
- 	Display = GDK_WINDOW_XDISPLAY (gtk_widget_get_window (resize->priv->video_widget));
- 	if (Display == NULL)
-@@ -252,7 +252,7 @@ bacon_resize_resize (BaconResize *resize)
- 	gdk_error_trap_push ();
- 
- 	/* Find the XRandR mode that corresponds to the real size */
--	resize->priv->xr_screen_conf = XRRGetScreenInfo (Display, GDK_WINDOW_XWINDOW (root));
-+	resize->priv->xr_screen_conf = XRRGetScreenInfo (Display, GDK_WINDOW_XID (root));
- 	xr_sizes = XRRConfigSizes (resize->priv->xr_screen_conf, &xr_nsize);
- 	resize->priv->xr_original_size = XRRConfigCurrentConfiguration (resize->priv->xr_screen_conf, &(resize->priv->xr_current_rotation));
- 	if (gdk_error_trap_pop ()) {
-@@ -273,7 +273,7 @@ bacon_resize_resize (BaconResize *resize)
- 	gdk_error_trap_push ();
- 	XRRSetScreenConfig (Display,
- 			resize->priv->xr_screen_conf,
--			GDK_WINDOW_XWINDOW (root),
-+			GDK_WINDOW_XID (root),
- 			(SizeID) i,
- 			resize->priv->xr_current_rotation,
- 			CurrentTime);
-@@ -299,7 +299,7 @@ bacon_resize_restore (BaconResize *resize)
- 	Display *Display;
- 
- 	g_return_if_fail (GTK_IS_WIDGET (resize->priv->video_widget));
--	g_return_if_fail (GTK_WIDGET_REALIZED (resize->priv->video_widget));
-+	g_return_if_fail (gtk_widget_get_realized (resize->priv->video_widget));
- 
- 	/* We haven't called bacon_resize_resize before, or it exited
- 	 * as we didn't need a resize. */
-@@ -328,7 +328,7 @@ bacon_resize_restore (BaconResize *resize)
- 	gdk_error_trap_push ();
- 	XRRSetScreenConfig (Display,
- 			resize->priv->xr_screen_conf,
--			GDK_WINDOW_XWINDOW (root),
-+			GDK_WINDOW_XID (root),
- 			resize->priv->xr_original_size,
- 			resize->priv->xr_current_rotation,
- 			CurrentTime);
diff --git a/debian/patches/libossifer-Fix-certificate-validation-with-libsoup-2.patch b/debian/patches/libossifer-Fix-certificate-validation-with-libsoup-2.patch
deleted file mode 100644
index f7b8596..0000000
--- a/debian/patches/libossifer-Fix-certificate-validation-with-libsoup-2.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From: Bertrand Lorentz <bertrand.lorentz at gmail.com>
-Date: Tue, 3 Apr 2012 20:49:07 +0200
-Subject: libossifer: Fix certificate validation with libsoup 2.38 (bgo#673037)
-
-Libsoup 2.38 added a new SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE property,
-which tells it to use the default system CA database. If we don't set
-it, all SSL validations fail.
-
-Origin: commit:a5c94f2efee425320847d10748410fe9c3ff9311
----
- build/m4/banshee/libwebkit.m4                            | 7 +++++++
- src/Core/Banshee.WebBrowser/libossifer/ossifer-session.c | 6 ++++++
- 2 files changed, 13 insertions(+)
-
-diff --git a/build/m4/banshee/libwebkit.m4 b/build/m4/banshee/libwebkit.m4
-index b5f0637..7590345 100644
---- a/build/m4/banshee/libwebkit.m4
-+++ b/build/m4/banshee/libwebkit.m4
-@@ -23,6 +23,13 @@ AC_DEFUN([BANSHEE_CHECK_LIBWEBKIT],
- 			AC_DEFINE(HAVE_LIBSOUP_2_38, 1, [libsoup-gnome-2.4 >= 2.38 detected])
- 		fi
- 
-+		PKG_CHECK_MODULES(LIBSOUP_2_38,
-+			libsoup-gnome-2.4 >= 2.38,
-+			have_libsoup_2_28=yes, have_libsoup_2_28=no)
-+		if test x$have_libsoup_2_28 = xyes; then
-+			AC_DEFINE(HAVE_LIBSOUP_2_38, 1, [libsoup-gnome-2.4 >= 2.38 detected])
-+		fi
-+
- 		have_libsoup_gnome=no
- 		PKG_CHECK_MODULES(LIBSOUP_GNOME,
- 			libsoup-gnome-2.4 >= $SOUP_GNOME_MIN_VERSION,
-diff --git a/src/Core/Banshee.WebBrowser/libossifer/ossifer-session.c b/src/Core/Banshee.WebBrowser/libossifer/ossifer-session.c
-index 64e0215..abf07fb 100644
---- a/src/Core/Banshee.WebBrowser/libossifer/ossifer-session.c
-+++ b/src/Core/Banshee.WebBrowser/libossifer/ossifer-session.c
-@@ -56,6 +56,12 @@ ossifer_session_initialize (const gchar *cookie_db_path,
-                   NULL);
- #endif
- 
-+#ifdef HAVE_LIBSOUP_2_38
-+    g_object_set (session,
-+                  SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,
-+                  NULL);
-+#endif
-+
- #ifdef HAVE_LIBSOUP_GNOME
-     path = g_strdup_printf ("%s.sqlite", cookie_db_path);
-     cookie_jar = soup_cookie_jar_sqlite_new (path, FALSE);
diff --git a/debian/patches/series b/debian/patches/series
index 934ac2a..598fcbd 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,17 +1,3 @@
-Debrand-the-interface-to-Netbook.patch
-Only-show-panel-on-client-MeeGo-and-don-t-show-when-.patch
-Quit-only-on-explicit-shutdown-request.patch
-Enable-switching-between-the-2-interfaces.patch
-Add-Meego-desktop-file.patch
 Enable-MPRIS-extension-by-default.patch
-Remove-irrelevant-media.patch
-libossifer-Fix-certificate-validation-with-libsoup-2.patch
-Add-dllmaps-for-Banshee.NowPlaying.X11.dll.patch
-Initial-port-to-GStreamer-1.0.patch
-Remove-build-time-enable-gapless-playback-option.patch
-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-notify-sharp-3.0-to-match-Gtk-3.0.patch
 Use-dbus-2.patch
-libbnpx11-Don-t-use-non-existent-macros.patch
 Fix-ambiguity-in-DateTime-class.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-cli-apps/packages/banshee.git



More information about the Pkg-cli-apps-commits mailing list