98d0844
From: Chow Loong Jin <hyperair@debian.org>
98d0844
Date: Mon, 26 Nov 2012 00:10:19 +0800
98d0844
Subject: Remove build-time --enable-gapless-playback option
98d0844
98d0844
This was previously added to check for a new enough playbin, but since we're now
98d0844
using Gstreamer 1.0, the playbin version should be new enough, and we can drop
98d0844
the conditionals.
98d0844
---
98d0844
 configure.ac                                       |   15 ---------
98d0844
 libbanshee/Makefile.am                             |    4 ---
98d0844
 libbanshee/banshee-player-pipeline.c               |    4 ---
98d0844
 libbanshee/banshee-player.c                        |   10 ------
98d0844
 .../Banshee.GStreamer/PlayerEngine.cs              |   32 ++++++--------------
98d0844
 src/Backends/Banshee.GStreamer/Makefile.am         |    4 ---
98d0844
 src/Backends/Banshee.GStreamerSharp/Makefile.am    |    4 ---
98d0844
 7 files changed, 10 insertions(+), 63 deletions(-)
98d0844
98d0844
diff --git a/configure.ac b/configure.ac
98d0844
index ac949c7..5d66fb9 100644
98d0844
--- a/configure.ac
98d0844
+++ b/configure.ac
98d0844
@@ -171,21 +171,6 @@ BANSHEE_CHECK_SOUNDMENU
98d0844
 dnl Ubuntu One Music Store (optional)
98d0844
 BANSHEE_CHECK_UBUNTUONE
98d0844
 
98d0844
-dnl Gapless, if we have a new-enough playbin2
98d0844
-ENABLE_GAPLESS="no"
98d0844
-AC_ARG_ENABLE(gapless-playback,
98d0844
-	AC_HELP_STRING([--enable-gapless-playback],
98d0844
-		[Enable gapless playback engine (requires gst-plugins-base > 0.10.25.2)]),
98d0844
-		enable_gapless=$enableval,
98d0844
-		enable_gapless=auto)
98d0844
-if test "x$enable_gapless" != "xno" ; then
98d0844
-   	PKG_CHECK_MODULES([GST_PLUGINS_BASE], [gstreamer-plugins-base-0.10 > 0.10.25.2], ENABLE_GAPLESS=yes, ENABLE_GAPLESS=no)
98d0844
-   	if test "x$enable_gapless" == "xyes" -a "x$ENABLE_GAPLESS" == "xno" ; then
98d0844
-	   	AC_MSG_ERROR([Gapless playback requires gstreamer-plugins-base > 0.10.25.2])
98d0844
-	fi
98d0844
-fi
98d0844
-AM_CONDITIONAL(ENABLE_GAPLESS, test "x$ENABLE_GAPLESS" = "xyes")   
98d0844
-
98d0844
 dnl i18n
98d0844
 SHAMROCK_CONFIGURE_I18N($PACKAGE)
98d0844
 
98d0844
diff --git a/libbanshee/Makefile.am b/libbanshee/Makefile.am
98d0844
index 6ed369a..a05c492 100644
98d0844
--- a/libbanshee/Makefile.am
98d0844
+++ b/libbanshee/Makefile.am
98d0844
@@ -6,10 +6,6 @@ INCLUDES = \
98d0844
 	$(LIBBANSHEE_CFLAGS) \
98d0844
 	$(GST_CFLAGS) 
98d0844
 
98d0844
-if ENABLE_GAPLESS
98d0844
-INCLUDES += -DENABLE_GAPLESS
98d0844
-endif
98d0844
-
98d0844
 bansheelibdir = $(pkglibdir)
98d0844
 bansheelib_LTLIBRARIES = libbanshee.la
98d0844
 
98d0844
diff --git a/libbanshee/banshee-player-pipeline.c b/libbanshee/banshee-player-pipeline.c
98d0844
index 6c2af35..d4977e1 100644
98d0844
--- a/libbanshee/banshee-player-pipeline.c
98d0844
+++ b/libbanshee/banshee-player-pipeline.c
98d0844
@@ -239,7 +239,6 @@ bp_pipeline_bus_callback (GstBus *bus, GstMessage *message, gpointer userdata)
98d0844
     return TRUE;
