From 98ffdface2db429656b2f7b8f3cc5a301d498d75 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Sun, 3 Feb 2002 20:10:04 +0000 Subject: Assorted fixes. Original commit message from CVS: Assorted fixes. Use the new clocking stuff. --- ext/aalib/gstaasink.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'ext') 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 @@ -255,6 +255,14 @@ gst_aasink_sinkconnect (GstPad *pad, GstCaps *caps) return GST_PAD_CONNECT_OK; } +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) { @@ -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, -- cgit