Hello community, here is the log from the commit of package banshee for openSUSE:Factory checked in at 2015-04-25 09:52:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/banshee (Old) and /work/SRC/openSUSE:Factory/.banshee.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "banshee" Changes: -------- --- /work/SRC/openSUSE:Factory/banshee/banshee.changes 2014-02-21 14:24:17.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.banshee.new/banshee.changes 2015-04-25 11:25:38.000000000 +0200 @@ -1,0 +2,17 @@ +Fri Apr 17 13:39:35 UTC 2015 - [email protected] + +- Backport patches to port to GStreamer 1.0: + + Don-t-use-the-new-decoded-pad-signal-of-decodebin.patch + + Initial-port-to-GStreamer-1.0.patch + + Use-new-style-GStreamer-1.0-raw-audio-caps-in-the-WA.patch +- Add Database-fix-performance-for-the-new-SQLite-s-query-.patch: + improve performance with SQLite 3.8.6+). +- Replace pkgconfig(gstreamer-plugins-base-0.10) BuildRequires with + pkgconfig(gstreamer-1.0), pkgconfig(gstreamer-audio-1.0), + pkgconfig(gstreamer-base-1.0), pkgconfig(gstreamer-fft-1.0), + pkgconfig(gstreamer-controller-1.0), + pkgconfig(gstreamer-pbutils-1.0), pkgconfig(gstreamer-tag-1.0), + pkgconfig(gstreamer-video-1.0) and + pkgconfig(gstreamer-plugins-base-1.0). + +------------------------------------------------------------------- New: ---- Database-fix-performance-for-the-new-SQLite-s-query-.patch Don-t-use-the-new-decoded-pad-signal-of-decodebin.patch Initial-port-to-GStreamer-1.0.patch Use-new-style-GStreamer-1.0-raw-audio-caps-in-the-WA.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ banshee.spec ++++++ --- /var/tmp/diff_new_pack.KSdOGp/_old 2015-04-25 11:25:38.000000000 +0200 +++ /var/tmp/diff_new_pack.KSdOGp/_new 2015-04-25 11:25:38.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package banshee # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -28,6 +28,10 @@ Source99: %{name}-rpmlintrc # PATCH-FIX-UPSTREAM banshee-dmcs-before-gmcs.patch bnc#798267 [email protected] -- Favor dmcs over gmcs... Fixes issues with mono 3.0. Taken from git Patch0: banshee-dmcs-before-gmcs.patch +Patch1: Initial-port-to-GStreamer-1.0.patch +Patch2: Don-t-use-the-new-decoded-pad-signal-of-decodebin.patch +Patch3: Use-new-style-GStreamer-1.0-raw-audio-caps-in-the-WA.patch +Patch4: Database-fix-performance-for-the-new-SQLite-s-query-.patch BuildRequires: fdupes BuildRequires: gnome-doc-utils-devel BuildRequires: intltool @@ -47,7 +51,15 @@ BuildRequires: pkgconfig(gio-sharp-2.0) >= 2.22.3 BuildRequires: pkgconfig(gkeyfile-sharp) BuildRequires: pkgconfig(gnome-desktop-2.0) -BuildRequires: pkgconfig(gstreamer-plugins-base-0.10) +BuildRequires: pkgconfig(gstreamer-1.0) +BuildRequires: pkgconfig(gstreamer-audio-1.0) +BuildRequires: pkgconfig(gstreamer-base-1.0) +BuildRequires: pkgconfig(gstreamer-controller-1.0) +BuildRequires: pkgconfig(gstreamer-fft-1.0) +BuildRequires: pkgconfig(gstreamer-pbutils-1.0) +BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) +BuildRequires: pkgconfig(gstreamer-tag-1.0) +BuildRequires: pkgconfig(gstreamer-video-1.0) BuildRequires: pkgconfig(gtk-sharp-2.0) BuildRequires: pkgconfig(gtk-sharp-beans-2.0) BuildRequires: pkgconfig(gudev-sharp-1.0) @@ -262,6 +274,10 @@ %prep %setup -q %patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 translation-update-upstream po banshee %build ++++++ Database-fix-performance-for-the-new-SQLite-s-query-.patch ++++++ From: Samuel Gyger <[email protected]> Date: Fri, 12 Dec 2014 17:07:45 +0100 Subject: Database: fix performance for the new SQLite's query planner (bgo#740879) Starting with sqlite version 3.8.6, a new query planner is used. To get back the performance on filling the CoreCache Table, this commit provides hints to sqlite (using the UNLIKELY statement). But the UNLIKELY statement is only supported in version 3.8.1 and above, so in order not to raise the version of the dependency on sqlite, we can use this new clause conditionally. Applied-Upstream: yes Origin: commit:fd3f08ec702f3a38918e0a96d2fc01d74af64ee4 Bug-Debian: https://bugs.debian.org/766560 Bug: https://bugzilla.gnome.org/show_bug.cgi?id=740879 --- .../DatabaseAlbumArtistListModel.cs | 2 +- .../Banshee.Collection.Database/DatabaseAlbumListModel.cs | 2 +- .../Banshee.Collection.Database/DatabaseArtistListModel.cs | 2 +- .../Banshee.Collection.Database/DatabaseFilterListModel.cs | 7 ++++--- .../Banshee.Collection.Database/DatabaseQueryFilterModel.cs | 5 +++-- .../Banshee.Collection.Database/DatabaseYearListModel.cs | 2 +- .../Banshee.Services/Banshee.Database/BansheeDbConnection.cs | 10 ++++++++++ 7 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumArtistListModel.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumArtistListModel.cs index dee9c81..e91018b 100644 --- a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumArtistListModel.cs +++ b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumArtistListModel.cs @@ -46,7 +46,7 @@ namespace Banshee.Collection.Database ReloadFragmentFormat = @" FROM CoreArtists WHERE CoreArtists.ArtistID IN (SELECT CoreAlbums.ArtistID FROM CoreAlbums, CoreTracks, CoreCache{0} - WHERE CoreCache.ModelID = {1} AND + WHERE {4}(CoreCache.ModelID = {1}) AND CoreTracks.AlbumID = CoreAlbums.AlbumID AND EXISTS (SELECT 1 FROM CoreArtists WHERE ArtistID = CoreAlbums.ArtistID) AND CoreCache.ItemID = {2} {3}) diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs index 0705eab..213f137 100644 --- a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs +++ b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs @@ -56,7 +56,7 @@ namespace Banshee.Collection.Database ReloadFragmentFormat = @" FROM CoreAlbums WHERE CoreAlbums.AlbumID IN (SELECT CoreTracks.AlbumID FROM CoreTracks, CoreCache{0} - WHERE CoreCache.ModelID = {1} AND + WHERE {4}(CoreCache.ModelID = {1}) AND CoreCache.ItemId = {2} {3}) ORDER BY CoreAlbums.TitleSortKey, CoreAlbums.ArtistNameSortKey"; } diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs index f7a2b4b..171e9e2 100644 --- a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs +++ b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs @@ -49,7 +49,7 @@ namespace Banshee.Collection.Database ReloadFragmentFormat = @" FROM CoreArtists WHERE CoreArtists.ArtistID IN (SELECT CoreTracks.ArtistID FROM CoreTracks, CoreCache{0} - WHERE CoreCache.ModelID = {1} AND + WHERE {4}(CoreCache.ModelID = {1}) AND CoreCache.ItemID = {2} {3}) ORDER BY NameSortKey"; } diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs index 018a0f4..2a5d4fd 100644 --- a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs +++ b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs @@ -57,10 +57,10 @@ namespace Banshee.Collection.Database } protected readonly U select_all_item; - private HyenaSqliteConnection connection; + private BansheeDbConnection connection; public DatabaseFilterListModel (string name, string label, Banshee.Sources.DatabaseSource source, - DatabaseTrackListModel trackModel, HyenaSqliteConnection connection, SqliteModelProvider<T> provider, U selectAllItem, string uuid) + DatabaseTrackListModel trackModel, BansheeDbConnection connection, SqliteModelProvider<T> provider, U selectAllItem, string uuid) : base (trackModel) { this.source = source; @@ -124,7 +124,8 @@ namespace Banshee.Collection.Database "{0}.{1} AND CoreTracks.TrackID = {0}.{2}", FilteredModel.JoinTable, FilteredModel.JoinPrimaryKey, FilteredModel.JoinColumn) : "CoreTracks.TrackID", - filtered ? GetFilterFragment () : "" + filtered ? GetFilterFragment () : "", + connection.LikelihoodSupport ? "UNLIKELY" : "" ); } diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseQueryFilterModel.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseQueryFilterModel.cs index a4c00fb..339e351 100644 --- a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseQueryFilterModel.cs +++ b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseQueryFilterModel.cs @@ -37,6 +37,7 @@ using Hyena.Data.Sqlite; using Mono.Unix; using Banshee.ServiceStack; +using Banshee.Database; namespace Banshee.Collection.Database { @@ -51,7 +52,7 @@ namespace Banshee.Collection.Database private string select_all_fmt; public DatabaseQueryFilterModel (Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel, - HyenaSqliteConnection connection, string select_all_fmt, string uuid, QueryField field, string filter_column) + BansheeDbConnection connection, string select_all_fmt, string uuid, QueryField field, string filter_column) : base (field.Name, field.Label, source, trackModel, connection, QueryFilterInfo<T>.CreateProvider (filter_column, field), new QueryFilterInfo<T> (), String.Format ("{0}-{1}", uuid, field.Name)) { this.field = field; @@ -59,7 +60,7 @@ namespace Banshee.Collection.Database ReloadFragmentFormat = @" FROM CoreTracks, CoreCache{0} - WHERE CoreCache.ModelID = {1} AND CoreCache.ItemID = {2} {3} + WHERE {4}(CoreCache.ModelID = {1}) AND CoreCache.ItemID = {2} {3} ORDER BY Value"; QueryFields = new QueryFieldSet (query_filter_field); diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseYearListModel.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseYearListModel.cs index b58d1df..5f96d2f 100644 --- a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseYearListModel.cs +++ b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseYearListModel.cs @@ -47,7 +47,7 @@ namespace Banshee.Collection.Database FROM (SELECT MIN(CoreTracks.TrackID) AS TrackID, CoreTracks.Year FROM CoreTracks GROUP BY CoreTracks.Year) AS CoreTracks WHERE CoreTracks.Year IN (SELECT CoreTracks.Year FROM CoreTracks, CoreCache{0} - WHERE CoreCache.ModelID = {1} AND + WHERE {4}(CoreCache.ModelID = {1}) AND CoreCache.ItemID = {2} {3}) ORDER BY Year"; } diff --git a/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs b/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs index e9bbbf5..3ae0728 100644 --- a/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs +++ b/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs @@ -52,6 +52,16 @@ namespace Banshee.Database get { return configuration; } } + private bool? likelihood_support = null; + public bool LikelihoodSupport { + get { + if (!likelihood_support.HasValue) { + likelihood_support = Query<bool> ("SELECT sqlite_version () >= '3.8.1'"); + } + return likelihood_support.Value; + } + } + public BansheeDbConnection () : this (DatabaseFile) { validate_schema = ApplicationContext.CommandLine.Contains ("validate-db-schema"); ++++++ Don-t-use-the-new-decoded-pad-signal-of-decodebin.patch ++++++ From: =?utf-8?q?Sebastian_Dr=C3=B6ge?= <[email protected]> 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); ++++++ Initial-port-to-GStreamer-1.0.patch ++++++ ++++ 1022 lines (skipped) ++++++ Use-new-style-GStreamer-1.0-raw-audio-caps-in-the-WA.patch ++++++ From: =?utf-8?q?Sebastian_Dr=C3=B6ge?= <[email protected]> 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" )
