Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(remove_from_group), (group_elements_set_visited),
(normalize_group), (gst_opt_scheduler_iterate):
Fix bug where a flag was not updated on a decoupled entry point
because we were just checking the group element list and decoupled
elements are not in that list..
+2004-12-15 Wim Taymans <wim@fluendo.com>
+
+ * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
+ (remove_from_group), (group_elements_set_visited),
+ (normalize_group), (gst_opt_scheduler_iterate):
+ Fix bug where a flag was not updated on a decoupled entry point
+ because we were just checking the group element list and decoupled
+ elements are not in that list..
+
2004-12-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* docs/manual/advanced-autoplugging.xml:
/* if the element was an entry point in the group, clear the group's
* entry point, and mark it as unknown */
if (group->entry == element) {
+ GST_DEBUG ("clearing element %p \"%s\" as entry from group %p",
+ element, GST_ELEMENT_NAME (element), group);
group->entry = NULL;
group->type = GST_OPT_SCHEDULER_GROUP_UNKNOWN;
}
GST_ELEMENT_UNSET_VISITED (element);
}
}
+ /* don't forget to set any decoupled entry points that are not accounted for in the
+ * element list (since they belong to two groups). */
+ if (group->entry) {
+ if (visited) {
+ GST_ELEMENT_SET_VISITED (group->entry);
+ } else {
+ GST_ELEMENT_UNSET_VISITED (group->entry);
+ }
+ }
}
static GList *