summaryrefslogtreecommitdiff
path: root/gst/gstscheduler.c
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2002-11-02 13:54:34 +0000
committerWim Taymans <wim.taymans@gmail.com>2002-11-02 13:54:34 +0000
commit91b824a34cdf8ec8e9c7f29a3be08e3d985c123b (patch)
treecba45b0296a5a4ce2e74c38b58580d9441b91161 /gst/gstscheduler.c
parent83380aa595a798969b1267c2e4fcf4990813ba09 (diff)
downloadgstreamer-91b824a34cdf8ec8e9c7f29a3be08e3d985c123b.tar.gz
- Reworked the clock to prepare for async notifications
Original commit message from CVS: - Reworked the clock to prepare for async notifications - moved some common scheduler checking to gstbin - added some vmethods to gstbin for future use - more fixes to the optimal scheduler - use new clock api in the schedulers
Diffstat (limited to 'gst/gstscheduler.c')
-rw-r--r--gst/gstscheduler.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gst/gstscheduler.c b/gst/gstscheduler.c
index 24b2d6faf5..e27c4155a7 100644
--- a/gst/gstscheduler.c
+++ b/gst/gstscheduler.c
@@ -566,6 +566,7 @@ gst_scheduler_set_clock (GstScheduler *sched, GstClock *clock)
GST_DEBUG (GST_CAT_CLOCK, "scheduler setting clock %p (%s) on element %s", clock,
(clock ? GST_OBJECT_NAME (clock) : "nil"), GST_ELEMENT_NAME (element));
+
gst_element_set_clock (element, clock);
receivers = g_list_next (receivers);
}
@@ -618,7 +619,11 @@ gst_scheduler_clock_wait (GstScheduler *sched, GstElement *element, GstClock *cl
if (CLASS (sched)->clock_wait)
return CLASS (sched)->clock_wait (sched, element, clock, time, jitter);
else
- return gst_clock_wait (clock, time, jitter);
+ {
+ GstClockID id = gst_clock_new_single_shot_id (clock, time);
+
+ return gst_clock_id_wait (id, jitter);
+ }
return GST_CLOCK_TIMEOUT;
}