From 04ec1a2ad9551c38bab08f0c8e9802d1517dc9b4 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 21 Jul 2004 19:41:52 +0000 Subject: [PATCH] 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 --- ChangeLog | 9 +++++++++ gst/schedulers/entryscheduler.c | 3 +++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index 25aa9aaf56..dfecf353ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2004-07-21 Benjamin Otte + + * 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 * gst/gstelement.c: (gst_element_link_pads_filtered): diff --git a/gst/schedulers/entryscheduler.c b/gst/schedulers/entryscheduler.c index fd86bfbfda..9f1db2f924 100644 --- a/gst/schedulers/entryscheduler.c +++ b/gst/schedulers/entryscheduler.c @@ -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;