mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
gst/schedulers/gstoptimalscheduler.c: Do not try to migrate decoupled elements to a new group since they are not adde...
Original commit message from CVS: * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_pad_link), (group_elements_set_visited), (element_get_reachables_func), (element_get_reachables), (debug_element), (rechain_group), (group_migrate_connected), (gst_opt_scheduler_pad_unlink): Do not try to migrate decoupled elements to a new group since they are not added to groups.
This commit is contained in:
parent
87de7f9dcc
commit
19fac086bf
2 changed files with 24 additions and 1 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
2004-07-09 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
|
* gst/schedulers/gstoptimalscheduler.c:
|
||||||
|
(gst_opt_scheduler_pad_link), (group_elements_set_visited),
|
||||||
|
(element_get_reachables_func), (element_get_reachables),
|
||||||
|
(debug_element), (rechain_group), (group_migrate_connected),
|
||||||
|
(gst_opt_scheduler_pad_unlink):
|
||||||
|
Do not try to migrate decoupled elements to a new group since
|
||||||
|
they are not added to groups.
|
||||||
|
|
||||||
2004-07-08 Benjamin Otte <otte@gnome.org>
|
2004-07-08 Benjamin Otte <otte@gnome.org>
|
||||||
|
|
||||||
* gst/gstelement.c: (gst_element_error_func):
|
* gst/gstelement.c: (gst_element_error_func):
|
||||||
|
|
|
@ -2275,15 +2275,28 @@ group_migrate_connected (GstOptScheduler * osched, GstElement * element,
|
||||||
GList *connected, *c;
|
GList *connected, *c;
|
||||||
GstOptSchedulerGroup *new_group = NULL;
|
GstOptSchedulerGroup *new_group = NULL;
|
||||||
GstOptSchedulerChain *chain;
|
GstOptSchedulerChain *chain;
|
||||||
|
gint len;
|
||||||
|
|
||||||
|
if (GST_ELEMENT_IS_DECOUPLED (element)) {
|
||||||
|
/* the element is decoupled and is therefore not in the group */
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
GST_LOG ("migrate connected elements to new group");
|
GST_LOG ("migrate connected elements to new group");
|
||||||
connected = element_get_reachables (element, group, brokenpad);
|
connected = element_get_reachables (element, group, brokenpad);
|
||||||
GST_LOG ("elements to move to new group:");
|
GST_LOG ("elements to move to new group:");
|
||||||
g_list_foreach (connected, (GFunc) debug_element, NULL);
|
g_list_foreach (connected, (GFunc) debug_element, NULL);
|
||||||
|
|
||||||
if (g_list_length (connected) == 1) {
|
len = g_list_length (connected);
|
||||||
|
|
||||||
|
if (len == 0) {
|
||||||
|
g_warning ("(internal error) found lost element %s",
|
||||||
|
gst_element_get_name (element));
|
||||||
|
return NULL;
|
||||||
|
} else if (len == 1) {
|
||||||
remove_from_group (group, GST_ELEMENT (connected->data));
|
remove_from_group (group, GST_ELEMENT (connected->data));
|
||||||
GST_LOG ("not migrating to new group as the group is empty");
|
GST_LOG ("not migrating to new group as the group is empty");
|
||||||
|
g_list_free (connected);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue