diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2002-02-03 20:10:04 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2002-02-03 20:10:04 +0000 |
commit | 98ffdface2db429656b2f7b8f3cc5a301d498d75 (patch) | |
tree | c2fc0ab1a9ddb064f573cf57263ed10a4d52a334 /ext/aalib | |
parent | 2679c67d40a8641798f27e0a02562f8869293962 (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.c | 26 |
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, |