98d0844
 }
98d0844
 
98d0844
-#ifdef ENABLE_GAPLESS
98d0844
 static void bp_about_to_finish_callback (GstElement *playbin, BansheePlayer *player)
98d0844
 {
98d0844
     g_return_if_fail (IS_BANSHEE_PLAYER (player));
98d0844
@@ -257,7 +256,6 @@ static void bp_about_to_finish_callback (GstElement *playbin, BansheePlayer *pla
98d0844
         player->about_to_finish_cb (player);
98d0844
     }
98d0844
 }
98d0844
-#endif //ENABLE_GAPLESS
98d0844
 
98d0844
 static void bp_volume_changed_callback (GstElement *playbin, GParamSpec *spec, BansheePlayer *player)
98d0844
 {
98d0844
@@ -296,12 +294,10 @@ _bp_pipeline_construct (BansheePlayer *player)
98d0844
     // source and decoder elements) based on source URI and stream content
98d0844
     player->playbin = gst_element_factory_make ("playbin", "playbin");
98d0844
 
98d0844
-#ifdef ENABLE_GAPLESS
98d0844
     // FIXME: Connect a proxy about-to-finish callback that will generate a next-track-starting callback.
98d0844
     // This can be removed once playbin generates its own next-track signal.
98d0844
     // bgo#584987 - this is included in >= 0.10.26
98d0844
     g_signal_connect (player->playbin, "about-to-finish", G_CALLBACK (bp_about_to_finish_callback), player);
98d0844
-#endif //ENABLE_GAPLESS
98d0844
 
98d0844
     g_return_val_if_fail (player->playbin != NULL, FALSE);
98d0844
 
98d0844
diff --git a/libbanshee/banshee-player.c b/libbanshee/banshee-player.c
98d0844
index b8f98b8..08c4f94 100644
98d0844
--- a/libbanshee/banshee-player.c
98d0844
+++ b/libbanshee/banshee-player.c
98d0844
@@ -303,16 +303,6 @@ bp_can_seek (BansheePlayer *player)
98d0844
 }
98d0844
 
98d0844
 P_INVOKE gboolean
98d0844
-bp_supports_gapless (BansheePlayer *player)
98d0844
-{
98d0844
-#ifdef ENABLE_GAPLESS
98d0844
-    return TRUE;
98d0844
-#else
98d0844
-    return FALSE;
98d0844
-#endif //ENABLE_GAPLESS
98d0844
-}
98d0844
-
98d0844
-P_INVOKE gboolean
98d0844
 bp_audiosink_has_volume (BansheePlayer *player)
98d0844
 {
98d0844
     g_return_val_if_fail (IS_BANSHEE_PLAYER (player), FALSE);
98d0844
diff --git a/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs b/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
98d0844
index 278ff51..05b1905 100644
98d0844
--- a/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
98d0844
+++ b/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
98d0844
@@ -747,16 +747,11 @@ namespace Banshee.GStreamer
98d0844
             get { return gapless_enabled; }
98d0844
             set
98d0844
             {
98d0844
-                if (bp_supports_gapless (handle)) {
98d0844
-                    gapless_enabled = value;
98d0844
-                    if (value) {
98d0844
-                        bp_set_about_to_finish_callback (handle, about_to_finish_callback);
98d0844
-                    } else {
98d0844
-                        bp_set_about_to_finish_callback (handle, null);
98d0844
-                    }
98d0844
+                gapless_enabled = value;
98d0844
+                if (value) {
98d0844
+                    bp_set_about_to_finish_callback (handle, about_to_finish_callback);
98d0844
                 } else {
98d0844
-                    gapless_enabled = false;
98d0844
-                    next_track_pending = false;
98d0844
+                    bp_set_about_to_finish_callback (handle, null);
98d0844
                 }
98d0844
             }
98d0844
         }
98d0844
@@ -881,13 +876,11 @@ namespace Banshee.GStreamer
98d0844
                 Catalog.GetString ("For tracks that have ReplayGain data, automatically scale (normalize) playback volume"),
98d0844
                 delegate { ReplayGainEnabled = ReplayGainEnabledSchema.Get (); }
98d0844
             ));
