+2004-07-20 Thomas Vander Stichele <thomas at apestaart dot org>
+
+ patch by: Wim Taymans
+
+ * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
+ (gst_opt_scheduler_schedule_run_queue),
+ (gst_opt_scheduler_get_wrapper), (get_group),
+ (group_migrate_connected):
+ * testsuite/schedulers/Makefile.am:
+ fix for #147819 (Add some checks in the opt scheduler)
+
2004-07-20 Thomas Vander Stichele <thomas at apestaart dot org>
patch by: Benjamin Otte
static void group_element_set_enabled (GstOptSchedulerGroup * group,
GstElement * element, gboolean enabled);
static gboolean schedule_group (GstOptSchedulerGroup * group);
+static void get_group (GstElement * element, GstOptSchedulerGroup ** group);
/*
GST_LOG_OBJECT (osched, "scheduling group %p", group);
- res = schedule_group (group);
+ if (GST_OPT_SCHEDULER_GROUP_IS_ENABLED (group)) {
+ res = schedule_group (group);
+ } else {
+ GST_INFO_OBJECT (osched,
+ "group was disabled while it was on the queue, not scheduling");
+ res = TRUE;
+ }
if (!res) {
g_warning ("error scheduling group %p", group);
group_error_handler (group);
GST_LOG ("need to schedule the peer element");
/* else we need to schedule the peer element */
- group = GST_ELEMENT_SCHED_GROUP (GST_PAD_PARENT (srcpad));
+ get_group (GST_PAD_PARENT (srcpad), &group);
if (group == NULL) {
/* wow, peer has no group */
- g_warning ("peer without group detected");
+ GST_LOG ("peer without group detected");
//group_error_handler (group);
return GST_DATA (gst_event_new (GST_EVENT_INTERRUPT));
}
{
GstOptSchedulerCtx *ctx;
- /*GList *pads; */
-
ctx = GST_ELEMENT_SCHED_CONTEXT (element);
if (ctx)
*group = ctx->group;
unlink_src unlink_sink \
relink_src relink_sink \
unref_src unref_sink \
- 143777 143777-2 147713 147894
+ 143777 143777-2 147713 147819 147894
# don't enable this one unless it actually works.
# useless_iteration
-tests_fail = 142183 142183-2 147819
+tests_fail = 142183 142183-2
tests_ignore =
unlink_src_SOURCES = unlink.c
unlink_src unlink_sink \
relink_src relink_sink \
unref_src unref_sink \
- 143777 143777-2 147713 147894
+ 143777 143777-2 147713 147819 147894
# don't enable this one unless it actually works.
# useless_iteration
-tests_fail = 142183 142183-2 147819
+tests_fail = 142183 142183-2
tests_ignore =
unlink_src_SOURCES = unlink.c