diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2008-03-12 16:09:48 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2008-03-12 16:09:48 +0000 |
commit | 62204cad3d5dc5e076a3450ec3d2f3b0e77578a3 (patch) | |
tree | 48c97aaef299c5407304cde9428b50f8c613c074 | |
parent | 4c646533fac40b57414d330252f78b1f737a09a9 (diff) | |
download | gstreamer-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-- | ChangeLog | 8 | ||||
-rw-r--r-- | gst/mpegaudioparse/gstmpegaudioparse.c | 6 |
2 files changed, 10 insertions, 4 deletions
@@ -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; } |