summaryrefslogtreecommitdiffstats
path: root/gst/udp/gstudpsink.c
diff options
context:
space:
mode:
authorZeeshan Ali <zeenix@gmail.com>2002-11-08 01:29:11 +0000
committerZeeshan Ali <zeenix@gmail.com>2002-11-08 01:29:11 +0000
commit7b3955e369d28b08a338b93ec8ed62631046e74e (patch)
tree1bd7d17cdb16692a41289dc2515ab4615ea351ce /gst/udp/gstudpsink.c
parent7da598dde5793000536a27b9f9aad537069c3ac6 (diff)
Trying to make udp plugins work
Original commit message from CVS: Trying to make udp plugins work
Diffstat (limited to 'gst/udp/gstudpsink.c')
-rw-r--r--gst/udp/gstudpsink.c20
1 files changed, 20 insertions, 0 deletions
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
@@ -165,6 +165,16 @@ gst_udpsink_sinkconnect (GstPad *pad, GstCaps *caps)
}
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)
{
/* create the sink and src pads */
@@ -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);