98d0844
-            if (bp_supports_gapless (handle)) {
98d0844
-                gapless_preference = service["general"]["misc"].Add (new SchemaPreference<bool> (GaplessEnabledSchema,
98d0844
-                        Catalog.GetString ("Enable _gapless playback"),
98d0844
-                        Catalog.GetString ("Eliminate the small playback gap on track change. Useful for concept albums and classical music"),
98d0844
-                        delegate { GaplessEnabled = GaplessEnabledSchema.Get (); }
98d0844
-                ));
98d0844
-            }
98d0844
+            gapless_preference = service["general"]["misc"].Add (new SchemaPreference<bool> (GaplessEnabledSchema,
98d0844
+                    Catalog.GetString ("Enable _gapless playback"),
98d0844
+                    Catalog.GetString ("Eliminate the small playback gap on track change. Useful for concept albums and classical music"),
98d0844
+                    delegate { GaplessEnabled = GaplessEnabledSchema.Get (); }
98d0844
+            ));
98d0844
         }
98d0844
 
98d0844
         private void UninstallPreferences ()
98d0844
@@ -898,9 +891,7 @@ namespace Banshee.GStreamer
98d0844
             }
98d0844
 
98d0844
             service["general"]["misc"].Remove (replaygain_preference);
98d0844
-            if (bp_supports_gapless (handle)) {
98d0844
-                service["general"]["misc"].Remove (gapless_preference);
98d0844
-            }
98d0844
+            service["general"]["misc"].Remove (gapless_preference);
98d0844
             replaygain_preference = null;
98d0844
             gapless_preference = null;
98d0844
         }
98d0844
@@ -969,9 +960,6 @@ namespace Banshee.GStreamer
98d0844
             BansheePlayerAboutToFinishCallback cb);
98d0844
 
98d0844
         [DllImport ("libbanshee.dll")]
98d0844
-        private static extern bool bp_supports_gapless (HandleRef player);
98d0844
-
98d0844
-        [DllImport ("libbanshee.dll")]
98d0844
         private static extern bool bp_open (HandleRef player, IntPtr uri, bool maybeVideo);
98d0844
 
98d0844
         [DllImport ("libbanshee.dll")]
98d0844
diff --git a/src/Backends/Banshee.GStreamer/Makefile.am b/src/Backends/Banshee.GStreamer/Makefile.am
98d0844
index 118e525..321b270 100644
98d0844
--- a/src/Backends/Banshee.GStreamer/Makefile.am
98d0844
+++ b/src/Backends/Banshee.GStreamer/Makefile.am
98d0844
@@ -16,7 +16,3 @@ include $(top_srcdir)/build/build.mk
98d0844
 
98d0844
 EXTRA_DIST += Banshee.GStreamer.dll.config
98d0844
 module_SCRIPTS += Banshee.GStreamer.dll.config
98d0844
-
98d0844
-if ENABLE_GAPLESS
98d0844
-BUILD_DEFINES="-define:ENABLE_GAPLESS"
98d0844
-endif
98d0844
\ No newline at end of file
98d0844
diff --git a/src/Backends/Banshee.GStreamerSharp/Makefile.am b/src/Backends/Banshee.GStreamerSharp/Makefile.am
98d0844
index 69424d7..769b260 100644
98d0844
--- a/src/Backends/Banshee.GStreamerSharp/Makefile.am
98d0844
+++ b/src/Backends/Banshee.GStreamerSharp/Makefile.am
98d0844
@@ -23,7 +23,3 @@ else
98d0844
 include $(top_srcdir)/build/build.dist.mk
98d0844
 EXTRA_DIST += Banshee.GStreamerSharp.dll.config
98d0844
 endif
98d0844
-
98d0844
-if ENABLE_GAPLESS
98d0844
-BUILD_DEFINES="-define:ENABLE_GAPLESS"
98d0844
-endif