rhythmbox r5745 - in trunk: . backends/gstreamer



Author: jmatthew
Date: Sat Jun 14 01:10:29 2008
New Revision: 5745
URL: http://svn.gnome.org/viewvc/rhythmbox?rev=5745&view=rev

Log:
2008-06-14  Jonathan Matthew  <jonathan d14n org>

	* backends/gstreamer/rb-player-gst-xfade.c: (link_unblocked_cb):
	Remove extra stream unref, and only check the stream state while
	holding the stream list lock, just for safety.  Fixes #529427.


Modified:
   trunk/ChangeLog
   trunk/backends/gstreamer/rb-player-gst-xfade.c

Modified: trunk/backends/gstreamer/rb-player-gst-xfade.c
==============================================================================
--- trunk/backends/gstreamer/rb-player-gst-xfade.c	(original)
+++ trunk/backends/gstreamer/rb-player-gst-xfade.c	Sat Jun 14 01:10:29 2008
@@ -1047,15 +1047,15 @@
 link_unblocked_cb (GstPad *pad, gboolean blocked, RBXFadeStream *stream)
 {
 	GstStateChangeReturn state_ret;
+	g_static_rec_mutex_lock (&stream->player->priv->stream_list_lock);
 
 	/* sometimes we seem to get called twice */
 	if (stream->state == FADING_IN || stream->state == PLAYING) {
-		g_object_unref (stream);
+		g_static_rec_mutex_unlock (&stream->player->priv->stream_list_lock);
 		return;
 	}
 
 	rb_debug ("stream %s is unblocked -> FADING_IN | PLAYING", stream->uri);
-	g_static_rec_mutex_lock (&stream->player->priv->stream_list_lock);
 	stream->src_blocked = FALSE;
 	if (stream->fading)
 		stream->state = FADING_IN;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]