summaryrefslogtreecommitdiffstats
path: root/ext/aalib
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2002-02-03 20:10:04 +0000
committerWim Taymans <wim.taymans@gmail.com>2002-02-03 20:10:04 +0000
commit98ffdface2db429656b2f7b8f3cc5a301d498d75 (patch)
treec2fc0ab1a9ddb064f573cf57263ed10a4d52a334 /ext/aalib
parent2679c67d40a8641798f27e0a02562f8869293962 (diff)
Assorted fixes.
Original commit message from CVS: Assorted fixes. Use the new clocking stuff.
Diffstat (limited to 'ext/aalib')
-rw-r--r--ext/aalib/gstaasink.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/ext/aalib/gstaasink.c b/ext/aalib/gstaasink.c
index 7d41010e..2e2d1dd2 100644
--- a/ext/aalib/gstaasink.c
+++ b/ext/aalib/gstaasink.c
@@ -256,6 +256,14 @@ gst_aasink_sinkconnect (GstPad *pad, GstCaps *caps)
}
static void
+gst_aasink_set_clock (GstElement *element, GstClock *clock)
+{
+ GstAASink *aasink = GST_AASINK (element);
+
+ aasink->clock = clock;
+}
+
+static void
gst_aasink_init (GstAASink *aasink)
{
aasink->sinkpad = gst_pad_new_from_template (
@@ -264,9 +272,6 @@ gst_aasink_init (GstAASink *aasink)
gst_pad_set_chain_function (aasink->sinkpad, gst_aasink_chain);
gst_pad_set_connect_function (aasink->sinkpad, gst_aasink_sinkconnect);
- aasink->clock = gst_clock_get_system();
- gst_clock_register(aasink->clock, GST_OBJECT(aasink));
-
memcpy(&aasink->ascii_surf, &aa_defparams, sizeof (struct aa_hardware_params));
aasink->ascii_parms.bright = 0;
aasink->ascii_parms.contrast = 16;
@@ -279,6 +284,9 @@ gst_aasink_init (GstAASink *aasink)
aasink->width = -1;
aasink->height = -1;
+ aasink->clock = NULL;
+ GST_ELEMENT (aasink)->setclockfunc = gst_aasink_set_clock;
+
GST_FLAG_SET(aasink, GST_ELEMENT_THREAD_SUGGESTED);
}
@@ -324,7 +332,6 @@ static void
gst_aasink_chain (GstPad *pad, GstBuffer *buf)
{
GstAASink *aasink;
- GstClockTimeDiff jitter;
g_return_if_fail (pad != NULL);
g_return_if_fail (GST_IS_PAD (pad));
@@ -342,15 +349,8 @@ gst_aasink_chain (GstPad *pad, GstBuffer *buf)
GST_DEBUG (0,"videosink: clock wait: %llu\n", GST_BUFFER_TIMESTAMP(buf));
- jitter = gst_clock_current_diff(aasink->clock, GST_BUFFER_TIMESTAMP (buf));
-
- if (jitter > 500000 || jitter < -500000)
- {
- GST_DEBUG (0, "jitter: %lld\n", jitter);
- gst_clock_set (aasink->clock, GST_BUFFER_TIMESTAMP (buf));
- }
- else {
- gst_clock_wait(aasink->clock, GST_BUFFER_TIMESTAMP(buf), GST_OBJECT(aasink));
+ if (aasink->clock) {
+ gst_element_clock_wait (GST_ELEMENT (aasink), aasink->clock, GST_BUFFER_TIMESTAMP(buf));
}
aa_render (aasink->context, &aasink->ascii_parms,