collectpads: Get the flushing state with the object lock taken.

Fixes #590056
This commit is contained in:
Edward Hervey 2009-07-28 21:15:52 +02:00
parent c138aa8648
commit cfb22080e2

View file

@ -1159,12 +1159,15 @@ gst_collect_pads_event (GstPad * pad, GstEvent * event)
pads->eospads--; pads->eospads--;
data->abidata.ABI.eos = FALSE; data->abidata.ABI.eos = FALSE;
} }
GST_OBJECT_UNLOCK (pads);
if (!gst_collect_pads_is_flushing (pads)) if (!gst_collect_pads_is_flushing (pads)) {
/* forward event if all pads are no longer flushing */ /* forward event if all pads are no longer flushing */
GST_DEBUG ("No more pads are flushing, forwarding FLUSH_STOP");
GST_OBJECT_UNLOCK (pads);
goto forward; goto forward;
}
gst_event_unref (event); gst_event_unref (event);
GST_OBJECT_UNLOCK (pads);
goto done; goto done;
} }
case GST_EVENT_EOS: case GST_EVENT_EOS: