rpms/rhythmbox/devel rhythmbox-0.11.5-xfade-deadlock.patch, 1.1, 1.2 rhythmbox.spec, 1.186, 1.187

Bastien Nocera (hadess) fedora-extras-commits at redhat.com
Tue Apr 8 13:57:54 UTC 2008


Author: hadess

Update of /cvs/pkgs/rpms/rhythmbox/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv25767

Modified Files:
	rhythmbox-0.11.5-xfade-deadlock.patch rhythmbox.spec 
Log Message:
* Tue Apr 08 2008 - Bastien Nocera <bnocera at redhat.com> - 0.11.5-9
- Update deadlock fix patch


rhythmbox-0.11.5-xfade-deadlock.patch:

Index: rhythmbox-0.11.5-xfade-deadlock.patch
===================================================================
RCS file: /cvs/pkgs/rpms/rhythmbox/devel/rhythmbox-0.11.5-xfade-deadlock.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- rhythmbox-0.11.5-xfade-deadlock.patch	7 Apr 2008 08:43:53 -0000	1.1
+++ rhythmbox-0.11.5-xfade-deadlock.patch	8 Apr 2008 13:57:29 -0000	1.2
@@ -1,8 +1,23 @@
 diff --git a/backends/gstreamer/rb-player-gst-xfade.c b/backends/gstreamer/rb-player-gst-xfade.c
-index 189e0af..0131938 100644
+index 189e0af..7bbbe53 100644
 --- a/backends/gstreamer/rb-player-gst-xfade.c
 +++ b/backends/gstreamer/rb-player-gst-xfade.c
-@@ -797,14 +797,17 @@ emit_stream_error_cb (RBXFadeStream *stream)
+@@ -515,14 +515,6 @@ dump_stream_list (RBPlayerGstXFade *player)
+ 	}
+ }
+ 
+-static void
+-dump_stream_list_lock (RBPlayerGstXFade *player)
+-{
+-	g_static_rec_mutex_lock (&player->priv->stream_list_lock);
+-	dump_stream_list (player);
+-	g_static_rec_mutex_unlock (&player->priv->stream_list_lock);
+-}
+-
+ /* caller must hold stream list lock */
+ static RBXFadeStream *
+ find_stream_by_uri (RBPlayerGstXFade *player, const char *uri)
+@@ -797,14 +789,17 @@ emit_stream_error_cb (RBXFadeStream *stream)
  static void
  emit_stream_error (RBXFadeStream *stream, GError *error)
  {
@@ -24,7 +39,36 @@
  }
  
  static void
