gst/schedulers/entryscheduler.c: reset the state when the cothread starts, so we don't get assertion failures on rest...

Original commit message from CVS:
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_loop_wrapper),
(gst_entry_scheduler_chain_wrapper),
(gst_entry_scheduler_get_wrapper):
reset the state when the cothread starts, so we don't get assertion
failures on restarting of cothreads
This commit is contained in:
Benjamin Otte 2004-07-21 19:41:52 +00:00
parent db4729409f
commit 04ec1a2ad9
2 changed files with 12 additions and 0 deletions

View file

@ -1,3 +1,12 @@
2004-07-21 Benjamin Otte <otte@gnome.org>
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_loop_wrapper),
(gst_entry_scheduler_chain_wrapper),
(gst_entry_scheduler_get_wrapper):
reset the state when the cothread starts, so we don't get assertion
failures on restarting of cothreads
2004-07-20 Benjamin Otte <otte@gnome.org>
* gst/gstelement.c: (gst_element_link_pads_filtered):

View file

@ -277,6 +277,7 @@ gst_entry_scheduler_loop_wrapper (int argc, char **argv)
CothreadPrivate *priv = (CothreadPrivate *) argv;
GstElement *element = priv->element;
priv->wait = WAIT_FOR_NOTHING;
do {
g_assert (priv->wait == WAIT_FOR_NOTHING);
GST_LOG_OBJECT (SCHED (element), "calling loopfunc for element %s",
@ -332,6 +333,7 @@ gst_entry_scheduler_chain_wrapper (int argc, char **argv)
CothreadPrivate *priv = (CothreadPrivate *) argv;
GstElement *element = priv->element;
priv->wait = WAIT_FOR_PADS;
do {
GstRealPad *pad = priv->schedule_pad;
@ -397,6 +399,7 @@ gst_entry_scheduler_get_wrapper (int argc, char **argv)
CothreadPrivate *priv = (CothreadPrivate *) argv;
GstElement *element = priv->element;
priv->wait = WAIT_FOR_PADS;
do {
GstRealPad *pad = priv->schedule_pad;