pad: only serialized events can't pass after EOS

Only serialized events can't be sent on pads that are EOS. Otherwise a seek
event would be refused as well.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677520
This commit is contained in:
Wim Taymans 2012-06-06 09:13:11 +02:00
parent 4e06fccf41
commit d907544ab1

View file

@ -4637,10 +4637,10 @@ gst_pad_send_event_unchecked (GstPad * pad, GstEvent * event,
if (G_UNLIKELY (GST_PAD_IS_FLUSHING (pad))) if (G_UNLIKELY (GST_PAD_IS_FLUSHING (pad)))
goto flushing; goto flushing;
if (serialized) {
if (G_UNLIKELY (GST_PAD_IS_EOS (pad))) if (G_UNLIKELY (GST_PAD_IS_EOS (pad)))
goto eos; goto eos;
if (serialized) {
/* lock order: STREAM_LOCK, LOCK, recheck flushing. */ /* lock order: STREAM_LOCK, LOCK, recheck flushing. */
GST_OBJECT_UNLOCK (pad); GST_OBJECT_UNLOCK (pad);
GST_PAD_STREAM_LOCK (pad); GST_PAD_STREAM_LOCK (pad);