[rhythmbox] xfade: don't hold stream lock while sending seeks
- From: Jonathan Matthew <jmatthew src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rhythmbox] xfade: don't hold stream lock while sending seeks
- Date: Sat, 8 Dec 2012 07:40:15 +0000 (UTC)
commit e4430bfd1ab8815a4f1395c73858695897b689fa
Author: Jonathan Matthew <jonathan d14n org>
Date: Sun Dec 2 20:38:35 2012 +1000
xfade: don't hold stream lock while sending seeks
This inverts a lock order taken elsewhere, so it can deadlock
if you're unlucky.
backends/gstreamer/rb-player-gst-xfade.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/backends/gstreamer/rb-player-gst-xfade.c b/backends/gstreamer/rb-player-gst-xfade.c
index 15f6b65..db6f832 100644
--- a/backends/gstreamer/rb-player-gst-xfade.c
+++ b/backends/gstreamer/rb-player-gst-xfade.c
@@ -1180,7 +1180,6 @@ perform_seek (RBXFadeStream *stream)
GstEvent *event;
rb_debug ("sending seek event..");
- g_mutex_lock (&stream->lock);
event = gst_event_new_seek (1.0, GST_FORMAT_TIME,
GST_SEEK_FLAG_FLUSH,
@@ -1188,6 +1187,7 @@ perform_seek (RBXFadeStream *stream)
GST_SEEK_TYPE_NONE, -1);
gst_pad_send_event (stream->src_pad, event);
+ g_mutex_lock (&stream->lock);
switch (stream->state) {
case SEEKING:
stream->state = PLAYING;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]