-@@ -2161,6 +2164,7 @@ actually_start_stream (RBXFadeStream *stream, GError **error)
+@@ -1332,8 +1327,8 @@ reap_streams (RBPlayerGstXFade *player)
+ 	GList *t;
+ 	GList *reap = NULL;
+ 
+-	player->priv->stream_reap_id = 0;
+ 	g_static_rec_mutex_lock (&player->priv->stream_list_lock);
++	player->priv->stream_reap_id = 0;
+ 	dump_stream_list (player);
+ 	for (t = player->priv->streams; t != NULL; t = t->next) {
+ 		RBXFadeStream *stream = (RBXFadeStream *)t->data;
+@@ -1358,11 +1353,14 @@ reap_streams (RBPlayerGstXFade *player)
+ static void
+ schedule_stream_reap (RBPlayerGstXFade *player)
+ {
+-	if (player->priv->stream_reap_id != 0)
+-		return;
++	g_static_rec_mutex_lock (&player->priv->stream_list_lock);
+ 
+-	dump_stream_list_lock (player);
+-	player->priv->stream_reap_id = g_idle_add ((GSourceFunc) reap_streams, player);
++	if (player->priv->stream_reap_id == 0) {
++		dump_stream_list (player);
++		player->priv->stream_reap_id = g_idle_add ((GSourceFunc) reap_streams, player);
++	}
++	
++	g_static_rec_mutex_unlock (&player->priv->stream_list_lock);
+ }
+ 
+ /* emits a tag signal from the player, maybe */
+@@ -2161,6 +2159,7 @@ actually_start_stream (RBXFadeStream *stream, GError **error)
  {
  	RBPlayerGstXFade *player = stream->player;
  	gboolean ret = TRUE;
@@ -32,7 +76,7 @@
  
  	g_static_rec_mutex_lock (&player->priv->stream_list_lock);
  
-@@ -2198,7 +2202,8 @@ actually_start_stream (RBXFadeStream *stream, GError **error)
+@@ -2198,7 +2197,8 @@ actually_start_stream (RBXFadeStream *stream, GError **error)
  			case PREROLLING:
  			case PREROLL_PLAY:
  				rb_debug ("stream %s is paused; replacing it", pstream->uri);
@@ -42,7 +86,7 @@
  				break;
  
  			default:
-@@ -2236,13 +2241,14 @@ actually_start_stream (RBXFadeStream *stream, GError **error)
+@@ -2236,13 +2236,14 @@ actually_start_stream (RBXFadeStream *stream, GError **error)
  				break;
  			case PAUSED:
  				rb_debug ("stream %s is paused; replacing it", pstream->uri);
@@ -59,7 +103,7 @@
  		if (playing) {
  			/* wait for current stream's EOS */
  			rb_debug ("existing playing stream found; waiting for its EOS -> WAITING_EOS");
-@@ -2252,11 +2258,7 @@ actually_start_stream (RBXFadeStream *stream, GError **error)
+@@ -2252,11 +2253,7 @@ actually_start_stream (RBXFadeStream *stream, GError **error)
  			ret = link_and_unblock_stream (stream, error);
  		}
  	} else {
@@ -72,7 +116,7 @@
  		GList *l;
  		for (l = player->priv->streams; l != NULL; l = l->next) {
  			RBXFadeStream *pstream = (RBXFadeStream *)l->data;
-@@ -2269,7 +2271,8 @@ actually_start_stream (RBXFadeStream *stream, GError **error)
+@@ -2269,7 +2266,8 @@ actually_start_stream (RBXFadeStream *stream, GError **error)
  			case FADING_IN:
  				/* kill this one */
  				rb_debug ("stopping stream %s (replaced by new stream)", pstream->uri);
@@ -82,7 +126,7 @@
  				break;
  
  			default:
-@@ -2281,6 +2284,10 @@ actually_start_stream (RBXFadeStream *stream, GError **error)
+@@ -2281,6 +2279,10 @@ actually_start_stream (RBXFadeStream *stream, GError **error)
  		ret = link_and_unblock_stream (stream, error);
  	}
  


Index: rhythmbox.spec
===================================================================
RCS file: /cvs/pkgs/rpms/rhythmbox/devel/rhythmbox.spec,v
retrieving revision 1.186
retrieving revision 1.187
diff -u -r1.186 -r1.187
--- rhythmbox.spec	7 Apr 2008 08:50:45 -0000	1.186
+++ rhythmbox.spec	8 Apr 2008 13:57:29 -0000	1.187
@@ -3,7 +3,7 @@
 Name: rhythmbox
 Summary: Music Management Application 
 Version: 0.11.5
-Release: 8%{?dist}
+Release: 9%{?dist}
 License: GPLv2+ and GFDL+
 Group: Applications/Multimedia
 URL: http://www.gnome.org/projects/rhythmbox/
@@ -217,6 +217,9 @@
 %{_libdir}/rhythmbox/plugins/upnp_coherence
 
 %changelog
+* Tue Apr 08 2008 - Bastien Nocera <bnocera at redhat.com> - 0.11.5-9
+- Update deadlock fix patch
+
 * Mon Apr 07 2008 - Bastien Nocera <bnocera at redhat.com> - 0.11.5-8
 - Add patch to avoid deadlocks when playing music through the cross-fade backend
 




More information about the fedora-extras-commits mailing list