[meego-commits] 9135: Changes to Trunk:Netbook/banshee-1
Han Dai
no_reply at build.meego.com
Tue Nov 2 03:16:08 UTC 2010
Hi,
I have made the following changes to banshee-1 in project Trunk:Netbook. Please review and accept ASAP.
Thank You,
Han Dai
[This message was auto-generated]
---
Request #9135:
submit: home:daihan:branches:Trunk:Netbook/banshee-1(r2)(cleanup) -> Trunk:Netbook/banshee-1
Message:
Add patches to fix BMC#5591 BMC#6228 BMC#7394 BMC#8383
State: new 2010-11-01T20:16:07 daihan
Comment: None
changes files:
--------------
--- banshee-1.changes
+++ banshee-1.changes
@@ -1,0 +2,16 @@
+Tue Nov 2 10:45:47 UTC 2010 - ting.z.zhou at intel.com
+
+- Added start-as-meego-client-bmc7394.patch, fix banshee failed to
+ start with option "--show-import-media" (bmc#7394)
+
+- Replaced separate-video-rpgain-mutexes-bmc1115.patch with
+ move-video-mutex-in-func-bmc5591.patch, which combines the fix
+ for bmc#1115 and bmc#5591 (bmc#1115, bmc#5591)
+
+- Added search-unknown-artist-album-bmc6228.patch, fixing
+ crash when searching unknown artist or album (bmc#6228)
+
+- Added import-video-playlist-bmc8383.patch, fixing video playlist
+ can not be imported (bmc#8383)
+
+-------------------------------------------------------------------
old:
----
separate-video-rpgain-mutexes-bmc1115.patch
new:
----
import-video-playlist-bmc8383.patch
move-video-mutex-in-func-bmc5591.patch
search-unknown-artist-album-bmc6228.patch
start-as-meego-client-bmc7394.patch
spec files:
-----------
--- banshee-1.spec
+++ banshee-1.spec
@@ -1,6 +1,6 @@
#
# Do NOT Edit the Auto-generated Part!
-# Generated by: spectacle version 0.19~pre
+# Generated by: spectacle version 0.20
#
# >> macros
# << macros
@@ -16,12 +16,15 @@
Source100: banshee-1.yaml
Patch0: enable-library-watcher-by-default.patch
Patch1: meego-aware-context-menu-positions-bmc869.patch
-Patch2: separate-video-rpgain-mutexes-bmc1115.patch
+Patch2: move-video-mutex-in-func-bmc5591.patch
Patch3: increase-pipeline-ready-timeout-bmc193.patch
Patch4: play-next-track-after-unsupported-codec-bmc802.patch
Patch5: close-player-engine-on-fsq-clear-bmc2684.patch
Patch6: moblin-to-meego-rename.patch
Patch7: media-as-meego-icon-name.patch
+Patch8: start-as-meego-client-bmc7394.patch
+Patch9: import-video-playlist-bmc8383.patch
+Patch10: search-unknown-artist-album-bmc6228.patch
Requires: %{name}-core = %{version}
Requires: %{name}-backend-platform-unix = %{version}
Requires: gst-plugins-good
@@ -194,7 +197,7 @@
%patch0 -p1
# meego-aware-context-menu-positions-bmc869.patch
%patch1 -p1
-# separate-video-rpgain-mutexes-bmc1115.patch
+# move-video-mutex-in-func-bmc5591.patch
%patch2 -p1
# increase-pipeline-ready-timeout-bmc193.patch
%patch3 -p1
@@ -206,6 +209,12 @@
%patch6 -p1
# media-as-meego-icon-name.patch
%patch7 -p1
+# start-as-meego-client-bmc7394.patch
+%patch8 -p1
+# import-video-playlist-bmc8383.patch
+%patch9 -p1
+# search-unknown-artist-album-bmc6228.patch
+%patch10 -p1
# >> setup
# << setup
other changes:
--------------
++++++ banshee-1.yaml
--- banshee-1.yaml
+++ banshee-1.yaml
@@ -27,7 +27,7 @@
# MEEGO SPECIFIC
- meego-aware-context-menu-positions-bmc869.patch
# UPSTREAM (master)
- - separate-video-rpgain-mutexes-bmc1115.patch
+ - move-video-mutex-in-func-bmc5591.patch
# MEEGO SPECIFIC (EVALUATE UPSTREAM)
- increase-pipeline-ready-timeout-bmc193.patch
# MEEGO SPECIFIC (EVALUATE UPSTREAM)
@@ -38,6 +38,12 @@
- moblin-to-meego-rename.patch
# INTEL MEEGO SPECIFIC
- media-as-meego-icon-name.patch
+ # UPSTREAM (master)
+ - start-as-meego-client-bmc7394.patch
+ # UPSTREAM (master)
+ - import-video-playlist-bmc8383.patch
+ # MEEGO SPECIFIC (EVALUATE UPSTREAM)
+ - search-unknown-artist-album-bmc6228.patch
Requires:
- "%{name}-core = %{version}"
++++++ import-video-playlist-bmc8383.patch (new)
--- import-video-playlist-bmc8383.patch
+++ import-video-playlist-bmc8383.patch
+diff -Nur old/src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs new/src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs
+--- old/src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs 2009-11-23 00:19:34.000000000 +0800
++++ new/src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs 2010-09-15 16:22:53.000000000 +0800
+@@ -15,6 +15,7 @@
+ using Banshee.Playlists.Formats;
+ using Banshee.Collection;
+ using Banshee.Collection.Database;
++using Banshee.Streaming;
+
+ namespace Banshee.Playlist
+ {
+@@ -179,7 +180,7 @@
+
+ public static void ImportPlaylistToLibrary (string path)
+ {
+- ImportPlaylistToLibrary (path, ServiceManager.SourceManager.MusicLibrary, null);
++ ImportPlaylistToLibrary (path, null, null);
+ }
+
+ public static void ImportPlaylistToLibrary (string path, PrimarySource source, DatabaseImportManager importer)
+@@ -198,10 +199,34 @@
+ uris.Add (((Uri)element["uri"]).LocalPath);
+ }
+
+- ImportPlaylistWorker worker = new ImportPlaylistWorker (
+- parser.Title,
+- uris.ToArray (), source, importer);
+- worker.Import ();
++ if (source == null) {
++ if (uris.Count > 0) {
++ // Get the media attribute of the 1st Uri in Playlist
++ // and then determine whether the playlist belongs to Video or Music
++ SafeUri uri1 = new SafeUri (uris[0]);
++ var track = new TrackInfo ();
++ StreamTagger.TrackInfoMerge (track, uri1);
++
++ if (track.HasAttribute (TrackMediaAttributes.VideoStream)) {
++ source = ServiceManager.SourceManager.VideoLibrary;
++ } else {
++ source = ServiceManager.SourceManager.MusicLibrary;
++ }
++ }
++ }
++
++ // Give source a fallback value - MusicLibrary when it's null
++ if (source == null) {
++ source = ServiceManager.SourceManager.MusicLibrary;
++ }
++
++ // Only import an non-empty playlist
++ if (uris.Count > 0) {
++ ImportPlaylistWorker worker = new ImportPlaylistWorker (
++ parser.Title,
++ uris.ToArray (), source, importer);
++ worker.Import ();
++ }
+ }
+ } catch (Exception e) {
+ Hyena.Log.Exception (e);
++++++ move-video-mutex-in-func-bmc5591.patch (new)
--- move-video-mutex-in-func-bmc5591.patch
+++ move-video-mutex-in-func-bmc5591.patch
+diff -Nur old/libbanshee/banshee-player.c new/libbanshee/banshee-player.c
+--- old/libbanshee/banshee-player.c 2010-06-24 05:06:14.000000000 +0800
++++ new/libbanshee/banshee-player.c 2010-10-13 12:46:21.000000000 +0800
+@@ -57,11 +57,15 @@
+ bp_destroy (BansheePlayer *player)
+ {
+ g_return_if_fail (IS_BANSHEE_PLAYER (player));
+-
+- if (player->mutex != NULL) {
+- g_mutex_free (player->mutex);
++
++ if (player->video_mutex != NULL) {
++ g_mutex_free (player->video_mutex);
+ }
+-
++
++ if (player->replaygain_mutex != NULL) {
++ g_mutex_free (player->replaygain_mutex);
++ }
++
+ if (player->cdda_device != NULL) {
+ g_free (player->cdda_device);
+ }
+@@ -81,9 +85,10 @@
+ bp_new ()
+ {
+ BansheePlayer *player = g_new0 (BansheePlayer, 1);
+-
+- player->mutex = g_mutex_new ();
+-
++
++ player->video_mutex = g_mutex_new ();
++ player->replaygain_mutex = g_mutex_new ();
++
+ return player;
+ }
+
+diff -Nur old/libbanshee/banshee-player-private.h new/libbanshee/banshee-player-private.h
+--- old/libbanshee/banshee-player-private.h 2010-06-24 05:06:14.000000000 +0800
++++ new/libbanshee/banshee-player-private.h 2010-10-12 16:56:17.000000000 +0800
+@@ -143,7 +143,8 @@
+ gint equalizer_status;
+
+ // Pipeline/Playback State
+- GMutex *mutex;
++ GMutex *video_mutex;
++ GMutex *replaygain_mutex;
+ GstState target_state;
+ gboolean buffering;
+ gchar *cdda_device;
+diff -Nur old/libbanshee/banshee-player-replaygain.c new/libbanshee/banshee-player-replaygain.c
+--- old/libbanshee/banshee-player-replaygain.c 2010-05-18 01:04:22.000000000 +0800
++++ new/libbanshee/banshee-player-replaygain.c 2010-10-12 21:23:45.000000000 +0800
+@@ -94,12 +94,12 @@
+ // 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
+ // with inconsistent state.
+- g_mutex_lock (player->mutex);
++ g_mutex_lock (player->replaygain_mutex);
+
+ 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.
+- g_mutex_unlock (player->mutex);
++ g_mutex_unlock (player->replaygain_mutex);
+ if (gst_pad_is_blocked (srcPad)) {
+ gst_pad_set_blocked_async (srcPad, FALSE, &pad_block_cb, player);
+ }
+@@ -139,7 +139,7 @@
+ }
+
+ // Our state is now consistent
+- g_mutex_unlock (player->mutex);
++ g_mutex_unlock (player->replaygain_mutex);
+
+ if (gst_pad_is_blocked (srcPad)) {
+ gst_pad_set_blocked_async (srcPad, FALSE, &pad_block_cb, player);
+diff -Nur old/libbanshee/banshee-player-video.c new/libbanshee/banshee-player-video.c
+--- old/libbanshee/banshee-player-video.c 2010-05-18 01:04:32.000000000 +0800
++++ new/libbanshee/banshee-player-video.c 2010-10-13 12:54:00.000000000 +0800
+@@ -42,17 +42,19 @@
+ GstElement *video_sink = NULL;
+ GstElement *xoverlay;
+ GstXOverlay *previous_xoverlay;
++ gboolean found_xoverlay;
+
+- previous_xoverlay = player->xoverlay;
+-
+ g_object_get (player->playbin, "video-sink", &video_sink, NULL);
+-
++
++ g_mutex_lock (player->video_mutex);
++ previous_xoverlay = player->xoverlay;
++
+ if (video_sink == NULL) {
+ player->xoverlay = NULL;
+ if (previous_xoverlay != NULL) {
+ gst_object_unref (previous_xoverlay);
+ }
+-
++ g_mutex_unlock (player->video_mutex);
+ return FALSE;
+ }
+
+@@ -79,8 +81,10 @@
+ }
+
+ gst_object_unref (video_sink);
++ found_xoverlay = (player->xoverlay != NULL) ? TRUE : FALSE;
+
+- return player->xoverlay != NULL;
++ g_mutex_unlock (player->video_mutex);
++ return found_xoverlay;
+ }
+
+ #endif /* GDK_WINDOWING_X11 || GDK_WINDOWING_WIN32 */
+@@ -91,9 +95,7 @@
+ g_return_if_fail (IS_BANSHEE_PLAYER (player));
+
+ #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WIN32)
+- g_mutex_lock (player->mutex);
+ bp_video_find_xoverlay (player);
+- g_mutex_unlock (player->mutex);
+ #endif
+ }
+
+@@ -110,9 +112,7 @@
+ return;
+ }
+
+- g_mutex_lock (player->mutex);
+ found_xoverlay = bp_video_find_xoverlay (player);
+- g_mutex_unlock (player->mutex);
+
+ if (found_xoverlay) {
+ gst_x_overlay_set_xwindow_id (player->xoverlay, player->video_window_xid);
+@@ -318,16 +318,12 @@
+ gst_x_overlay_expose (player->xoverlay);
+ return;
+ }
+-
+- g_mutex_lock (player->mutex);
+-
++
+ if (player->xoverlay == NULL && !bp_video_find_xoverlay (player)) {
+- g_mutex_unlock (player->mutex);
+ return;
+ }
+
+ gst_object_ref (player->xoverlay);
+- g_mutex_unlock (player->mutex);
+
+ gst_x_overlay_set_xwindow_id (player->xoverlay, player->video_window_xid);
+ gst_x_overlay_expose (player->xoverlay);
++++++ search-unknown-artist-album-bmc6228.patch (new)
--- search-unknown-artist-album-bmc6228.patch
+++ search-unknown-artist-album-bmc6228.patch
+diff -Nur old/src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs new/src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs
+--- old/src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs 2010-04-14 10:35:42.000000000 +0800
++++ new/src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs 2010-08-30 09:24:14.000000000 +0800
+@@ -384,7 +384,7 @@
+
+ public string Query {
+ get { return entry.Text.Trim(); }
+- set { entry.Text = value.Trim(); }
++ set { entry.Text = String.IsNullOrEmpty (value) ? String.Empty : value.Trim(); }
+ }
+
+ public bool IsQueryAvailable {
+diff -Nur old/src/Hyena/Hyena/Hyena.Query/QueryField.cs new/src/Hyena/Hyena/Hyena.Query/QueryField.cs
+--- old/src/Hyena/Hyena/Hyena.Query/QueryField.cs 2010-07-10 07:06:32.000000000 +0800
++++ new/src/Hyena/Hyena/Hyena.Query/QueryField.cs 2010-08-10 12:50:18.000000000 +0800
+@@ -173,11 +173,14 @@
+
+ public static string ToTermString (string alias, string op, string value)
+ {
+- value = String.Format (
+- "{1}{0}{1}",
+- value, value.IndexOf (" ") == -1 ? String.Empty : "\""
+- );
+-
++ if (!String.IsNullOrEmpty (value)) {
++ value = String.Format (
++ "{1}{0}{1}",
++ value, value.IndexOf (" ") == -1 ? String.Empty : "\""
++ );
++ } else {
++ value = String.Empty;
++ }
+ return String.IsNullOrEmpty (alias)
+ ? value
+ : String.Format ("{0}{1}{2}", alias, op, value);
++++++ start-as-meego-client-bmc7394.patch (new)
--- start-as-meego-client-bmc7394.patch
+++ start-as-meego-client-bmc7394.patch
+diff -Nur old/src/Clients/Booter/Booter/Entry.cs new/src/Clients/Booter/Booter/Entry.cs
+--- old/src/Clients/Booter/Booter/Entry.cs 2010-06-24 05:06:14.000000000 +0800
++++ new/src/Clients/Booter/Booter/Entry.cs 2010-10-17 16:09:38.000000000 +0800
+@@ -99,7 +99,11 @@
+ } else if (ApplicationContext.CommandLine.Contains ("client")) {
+ BootClient (Path.GetFileNameWithoutExtension (ApplicationContext.CommandLine["client"]));
+ } else {
+- BootClient ("Nereid");
++ if (PlatformDetection.IsMeeGo) {
++ BootClient ("MeeGo");
++ } else {
++ BootClient ("Nereid");
++ }
+ }
+ }
+
++++++ deleted files:
--- separate-video-rpgain-mutexes-bmc1115.patch
More information about the MeeGo-commits
mailing list