mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-09 08:55:33 +00:00
gst/schedulers/gstoptimalscheduler.c: Remove some FIXMEs after analysing and commenting why they are not issues.
Original commit message from CVS: * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled), (schedule_chain), (get_invalid_call), (chain_invalid_call), (loop_group_schedule_function), (gst_opt_scheduler_iterate): Remove some FIXMEs after analysing and commenting why they are not issues.
This commit is contained in:
parent
f8114cc178
commit
186d11b516
2 changed files with 15 additions and 3 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2005-02-02 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
|
* gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
|
||||||
|
(schedule_chain), (get_invalid_call), (chain_invalid_call),
|
||||||
|
(loop_group_schedule_function), (gst_opt_scheduler_iterate):
|
||||||
|
Remove some FIXMEs after analysing and commenting why they
|
||||||
|
are not issues.
|
||||||
|
|
||||||
2005-02-02 Wim Taymans <wim@fluendo.com>
|
2005-02-02 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
* gst/schedulers/gstoptimalscheduler.c:
|
* gst/schedulers/gstoptimalscheduler.c:
|
||||||
|
|
|
@ -1309,7 +1309,9 @@ schedule_chain (GstOptSchedulerChain * chain)
|
||||||
sort_chain (chain);
|
sort_chain (chain);
|
||||||
GST_OPT_SCHEDULER_CHAIN_SET_CLEAN (chain);
|
GST_OPT_SCHEDULER_CHAIN_SET_CLEAN (chain);
|
||||||
|
|
||||||
/* FIXME handle the case where the groups change during scheduling */
|
/* since the lock on the group list is only released when we schedule
|
||||||
|
* a group and since we only schedule one group, we don't need to
|
||||||
|
* worry about the list getting corrupted. */
|
||||||
groups = chain->groups;
|
groups = chain->groups;
|
||||||
while (groups) {
|
while (groups) {
|
||||||
GstOptSchedulerGroup *group = (GstOptSchedulerGroup *) groups->data;
|
GstOptSchedulerGroup *group = (GstOptSchedulerGroup *) groups->data;
|
||||||
|
@ -1333,6 +1335,7 @@ schedule_chain (GstOptSchedulerChain * chain)
|
||||||
|
|
||||||
GST_LOG ("done scheduling group %p in chain %p", group, chain);
|
GST_LOG ("done scheduling group %p in chain %p", group, chain);
|
||||||
unref_group (group);
|
unref_group (group);
|
||||||
|
/* stop scheduling more groups */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2774,8 +2777,7 @@ gst_opt_scheduler_iterate (GstScheduler * sched)
|
||||||
gboolean scheduled = FALSE;
|
gboolean scheduled = FALSE;
|
||||||
GSList *chains;
|
GSList *chains;
|
||||||
|
|
||||||
/* we have to schedule each of the scheduler chains now.
|
/* we have to schedule each of the scheduler chains now. */
|
||||||
* FIXME handle the case where the chains change during iterations. */
|
|
||||||
chains = osched->chains;
|
chains = osched->chains;
|
||||||
while (chains) {
|
while (chains) {
|
||||||
GstOptSchedulerChain *chain = (GstOptSchedulerChain *) chains->data;
|
GstOptSchedulerChain *chain = (GstOptSchedulerChain *) chains->data;
|
||||||
|
@ -2801,6 +2803,8 @@ gst_opt_scheduler_iterate (GstScheduler * sched)
|
||||||
osched->state = GST_OPT_SCHEDULER_STATE_RUNNING;
|
osched->state = GST_OPT_SCHEDULER_STATE_RUNNING;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* grab the next chain before we unref, the list we are iterating
|
||||||
|
* can only be updated in the unref method */
|
||||||
chains = g_slist_next (chains);
|
chains = g_slist_next (chains);
|
||||||
unref_chain (chain);
|
unref_chain (chain);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue