From 7b3955e369d28b08a338b93ec8ed62631046e74e Mon Sep 17 00:00:00 2001 From: Zeeshan Ali Date: Fri, 8 Nov 2002 01:29:11 +0000 Subject: Trying to make udp plugins work Original commit message from CVS: Trying to make udp plugins work --- gst/udp/gstudpsink.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gst/udp/gstudpsink.c') diff --git a/gst/udp/gstudpsink.c b/gst/udp/gstudpsink.c index 4273dda6..a9059032 100644 --- a/gst/udp/gstudpsink.c +++ b/gst/udp/gstudpsink.c @@ -164,6 +164,16 @@ gst_udpsink_sinkconnect (GstPad *pad, GstCaps *caps) return GST_PAD_CONNECT_OK; } +static void +gst_udpsink_set_clock (GstElement *element, GstClock *clock) +{ + GstUDPSink *udpsink; + + udpsink = GST_UDPSINK (element); + + udpsink->clock = clock; +} + static void gst_udpsink_init (GstUDPSink *udpsink) { @@ -175,6 +185,10 @@ gst_udpsink_init (GstUDPSink *udpsink) udpsink->host = g_strdup (UDP_DEFAULT_HOST); udpsink->port = UDP_DEFAULT_PORT; + + udpsink->clock = NULL; + + GST_ELEMENT (udpsink)->setclockfunc = gst_udpsink_set_clock; } static void @@ -182,12 +196,18 @@ gst_udpsink_chain (GstPad *pad, GstBuffer *buf) { GstUDPSink *udpsink; int tolen; + GstClockTimeDiff *jitter = NULL; g_return_if_fail (pad != NULL); g_return_if_fail (GST_IS_PAD (pad)); g_return_if_fail (buf != NULL); udpsink = GST_UDPSINK (GST_OBJECT_PARENT (pad)); + + if (udpsink->clock) { + GST_DEBUG (0, "udpsink: clock wait: %llu\n", GST_BUFFER_TIMESTAMP (buf)); + gst_element_clock_wait (GST_ELEMENT (udpsink), udpsink->clock, GST_BUFFER_TIMESTAMP (buf), jitter); + } tolen = sizeof(udpsink->theiraddr); -- cgit