Added interrupt back in spider, make opt scheduler schedule next chain on interrupt (like basic did)

Original commit message from CVS:
Added interrupt back in spider, make opt scheduler schedule next chain
on interrupt (like basic did)
This commit is contained in:
Wim Taymans 2003-01-12 20:28:08 +00:00
parent b695152ed0
commit 59bd88118f
3 changed files with 5 additions and 4 deletions

View file

@ -234,9 +234,8 @@ gst_autoplugcache_loop (GstElement *element)
gst_object_ref (GST_OBJECT (cache));
g_signal_emit (G_OBJECT(cache), gst_autoplugcache_signals[CACHE_EMPTY], 0, NULL);
if (GST_STATE(cache) != oldstate) {
gst_object_ref (GST_OBJECT (cache));
gst_object_unref (GST_OBJECT (cache));
GST_DEBUG(GST_CAT_AUTOPLUG, "state changed during signal, aborting");
gst_element_yield (GST_ELEMENT (cache));
return;
}
gst_object_unref (GST_OBJECT (cache));

View file

@ -400,6 +400,8 @@ gst_spider_identity_src_loop (GstSpiderIdentity *ident)
gst_spider_identity_dumb_loop (ident);
return;
}
gst_element_interrupt (GST_ELEMENT (ident));
}
/* This loop function is only needed when typefinding.
*/

View file

@ -1590,8 +1590,8 @@ gst_opt_scheduler_iterate (GstScheduler *sched)
scheduled = TRUE;
}
/* don't schedule any more chains when interrupted or in error */
if (osched->state != GST_OPT_SCHEDULER_STATE_RUNNING)
/* don't schedule any more chains when in error */
if (osched->state == GST_OPT_SCHEDULER_STATE_ERROR)
break;
}