summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2008-03-12 16:09:48 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2008-03-12 16:09:48 +0000
commit62204cad3d5dc5e076a3450ec3d2f3b0e77578a3 (patch)
tree48c97aaef299c5407304cde9428b50f8c613c074
parent4c646533fac40b57414d330252f78b1f737a09a9 (diff)
downloadgstreamer-plugins-ugly-62204cad3d5dc5e076a3450ec3d2f3b0e77578a3.tar.gz
gst/mpegaudioparse/gstmpegaudioparse.c: Don't take the stream lock when caching events. This is not necessary and res...
Original commit message from CVS: * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_sink_event): Don't take the stream lock when caching events. This is not necessary and results in a deadlock when seeking with rhythmbox (but not with totem or banshee for some reason).
-rw-r--r--ChangeLog8
-rw-r--r--gst/mpegaudioparse/gstmpegaudioparse.c6
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 8b96101d..895fa82b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-03-12 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * gst/mpegaudioparse/gstmpegaudioparse.c:
+ (gst_mp3parse_sink_event):
+ Don't take the stream lock when caching events. This is not necessary
+ and results in a deadlock when seeking with rhythmbox (but not with
+ totem or banshee for some reason).
+
2008-03-10 Wim Taymans <wim.taymans@collabora.co.uk>
Patch by: Pizpot Gargravarr <pgargravarr at siriuscybernetics dot org>
diff --git a/gst/mpegaudioparse/gstmpegaudioparse.c b/gst/mpegaudioparse/gstmpegaudioparse.c
index a050f92f..eb40bdbd 100644
--- a/gst/mpegaudioparse/gstmpegaudioparse.c
+++ b/gst/mpegaudioparse/gstmpegaudioparse.c
@@ -540,16 +540,14 @@ gst_mp3parse_sink_event (GstPad * pad, GstEvent * event)
res = gst_pad_push_event (mp3parse->srcpad, event);
break;
default:
- GST_PAD_STREAM_LOCK (pad);
- /* Cache all events except EOS and the ones above if we have
- * a pending segment */
if (mp3parse->pending_segment && GST_EVENT_TYPE (event) != GST_EVENT_EOS) {
+ /* Cache all events except EOS and the ones above if we have
+ * a pending segment */
mp3parse->pending_events =
g_list_append (mp3parse->pending_events, event);
} else {
res = gst_pad_push_event (mp3parse->srcpad, event);
}
- GST_PAD_STREAM_UNLOCK (pad);
break;
}