mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-08 15:32:32 +00:00
gst/schedulers/gstoptimalscheduler.c: Also ref/unref decoupled elements before iterating the group since they are not...
Original commit message from CVS: * gst/schedulers/gstoptimalscheduler.c: (add_to_group), (remove_from_group), (schedule_group), (normalize_group), (gst_opt_scheduler_iterate): Also ref/unref decoupled elements before iterating the group since they are not added to the list of elements.
This commit is contained in:
parent
341f45589c
commit
c6b82b338b
2 changed files with 18 additions and 1 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2005-01-17 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
|
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
|
||||||
|
(remove_from_group), (schedule_group), (normalize_group),
|
||||||
|
(gst_opt_scheduler_iterate):
|
||||||
|
Also ref/unref decoupled elements before iterating the
|
||||||
|
group since they are not added to the list of elements.
|
||||||
|
|
||||||
2005-01-17 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
2005-01-17 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
* docs/manual/highlevel-components.xml:
|
* docs/manual/highlevel-components.xml:
|
||||||
|
|
|
@ -1141,8 +1141,17 @@ schedule_group (GstOptSchedulerGroup * group)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
} else {
|
} else {
|
||||||
GSList *l, *lcopy;
|
GSList *l, *lcopy;
|
||||||
|
GstElement *entry = NULL;
|
||||||
|
|
||||||
lcopy = g_slist_copy (group->elements);
|
lcopy = g_slist_copy (group->elements);
|
||||||
|
/* also add entry point, this is made so that decoupled elements
|
||||||
|
* are also reffed since they are not added to the list of group
|
||||||
|
* elements. */
|
||||||
|
if (group->entry && GST_ELEMENT_IS_DECOUPLED (group->entry)) {
|
||||||
|
entry = group->entry;
|
||||||
|
gst_object_ref (GST_OBJECT (entry));
|
||||||
|
}
|
||||||
|
|
||||||
for (l = lcopy; l; l = l->next) {
|
for (l = lcopy; l; l = l->next) {
|
||||||
GstElement *e = (GstElement *) l->data;
|
GstElement *e = (GstElement *) l->data;
|
||||||
|
|
||||||
|
@ -1161,8 +1170,8 @@ schedule_group (GstOptSchedulerGroup * group)
|
||||||
|
|
||||||
gst_object_unref (GST_OBJECT (e));
|
gst_object_unref (GST_OBJECT (e));
|
||||||
}
|
}
|
||||||
|
gst_object_unref (GST_OBJECT (entry));
|
||||||
g_slist_free (lcopy);
|
g_slist_free (lcopy);
|
||||||
|
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue