gst/schedulers/entryscheduler.c: refuse to yield when decoupled elements insist on doing that.

Original commit message from CVS:
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_yield):
refuse to yield when decoupled elements insist on doing that.
At least it's better than crashing
This commit is contained in:
Benjamin Otte 2004-04-19 23:08:03 +00:00
parent b7acf41b85
commit d30991ae03
2 changed files with 11 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2004-04-20 Benjamin Otte <otte@gnome.org>
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_yield):
refuse to yield when decoupled elements insist on doing that.
At least it's better than crashing
2004-04-19 David Schleef <ds@schleef.org> 2004-04-19 David Schleef <ds@schleef.org>
* docs/libs/Makefile.am: Change sinclude to include * docs/libs/Makefile.am: Change sinclude to include

View file

@ -887,7 +887,10 @@ gst_entry_scheduler_state_transition (GstScheduler * scheduler,
static gboolean static gboolean
gst_entry_scheduler_yield (GstScheduler * sched, GstElement * element) gst_entry_scheduler_yield (GstScheduler * sched, GstElement * element)
{ {
g_assert (ELEMENT_PRIVATE (element)); /* g_assert (ELEMENT_PRIVATE (element)); */
/* FIXME: queue thinks it may just interrupt, is that ok? */
if (!ELEMENT_PRIVATE (element))
return TRUE;
ELEMENT_PRIVATE (element)->wait = WAIT_FOR_NOTHING; ELEMENT_PRIVATE (element)->wait = WAIT_FOR_NOTHING;
schedule_next_element (GST_ENTRY_SCHEDULER (sched)); schedule_next_element (GST_ENTRY_SCHEDULER (sched));
return FALSE; return FALSE;