summaryrefslogtreecommitdiffstats
path: root/gst/udp
diff options
context:
space:
mode:
authorThomas Vander Stichele <thomas@apestaart.org>2004-03-14 22:34:33 +0000
committerThomas Vander Stichele <thomas@apestaart.org>2004-03-14 22:34:33 +0000
commit5d25c00e4b613b9cdf2c04fa3a68dffa03834a68 (patch)
tree74a5b1eaf3a324b520e64e87404fd0b3018a7829 /gst/udp
parent1e83b097f7b732ae49e294a5a398bdc3e88854a8 (diff)
gst-indent
Original commit message from CVS: gst-indent
Diffstat (limited to 'gst/udp')
-rw-r--r--gst/udp/gstudp.c23
-rw-r--r--gst/udp/gstudp.h5
-rw-r--r--gst/udp/gstudpsink.c325
-rw-r--r--gst/udp/gstudpsink.h62
-rw-r--r--gst/udp/gstudpsrc.c341
-rw-r--r--gst/udp/gstudpsrc.h60
6 files changed, 417 insertions, 399 deletions
diff --git a/gst/udp/gstudp.c b/gst/udp/gstudp.c
index b98e6129..1192f6d7 100644
--- a/gst/udp/gstudp.c
+++ b/gst/udp/gstudp.c
@@ -25,25 +25,20 @@
#include "gstudpsink.h"
static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
{
- if (!gst_element_register (plugin, "udpsink", GST_RANK_NONE, GST_TYPE_UDPSINK))
+ if (!gst_element_register (plugin, "udpsink", GST_RANK_NONE,
+ GST_TYPE_UDPSINK))
return FALSE;
-
+
if (!gst_element_register (plugin, "udpsrc", GST_RANK_NONE, GST_TYPE_UDPSRC))
return FALSE;
return TRUE;
}
-GST_PLUGIN_DEFINE (
- GST_VERSION_MAJOR,
- GST_VERSION_MINOR,
- "udp",
- "transfer data via UDP",
- plugin_init,
- VERSION,
- GST_LICENSE,
- GST_PACKAGE,
- GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+ GST_VERSION_MINOR,
+ "udp",
+ "transfer data via UDP",
+ plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
diff --git a/gst/udp/gstudp.h b/gst/udp/gstudp.h
index 89103e93..e5fda050 100644
--- a/gst/udp/gstudp.h
+++ b/gst/udp/gstudp.h
@@ -36,7 +36,6 @@ extern "C"
#ifdef __cplusplus
}
-#endif /* __cplusplus */
-
-#endif /* __GST_UDP_H__ */
+#endif /* __cplusplus */
+#endif /* __GST_UDP_H__ */
diff --git a/gst/udp/gstudpsink.c b/gst/udp/gstudpsink.c
index 86238af2..af365613 100644
--- a/gst/udp/gstudpsink.c
+++ b/gst/udp/gstudpsink.c
@@ -28,32 +28,34 @@
#define UDP_DEFAULT_CONTROL 1
/* elementfactory information */
-static GstElementDetails gst_udpsink_details = GST_ELEMENT_DETAILS (
- "UDP packet sender",
- "Sink/Network",
- "Send data over the network via UDP",
- "Wim Taymans <wim.taymans@chello.be>"
-);
+static GstElementDetails gst_udpsink_details =
+GST_ELEMENT_DETAILS ("UDP packet sender",
+ "Sink/Network",
+ "Send data over the network via UDP",
+ "Wim Taymans <wim.taymans@chello.be>");
/* UDPSink signals and args */
-enum {
+enum
+{
FRAME_ENCODED,
/* FILL ME */
LAST_SIGNAL
};
-enum {
+enum
+{
ARG_0,
ARG_HOST,
ARG_PORT,
ARG_CONTROL,
ARG_MTU
- /* FILL ME */
+ /* FILL ME */
};
#define GST_TYPE_UDPSINK_CONTROL (gst_udpsink_control_get_type())
static GType
-gst_udpsink_control_get_type(void) {
+gst_udpsink_control_get_type (void)
+{
static GType udpsink_control_type = 0;
static GEnumValue udpsink_control[] = {
{CONTROL_NONE, "1", "none"},
@@ -62,27 +64,29 @@ gst_udpsink_control_get_type(void) {
{CONTROL_ZERO, NULL, NULL},
};
if (!udpsink_control_type) {
- udpsink_control_type = g_enum_register_static("GstUDPSinkControl", udpsink_control);
+ udpsink_control_type =
+ g_enum_register_static ("GstUDPSinkControl", udpsink_control);
}
return udpsink_control_type;
}
-static void gst_udpsink_base_init (gpointer g_class);
-static void gst_udpsink_class_init (GstUDPSink *klass);
-static void gst_udpsink_init (GstUDPSink *udpsink);
+static void gst_udpsink_base_init (gpointer g_class);
+static void gst_udpsink_class_init (GstUDPSink * klass);
+static void gst_udpsink_init (GstUDPSink * udpsink);
-static void gst_udpsink_set_clock (GstElement *element, GstClock *clock);
+static void gst_udpsink_set_clock (GstElement * element, GstClock * clock);
-static void gst_udpsink_chain (GstPad *pad,GstData *_data);
-static GstElementStateReturn gst_udpsink_change_state (GstElement *element);
+static void gst_udpsink_chain (GstPad * pad, GstData * _data);
+static GstElementStateReturn gst_udpsink_change_state (GstElement * element);
-static void gst_udpsink_set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec);
-static void gst_udpsink_get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec);
+static void gst_udpsink_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec);
+static void gst_udpsink_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec);
static GstElementClass *parent_class = NULL;
+
/*static guint gst_udpsink_signals[LAST_SIGNAL] = { 0 }; */
GType
@@ -92,18 +96,20 @@ gst_udpsink_get_type (void)
if (!udpsink_type) {
static const GTypeInfo udpsink_info = {
- sizeof(GstUDPSinkClass),
+ sizeof (GstUDPSinkClass),
gst_udpsink_base_init,
NULL,
- (GClassInitFunc)gst_udpsink_class_init,
+ (GClassInitFunc) gst_udpsink_class_init,
NULL,
NULL,
- sizeof(GstUDPSink),
+ sizeof (GstUDPSink),
0,
- (GInstanceInitFunc)gst_udpsink_init,
+ (GInstanceInitFunc) gst_udpsink_init,
NULL
};
- udpsink_type = g_type_register_static (GST_TYPE_ELEMENT, "GstUDPSink", &udpsink_info, 0);
+ udpsink_type =
+ g_type_register_static (GST_TYPE_ELEMENT, "GstUDPSink", &udpsink_info,
+ 0);
}
return udpsink_type;
}
@@ -117,29 +123,27 @@ gst_udpsink_base_init (gpointer g_class)
}
static void
-gst_udpsink_class_init (GstUDPSink *klass)
+gst_udpsink_class_init (GstUDPSink * klass)
{
GObjectClass *gobject_class;
GstElementClass *gstelement_class;
- gobject_class = (GObjectClass*) klass;
- gstelement_class = (GstElementClass*) klass;
+ gobject_class = (GObjectClass *) klass;
+ gstelement_class = (GstElementClass *) klass;
parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_HOST,
- g_param_spec_string ("host", "host",
- "The host/IP/Multicast group to send the packets to",
- UDP_DEFAULT_HOST, G_PARAM_READWRITE));
+ g_param_spec_string ("host", "host",
+ "The host/IP/Multicast group to send the packets to",
+ UDP_DEFAULT_HOST, G_PARAM_READWRITE));
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PORT,
- g_param_spec_int ("port", "port", "The port to send the packets to",
- 0, 32768, UDP_DEFAULT_PORT, G_PARAM_READWRITE));
+ g_param_spec_int ("port", "port", "The port to send the packets to",
+ 0, 32768, UDP_DEFAULT_PORT, G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, ARG_CONTROL,
- g_param_spec_enum ("control", "control", "The type of control",
- GST_TYPE_UDPSINK_CONTROL, CONTROL_UDP, G_PARAM_READWRITE));
- g_object_class_install_property (gobject_class, ARG_MTU,
- g_param_spec_int ("mtu", "mtu", "maximun transmit unit", G_MININT, G_MAXINT,
- 0, G_PARAM_READWRITE)); /* CHECKME */
+ g_param_spec_enum ("control", "control", "The type of control",
+ GST_TYPE_UDPSINK_CONTROL, CONTROL_UDP, G_PARAM_READWRITE));
+ g_object_class_install_property (gobject_class, ARG_MTU, g_param_spec_int ("mtu", "mtu", "maximun transmit unit", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); /* CHECKME */
gobject_class->set_property = gst_udpsink_set_property;
gobject_class->get_property = gst_udpsink_get_property;
@@ -150,7 +154,7 @@ gst_udpsink_class_init (GstUDPSink *klass)
static GstPadLinkReturn
-gst_udpsink_sink_link (GstPad *pad, const GstCaps *caps)
+gst_udpsink_sink_link (GstPad * pad, const GstCaps * caps)
{
GstUDPSink *udpsink;
struct sockaddr_in serv_addr;
@@ -158,27 +162,28 @@ gst_udpsink_sink_link (GstPad *pad, const GstCaps *caps)
int fd;
FILE *f;
guint bc_val;
+
#ifndef GST_DISABLE_LOADSAVE
xmlDocPtr doc;
xmlChar *buf;
int buf_size;
udpsink = GST_UDPSINK (gst_pad_get_parent (pad));
-
- memset(&serv_addr, 0, sizeof(serv_addr));
-
+
+ memset (&serv_addr, 0, sizeof (serv_addr));
+
/* its a name rather than an ipnum */
- serverhost = gethostbyname(udpsink->host);
- if (serverhost == (struct hostent *)0) {
- perror("gethostbyname");
- return GST_PAD_LINK_REFUSED;
+ serverhost = gethostbyname (udpsink->host);
+ if (serverhost == (struct hostent *) 0) {
+ perror ("gethostbyname");
+ return GST_PAD_LINK_REFUSED;
}
-
- memmove(&serv_addr.sin_addr,serverhost->h_addr, serverhost->h_length);
+
+ memmove (&serv_addr.sin_addr, serverhost->h_addr, serverhost->h_length);
serv_addr.sin_family = AF_INET;
- serv_addr.sin_port = htons(udpsink->port+1);
-
+ serv_addr.sin_port = htons (udpsink->port + 1);
+
doc = xmlNewDoc ("1.0");
doc->xmlRootNode = xmlNewDocNode (doc, NULL, "NewCaps", NULL);
@@ -186,66 +191,66 @@ gst_udpsink_sink_link (GstPad *pad, const GstCaps *caps)
switch (udpsink->control) {
case CONTROL_UDP:
- if ((fd = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
- perror("socket");
- return GST_PAD_LINK_REFUSED;
- }
-
- /* We can only do broadcast in udp */
- bc_val = 1;
- setsockopt (fd,SOL_SOCKET, SO_BROADCAST, &bc_val, sizeof (bc_val));
-
- xmlDocDumpMemory(doc, &buf, &buf_size);
-
- if (sendto (fd, buf, buf_size, 0, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) == -1)
- {
- perror("sending");
- return GST_PAD_LINK_REFUSED;
- }
- close (fd);
- break;
+ if ((fd = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
+ perror ("socket");
+ return GST_PAD_LINK_REFUSED;
+ }
+
+ /* We can only do broadcast in udp */
+ bc_val = 1;
+ setsockopt (fd, SOL_SOCKET, SO_BROADCAST, &bc_val, sizeof (bc_val));
+
+ xmlDocDumpMemory (doc, &buf, &buf_size);
+
+ if (sendto (fd, buf, buf_size, 0, (struct sockaddr *) &serv_addr,
+ sizeof (serv_addr)) == -1) {
+ perror ("sending");
+ return GST_PAD_LINK_REFUSED;
+ }
+ close (fd);
+ break;
case CONTROL_TCP:
- if ((fd = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {
- perror("socket");
- return GST_PAD_LINK_REFUSED;
- }
-
- if (connect(fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) != 0) {
- g_printerr ("udpsink: connect to %s port %d failed: %s\n",
- udpsink->host, udpsink->port, g_strerror(errno));
- return GST_PAD_LINK_REFUSED;
- }
-
- f = fdopen (dup (fd), "wb");
-
- xmlDocDump(f, doc);
- fclose (f);
- close (fd);
- break;
+ if ((fd = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {
+ perror ("socket");
+ return GST_PAD_LINK_REFUSED;
+ }
+
+ if (connect (fd, (struct sockaddr *) &serv_addr, sizeof (serv_addr)) != 0) {
+ g_printerr ("udpsink: connect to %s port %d failed: %s\n",
+ udpsink->host, udpsink->port, g_strerror (errno));
+ return GST_PAD_LINK_REFUSED;
+ }
+
+ f = fdopen (dup (fd), "wb");
+
+ xmlDocDump (f, doc);
+ fclose (f);
+ close (fd);
+ break;
case CONTROL_NONE:
- return GST_PAD_LINK_OK;
- break;
+ return GST_PAD_LINK_OK;
+ break;
default:
- return GST_PAD_LINK_REFUSED;
- break;
+ return GST_PAD_LINK_REFUSED;
+ break;
}
#endif
-
+
return GST_PAD_LINK_OK;
}
static void
-gst_udpsink_set_clock (GstElement *element, GstClock *clock)
+gst_udpsink_set_clock (GstElement * element, GstClock * clock)
{
GstUDPSink *udpsink;
-
+
udpsink = GST_UDPSINK (element);
udpsink->clock = clock;
}
static void
-gst_udpsink_init (GstUDPSink *udpsink)
+gst_udpsink_init (GstUDPSink * udpsink)
{
/* create the sink and src pads */
udpsink->sinkpad = gst_pad_new ("sink", GST_PAD_SINK);
@@ -257,12 +262,12 @@ gst_udpsink_init (GstUDPSink *udpsink)
udpsink->port = UDP_DEFAULT_PORT;
udpsink->control = CONTROL_UDP;
udpsink->mtu = 1024;
-
+
udpsink->clock = NULL;
}
static void
-gst_udpsink_chain (GstPad *pad, GstData *_data)
+gst_udpsink_chain (GstPad * pad, GstData * _data)
{
GstBuffer *buf = GST_BUFFER (_data);
GstUDPSink *udpsink;
@@ -273,63 +278,64 @@ gst_udpsink_chain (GstPad *pad, GstData *_data)
g_return_if_fail (buf != NULL);
udpsink = GST_UDPSINK (GST_OBJECT_PARENT (pad));
-
+
if (udpsink->clock && GST_BUFFER_TIMESTAMP_IS_VALID (buf)) {
gst_element_wait (GST_ELEMENT (udpsink), GST_BUFFER_TIMESTAMP (buf));
}
-
- tolen = sizeof(udpsink->theiraddr);
-
- /*
- if (sendto (udpsink->sock, GST_BUFFER_DATA (buf),
- GST_BUFFER_SIZE (buf), 0, (struct sockaddr *) &udpsink->theiraddr,
- tolen) == -1) {
- perror("sending");
- }
-*/
- /* MTU */
+
+ tolen = sizeof (udpsink->theiraddr);
+
+ /*
+ if (sendto (udpsink->sock, GST_BUFFER_DATA (buf),
+ GST_BUFFER_SIZE (buf), 0, (struct sockaddr *) &udpsink->theiraddr,
+ tolen) == -1) {
+ perror("sending");
+ }
+ */
+ /* MTU */
for (i = 0; i < GST_BUFFER_SIZE (buf); i += udpsink->mtu) {
if (GST_BUFFER_SIZE (buf) - i > udpsink->mtu) {
- if (sendto (udpsink->sock, GST_BUFFER_DATA (buf) + i,
- udpsink->mtu, 0, (struct sockaddr *) &udpsink->theiraddr,
- tolen) == -1) {
- perror("sending");
- }
- }
- else {
- if (sendto (udpsink->sock, GST_BUFFER_DATA (buf) + i,
- GST_BUFFER_SIZE (buf) -i, 0,
- (struct sockaddr *) &udpsink->theiraddr, tolen) == -1) {
- perror("sending");
- }
+ if (sendto (udpsink->sock, GST_BUFFER_DATA (buf) + i,
+ udpsink->mtu, 0, (struct sockaddr *) &udpsink->theiraddr,
+ tolen) == -1) {
+ perror ("sending");
+ }
+ } else {
+ if (sendto (udpsink->sock, GST_BUFFER_DATA (buf) + i,
+ GST_BUFFER_SIZE (buf) - i, 0,
+ (struct sockaddr *) &udpsink->theiraddr, tolen) == -1) {
+ perror ("sending");
+ }
}
}
- gst_buffer_unref(buf);
+ gst_buffer_unref (buf);
}
static void
-gst_udpsink_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_udpsink_set_property (GObject * object, guint prop_id, const GValue * value,
+ GParamSpec * pspec)
{
GstUDPSink *udpsink;
/* it's not null if we got it, but it might not be ours */
- g_return_if_fail(GST_IS_UDPSINK(object));
- udpsink = GST_UDPSINK(object);
+ g_return_if_fail (GST_IS_UDPSINK (object));
+ udpsink = GST_UDPSINK (object);
switch (prop_id) {
case ARG_HOST:
- if (udpsink->host != NULL) g_free(udpsink->host);
+ if (udpsink->host != NULL)
+ g_free (udpsink->host);
if (g_value_get_string (value) == NULL)
- udpsink->host = NULL;
+ udpsink->host = NULL;
else
- udpsink->host = g_strdup (g_value_get_string (value));
+ udpsink->host = g_strdup (g_value_get_string (value));
break;
case ARG_PORT:
- udpsink->port = g_value_get_int (value);
+ udpsink->port = g_value_get_int (value);
break;
case ARG_CONTROL:
- udpsink->control = g_value_get_enum (value);
+ udpsink->control = g_value_get_enum (value);
break;
case ARG_MTU:
udpsink->mtu = g_value_get_int (value);
@@ -340,13 +346,14 @@ gst_udpsink_set_property (GObject *object, guint prop_id, const GValue *value, G
}
static void
-gst_udpsink_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_udpsink_get_property (GObject * object, guint prop_id, GValue * value,
+ GParamSpec * pspec)
{
GstUDPSink *udpsink;
/* it's not null if we got it, but it might not be ours */
- g_return_if_fail(GST_IS_UDPSINK(object));
- udpsink = GST_UDPSINK(object);
+ g_return_if_fail (GST_IS_UDPSINK (object));
+ udpsink = GST_UDPSINK (object);
switch (prop_id) {
case ARG_HOST:
@@ -370,67 +377,66 @@ gst_udpsink_get_property (GObject *object, guint prop_id, GValue *value, GParamS
/* create a socket for sending to remote machine */
static gboolean
-gst_udpsink_init_send (GstUDPSink *sink)
+gst_udpsink_init_send (GstUDPSink * sink)
{
struct hostent *he;
struct in_addr addr;
guint bc_val;
memset (&sink->theiraddr, 0, sizeof (sink->theiraddr));
- sink->theiraddr.sin_family = AF_INET; /* host byte order */
- sink->theiraddr.sin_port = htons (sink->port); /* short, network byte order */
+ sink->theiraddr.sin_family = AF_INET; /* host byte order */
+ sink->theiraddr.sin_port = htons (sink->port); /* short, network byte order */
/* if its an IP address */
if (inet_aton (sink->host, &addr)) {
/* check if its a multicast address */
if ((ntohl (addr.s_addr) & 0xe0000000) == 0xe0000000) {
- sink->multi_addr.imr_multiaddr.s_addr = addr.s_addr;
- sink->multi_addr.imr_interface.s_addr = INADDR_ANY;
-
- sink->theiraddr.sin_addr = sink->multi_addr.imr_multiaddr;
-
- /* Joining the multicast group */
- setsockopt (sink->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &sink->multi_addr, sizeof(sink->multi_addr));
+ sink->multi_addr.imr_multiaddr.s_addr = addr.s_addr;
+ sink->multi_addr.imr_interface.s_addr = INADDR_ANY;
+
+ sink->theiraddr.sin_addr = sink->multi_addr.imr_multiaddr;
+
+ /* Joining the multicast group */
+ setsockopt (sink->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &sink->multi_addr,
+ sizeof (sink->multi_addr));
}
-
+
else {
- sink->theiraddr.sin_addr =
- *((struct in_addr *) &addr);
+ sink->theiraddr.sin_addr = *((struct in_addr *) &addr);
}
}
-
+
/* we dont need to lookup for localhost */
- else if (strcmp (sink->host, UDP_DEFAULT_HOST) == 0 &&
- inet_aton ("127.0.0.1", &addr)) {
- sink->theiraddr.sin_addr =
- *((struct in_addr *) &addr);
+ else if (strcmp (sink->host, UDP_DEFAULT_HOST) == 0 &&
+ inet_aton ("127.0.0.1", &addr)) {
+ sink->theiraddr.sin_addr = *((struct in_addr *) &addr);
}
/* if its a hostname */
else if ((he = gethostbyname (sink->host))) {
sink->theiraddr.sin_addr = *((struct in_addr *) he->h_addr);
}
-
+
else {
- perror("hostname lookup error?");
- return FALSE;
+ perror ("hostname lookup error?");
+ return FALSE;
}
if ((sink->sock = socket (AF_INET, SOCK_DGRAM, 0)) == -1) {
- perror("socket");
- return FALSE;
+ perror ("socket");
+ return FALSE;
}
bc_val = 1;
setsockopt (sink->sock, SOL_SOCKET, SO_BROADCAST, &bc_val, sizeof (bc_val));
-
+
GST_FLAG_SET (sink, GST_UDPSINK_OPEN);
return TRUE;
}
static void
-gst_udpsink_close (GstUDPSink *sink)
+gst_udpsink_close (GstUDPSink * sink)
{
close (sink->sock);
@@ -438,7 +444,7 @@ gst_udpsink_close (GstUDPSink *sink)
}
static GstElementStateReturn
-gst_udpsink_change_state (GstElement *element)
+gst_udpsink_change_state (GstElement * element)
{
g_return_val_if_fail (GST_IS_UDPSINK (element), GST_STATE_FAILURE);
@@ -448,7 +454,7 @@ gst_udpsink_change_state (GstElement *element)
} else {
if (!GST_FLAG_IS_SET (element, GST_UDPSINK_OPEN)) {
if (!gst_udpsink_init_send (GST_UDPSINK (element)))
- return GST_STATE_FAILURE;
+ return GST_STATE_FAILURE;
}
}
@@ -457,4 +463,3 @@ gst_udpsink_change_state (GstElement *element)
return GST_STATE_SUCCESS;
}
-
diff --git a/gst/udp/gstudpsink.h b/gst/udp/gstudpsink.h
index f49b4efe..9a08f709 100644
--- a/gst/udp/gstudpsink.h
+++ b/gst/udp/gstudpsink.h
@@ -25,8 +25,9 @@
#include <gst/gst.h>
#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif /* __cplusplus */
#include <stdio.h>
#include <stdlib.h>
@@ -54,45 +55,48 @@ extern "C" {
#define GST_IS_UDPSINK_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_UDPSINK))
-typedef struct _GstUDPSink GstUDPSink;
-typedef struct _GstUDPSinkClass GstUDPSinkClass;
+ typedef struct _GstUDPSink GstUDPSink;
+ typedef struct _GstUDPSinkClass GstUDPSinkClass;
-typedef enum {
- GST_UDPSINK_OPEN = GST_ELEMENT_FLAG_LAST,
+ typedef enum
+ {
+ GST_UDPSINK_OPEN = GST_ELEMENT_FLAG_LAST,
- GST_UDPSINK_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
-} GstUDPSinkFlags;
+ GST_UDPSINK_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
+ } GstUDPSinkFlags;
-struct _GstUDPSink {
- GstElement element;
+ struct _GstUDPSink
+ {
+ GstElement element;
- /* pads */
- GstPad *sinkpad,*srcpad;
+ /* pads */
+ GstPad *sinkpad, *srcpad;
- int sock;
- struct sockaddr_in theiraddr;
- struct ip_mreq multi_addr;
+ int sock;
+ struct sockaddr_in theiraddr;
+ struct ip_mreq multi_addr;
- gint port;
- Gst_UDP_Control control;
- gchar *host;
-
- guint mtu;
-
- GstClock *clock;
-};
+ gint port;
+ Gst_UDP_Control control;
+ gchar *host;
-struct _GstUDPSinkClass {
- GstElementClass parent_class;
+ guint mtu;
-};
+ GstClock *clock;
+ };
-GType gst_udpsink_get_type(void);
+ struct _GstUDPSinkClass
+ {
+ GstElementClass parent_class;
+
+ };
+
+ GType gst_udpsink_get_type (void);
#ifdef __cplusplus
}
-#endif /* __cplusplus */
+#endif /* __cplusplus */
-#endif /* __GST_UDPSINK_H__ */
+#endif /* __GST_UDPSINK_H__ */
diff --git a/gst/udp/gstudpsrc.c b/gst/udp/gstudpsrc.c
index 66bcd268..48e00862 100644
--- a/gst/udp/gstudpsrc.c
+++ b/gst/udp/gstudpsrc.c
@@ -29,30 +29,32 @@
#define UDP_DEFAULT_MULTICAST_GROUP "0.0.0.0"
/* elementfactory information */
-static GstElementDetails gst_udpsrc_details = GST_ELEMENT_DETAILS (
- "UDP packet receiver",
- "Source/Network",
- "Receive data over the network via UDP",
- "Wim Taymans <wim.taymans@chello.be>"
-);
+static GstElementDetails gst_udpsrc_details =
+GST_ELEMENT_DETAILS ("UDP packet receiver",
+ "Source/Network",
+ "Receive data over the network via UDP",
+ "Wim Taymans <wim.taymans@chello.be>");
/* UDPSrc signals and args */
-enum {
+enum
+{
/* FILL ME */
LAST_SIGNAL
};
-enum {
+enum
+{
ARG_0,
ARG_PORT,
ARG_CONTROL,
ARG_MULTICAST_GROUP
- /* FILL ME */
+ /* FILL ME */
};
#define GST_TYPE_UDPSRC_CONTROL (gst_udpsrc_control_get_type())
static GType
-gst_udpsrc_control_get_type(void) {
+gst_udpsrc_control_get_type (void)
+{
static GType udpsrc_control_type = 0;
static GEnumValue udpsrc_control[] = {
{CONTROL_NONE, "1", "none"},
@@ -61,26 +63,27 @@ gst_udpsrc_control_get_type(void) {
{CONTROL_ZERO, NULL, NULL},
};
if (!udpsrc_control_type) {
- udpsrc_control_type = g_enum_register_static("GstUDPSrcControl", udpsrc_control);
+ udpsrc_control_type =
+ g_enum_register_static ("GstUDPSrcControl", udpsrc_control);
}
return udpsrc_control_type;
}
-static void gst_udpsrc_base_init (gpointer g_class);
-static void gst_udpsrc_class_init (GstUDPSrc *klass);
-static void gst_udpsrc_init (GstUDPSrc *udpsrc);
+static void gst_udpsrc_base_init (gpointer g_class);
+static void gst_udpsrc_class_init (GstUDPSrc * klass);
+static void gst_udpsrc_init (GstUDPSrc * udpsrc);
-static GstData* gst_udpsrc_get (GstPad *pad);
-static GstElementStateReturn
- gst_udpsrc_change_state (GstElement *element);
+static GstData *gst_udpsrc_get (GstPad * pad);
+static GstElementStateReturn gst_udpsrc_change_state (GstElement * element);
-static void gst_udpsrc_set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec);
-static void gst_udpsrc_get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec);
-static void gst_udpsrc_set_clock (GstElement *element, GstClock *clock);
+static void gst_udpsrc_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec);
+static void gst_udpsrc_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec);
+static void gst_udpsrc_set_clock (GstElement * element, GstClock * clock);
static GstElementClass *parent_class = NULL;
+
/*static guint gst_udpsrc_signals[LAST_SIGNAL] = { 0 }; */
GType
@@ -90,18 +93,19 @@ gst_udpsrc_get_type (void)
if (!udpsrc_type) {
static const GTypeInfo udpsrc_info = {
- sizeof(GstUDPSrcClass),
+ sizeof (GstUDPSrcClass),
gst_udpsrc_base_init,
NULL,
- (GClassInitFunc)gst_udpsrc_class_init,
+ (GClassInitFunc) gst_udpsrc_class_init,
NULL,
NULL,
- sizeof(GstUDPSrc),
+ sizeof (GstUDPSrc),
0,
- (GInstanceInitFunc)gst_udpsrc_init,
+ (GInstanceInitFunc) gst_udpsrc_init,
NULL
};
- udpsrc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstUDPSrc", &udpsrc_info, 0);
+ udpsrc_type =
+ g_type_register_static (GST_TYPE_ELEMENT, "GstUDPSrc", &udpsrc_info, 0);
}
return udpsrc_type;
}
@@ -115,26 +119,26 @@ gst_udpsrc_base_init (gpointer g_class)
}
static void
-gst_udpsrc_class_init (GstUDPSrc *klass)
+gst_udpsrc_class_init (GstUDPSrc * klass)
{
GObjectClass *gobject_class;
GstElementClass *gstelement_class;
- gobject_class = (GObjectClass*) klass;
- gstelement_class = (GstElementClass*) klass;
+ gobject_class = (GObjectClass *) klass;
+ gstelement_class = (GstElementClass *) klass;
parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PORT,
- g_param_spec_int ("port", "port", "The port to receive the packets from",
- 0, 32768, UDP_DEFAULT_PORT, G_PARAM_READWRITE));
+ g_param_spec_int ("port", "port", "The port to receive the packets from",
+ 0, 32768, UDP_DEFAULT_PORT, G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, ARG_CONTROL,
- g_param_spec_enum ("control", "control", "The type of control",
- GST_TYPE_UDPSRC_CONTROL, CONTROL_UDP, G_PARAM_READWRITE));
+ g_param_spec_enum ("control", "control", "The type of control",
+ GST_TYPE_UDPSRC_CONTROL, CONTROL_UDP, G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, ARG_MULTICAST_GROUP,
- g_param_spec_string ("multicast_group", "multicast_group",
- "The Address of multicast group to join",
- UDP_DEFAULT_MULTICAST_GROUP, G_PARAM_READWRITE));
+ g_param_spec_string ("multicast_group", "multicast_group",
+ "The Address of multicast group to join",
+ UDP_DEFAULT_MULTICAST_GROUP, G_PARAM_READWRITE));
gobject_class->set_property = gst_udpsrc_set_property;
gobject_class->get_property = gst_udpsrc_get_property;
@@ -144,17 +148,17 @@ gst_udpsrc_class_init (GstUDPSrc *klass)
}
static void
-gst_udpsrc_set_clock (GstElement *element, GstClock *clock)
+gst_udpsrc_set_clock (GstElement * element, GstClock * clock)
{
GstUDPSrc *udpsrc;
-
+
udpsrc = GST_UDPSRC (element);
udpsrc->clock = clock;
}
static void
-gst_udpsrc_init (GstUDPSrc *udpsrc)
+gst_udpsrc_init (GstUDPSrc * udpsrc)
{
/* create the src and src pads */
udpsrc->srcpad = gst_pad_new ("src", GST_PAD_SRC);
@@ -171,8 +175,8 @@ gst_udpsrc_init (GstUDPSrc *udpsrc)
udpsrc->first_buf = TRUE;
}
-static GstData*
-gst_udpsrc_get (GstPad *pad)
+static GstData *
+gst_udpsrc_get (GstPad * pad)
{
GstUDPSrc *udpsrc;
GstBuffer *outbuf;
@@ -190,13 +194,13 @@ gst_udpsrc_get (GstPad *pad)
FD_ZERO (&read_fds);
FD_SET (udpsrc->sock, &read_fds);
if (udpsrc->control != CONTROL_NONE) {
- FD_SET (udpsrc->control_sock, &read_fds);
+ FD_SET (udpsrc->control_sock, &read_fds);
}
- max_sock = MAX(udpsrc->sock, udpsrc->control_sock);
+ max_sock = MAX (udpsrc->sock, udpsrc->control_sock);
- if (select (max_sock+1, &read_fds, NULL, NULL, NULL) > 0) {
+ if (select (max_sock + 1, &read_fds, NULL, NULL, NULL) > 0) {
if ((udpsrc->control_sock != -1) &&
- FD_ISSET (udpsrc->control_sock, &read_fds)) {
+ FD_ISSET (udpsrc->control_sock, &read_fds)) {
#ifndef GST_DISABLE_LOADSAVE
guchar *buf;
int ret;
@@ -205,94 +209,94 @@ gst_udpsrc_get (GstPad *pad)
xmlDocPtr doc;
GstCaps *caps;
- buf = g_malloc (1024*10);
+ buf = g_malloc (1024 * 10);
switch (udpsrc->control) {
- case CONTROL_TCP:
- len = sizeof (struct sockaddr);
- fdread = accept (udpsrc->control_sock, &addr, &len);
- if (fdread < 0) {
- perror ("accept");
- }
-
- ret = read (fdread, buf, 1024*10);
- break;
- case CONTROL_UDP:
- len = sizeof (struct sockaddr);
- ret = recvfrom (udpsrc->control_sock, buf, 1024*10, 0, (struct sockaddr *)&tmpaddr, &len);
- if (ret < 0) {
- perror ("recvfrom");
- }
- break;
- case CONTROL_NONE:
+ case CONTROL_TCP:
+ len = sizeof (struct sockaddr);
+ fdread = accept (udpsrc->control_sock, &addr, &len);
+ if (fdread < 0) {
+ perror ("accept");
+ }
+
+ ret = read (fdread, buf, 1024 * 10);
+ break;
+ case CONTROL_UDP:
+ len = sizeof (struct sockaddr);
+ ret =
+ recvfrom (udpsrc->control_sock, buf, 1024 * 10, 0,
+ (struct sockaddr *) &tmpaddr, &len);
+ if (ret < 0) {
+ perror ("recvfrom");
+ }
+ break;
+ case CONTROL_NONE:
default:
- g_free (buf);
- return NULL;
- break;
+ g_free (buf);
+ return NULL;
+ break;
}
buf[ret] = '\0';
- doc = xmlParseMemory(buf, ret);
- caps = gst_caps_load_thyself(doc->xmlRootNode);
+ doc = xmlParseMemory (buf, ret);
+ caps = gst_caps_load_thyself (doc->xmlRootNode);
if (caps == NULL) {
- return NULL;
+ return NULL;
}
-
+
/* foward the connect, we don't signal back the result here... */
if (gst_caps_is_fixed (caps)) {
- gst_pad_try_set_caps (udpsrc->srcpad, caps);
+ gst_pad_try_set_caps (udpsrc->srcpad, caps);
} else {
- GST_ERROR ("caps %" GST_PTR_FORMAT, caps);
- GST_ELEMENT_ERROR (udpsrc, CORE, NEGOTIATION, (NULL), ("Got unfixed caps from peer"));
+ GST_ERROR ("caps %" GST_PTR_FORMAT, caps);
+ GST_ELEMENT_ERROR (udpsrc, CORE, NEGOTIATION, (NULL),
+ ("Got unfixed caps from peer"));
}
#endif
g_free (buf);
outbuf = NULL;
- }
- else {
+ } else {
outbuf = gst_buffer_new ();
GST_BUFFER_DATA (outbuf) = g_malloc (24000);
GST_BUFFER_SIZE (outbuf) = 24000;
if (udpsrc->first_buf) {
- if (udpsrc->clock) {
- GstClockTime current_time;
- GstEvent *discont;
+ if (udpsrc->clock) {
+ GstClockTime current_time;
+ GstEvent *discont;
+
+ current_time = gst_clock_get_time (udpsrc->clock);
- current_time = gst_clock_get_time (udpsrc->clock);
-
- GST_BUFFER_TIMESTAMP (outbuf) = current_time;
+ GST_BUFFER_TIMESTAMP (outbuf) = current_time;
- discont = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME,
- current_time, NULL);
+ discont = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME,
+ current_time, NULL);
- gst_pad_push (udpsrc->srcpad, GST_DATA (discont));
+ gst_pad_push (udpsrc->srcpad, GST_DATA (discont));
}
udpsrc->first_buf = FALSE;
}
-
+
else {
- GST_BUFFER_TIMESTAMP (outbuf) = GST_CLOCK_TIME_NONE;
+ GST_BUFFER_TIMESTAMP (outbuf) = GST_CLOCK_TIME_NONE;
}
len = sizeof (struct sockaddr);
numbytes = recvfrom (udpsrc->sock, GST_BUFFER_DATA (outbuf),
- GST_BUFFER_SIZE (outbuf), 0, (struct sockaddr *)&tmpaddr, &len);
+ GST_BUFFER_SIZE (outbuf), 0, (struct sockaddr *) &tmpaddr, &len);
if (numbytes != -1) {
- GST_BUFFER_SIZE (outbuf) = numbytes;
- }
- else {
+ GST_BUFFER_SIZE (outbuf) = numbytes;
+ } else {
perror ("recvfrom");
- gst_buffer_unref (outbuf);
- outbuf = NULL;
+ gst_buffer_unref (outbuf);
+ outbuf = NULL;
}
-
+
}
- }
- else {
+ } else {
perror ("select");
outbuf = NULL;
}
@@ -301,29 +305,30 @@ gst_udpsrc_get (GstPad *pad)
static void
-gst_udpsrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_udpsrc_set_property (GObject * object, guint prop_id, const GValue * value,
+ GParamSpec * pspec)
{
GstUDPSrc *udpsrc;
/* it's not null if we got it, but it might not be ours */
- g_return_if_fail(GST_IS_UDPSRC(object));
- udpsrc = GST_UDPSRC(object);
+ g_return_if_fail (GST_IS_UDPSRC (object));
+ udpsrc = GST_UDPSRC (object);
switch (prop_id) {
case ARG_PORT:
- udpsrc->port = g_value_get_int (value);
+ udpsrc->port = g_value_get_int (value);
break;
case ARG_MULTICAST_GROUP:
- g_free(udpsrc->multi_group);
-
+ g_free (udpsrc->multi_group);
+
if (g_value_get_string (value) == NULL)
- udpsrc->multi_group = g_strdup (UDP_DEFAULT_MULTICAST_GROUP);
+ udpsrc->multi_group = g_strdup (UDP_DEFAULT_MULTICAST_GROUP);
else
- udpsrc->multi_group = g_strdup (g_value_get_string (value));
-
+ udpsrc->multi_group = g_strdup (g_value_get_string (value));
+
break;
case ARG_CONTROL:
- udpsrc->control = g_value_get_enum (value);
+ udpsrc->control = g_value_get_enum (value);
break;
default:
break;
@@ -331,13 +336,14 @@ gst_udpsrc_set_property (GObject *object, guint prop_id, const GValue *value, GP
}
static void
-gst_udpsrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_udpsrc_get_property (GObject * object, guint prop_id, GValue * value,
+ GParamSpec * pspec)
{
GstUDPSrc *udpsrc;
/* it's not null if we got it, but it might not be ours */
- g_return_if_fail(GST_IS_UDPSRC(object));
- udpsrc = GST_UDPSRC(object);
+ g_return_if_fail (GST_IS_UDPSRC (object));
+ udpsrc = GST_UDPSRC (object);
switch (prop_id) {
case ARG_PORT:
@@ -357,92 +363,98 @@ gst_udpsrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSp
/* create a socket for sending to remote machine */
static gboolean
-gst_udpsrc_init_receive (GstUDPSrc *src)
+gst_udpsrc_init_receive (GstUDPSrc * src)
{
guint bc_val;
- gint reuse=1;
+ gint reuse = 1;
+
memset (&src->myaddr, 0, sizeof (src->myaddr));
- src->myaddr.sin_family = AF_INET; /* host byte order */
- src->myaddr.sin_port = htons (src->port); /* short, network byte order */
+ src->myaddr.sin_family = AF_INET; /* host byte order */
+ src->myaddr.sin_port = htons (src->port); /* short, network byte order */
src->myaddr.sin_addr.s_addr = INADDR_ANY;
if ((src->sock = socket (AF_INET, SOCK_DGRAM, 0)) == -1) {
- perror("socket");
+ perror ("socket");
return FALSE;
}
-
- if (setsockopt(src->sock, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)) == -1) {
- perror("setsockopt");
- return FALSE;
+
+ if (setsockopt (src->sock, SOL_SOCKET, SO_REUSEADDR, &reuse,
+ sizeof (reuse)) == -1) {
+ perror ("setsockopt");
+ return FALSE;
}
- if (bind (src->sock, (struct sockaddr *) &src->myaddr, sizeof (src->myaddr)) == -1) {
- perror("bind");
+ if (bind (src->sock, (struct sockaddr *) &src->myaddr,
+ sizeof (src->myaddr)) == -1) {
+ perror ("bind");
return FALSE;
}
if (inet_aton (src->multi_group, &(src->multi_addr.imr_multiaddr))) {
if (src->multi_addr.imr_multiaddr.s_addr) {
src->multi_addr.imr_interface.s_addr = INADDR_ANY;
- setsockopt (src->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &src->multi_addr, sizeof(src->multi_addr));
+ setsockopt (src->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &src->multi_addr,
+ sizeof (src->multi_addr));
}
}
bc_val = 1;
setsockopt (src->sock, SOL_SOCKET, SO_BROADCAST, &bc_val, sizeof (bc_val));
- src->myaddr.sin_port = htons (src->port+1);
-
+ src->myaddr.sin_port = htons (src->port + 1);
+
switch (src->control) {
case CONTROL_TCP:
- if ((src->control_sock = socket (AF_INET, SOCK_STREAM, 0)) == -1) {
- perror("control_socket");
- return FALSE;
- }
-
- if (bind (src->control_sock, (struct sockaddr *) &src->myaddr, sizeof (src->myaddr)) == -1) {
- perror("control_bind");
- return FALSE;
- }
-
- if (listen (src->control_sock, 5) == -1) {
- perror("listen");
- return FALSE;
- }
-
- fcntl (src->control_sock, F_SETFL, O_NONBLOCK);
-
- break;
+ if ((src->control_sock = socket (AF_INET, SOCK_STREAM, 0)) == -1) {
+ perror ("control_socket");
+ return FALSE;
+ }
+
+ if (bind (src->control_sock, (struct sockaddr *) &src->myaddr,
+ sizeof (src->myaddr)) == -1) {
+ perror ("control_bind");
+ return FALSE;
+ }
+
+ if (listen (src->control_sock, 5) == -1) {
+ perror ("listen");
+ return FALSE;
+ }
+
+ fcntl (src->control_sock, F_SETFL, O_NONBLOCK);
+
+ break;
case CONTROL_UDP:
- if ((src->control_sock = socket (AF_INET, SOCK_DGRAM, 0)) == -1) {
- perror("socket");
- return FALSE;
- }
-
- if (bind (src->control_sock, (struct sockaddr *) &src->myaddr, sizeof (src->myaddr)) == -1)
- {
- perror("control_bind");
- return FALSE;
- }
- /* We can only do broadcast in udp */
- bc_val = 1;
- setsockopt (src->control_sock, SOL_SOCKET, SO_BROADCAST, &bc_val, sizeof (bc_val));
- break;
+ if ((src->control_sock = socket (AF_INET, SOCK_DGRAM, 0)) == -1) {
+ perror ("socket");
+ return FALSE;
+ }
+
+ if (bind (src->control_sock, (struct sockaddr *) &src->myaddr,
+ sizeof (src->myaddr)) == -1) {
+ perror ("control_bind");
+ return FALSE;
+ }
+ /* We can only do broadcast in udp */
+ bc_val = 1;
+ setsockopt (src->control_sock, SOL_SOCKET, SO_BROADCAST, &bc_val,
+ sizeof (bc_val));
+ break;
case CONTROL_NONE:
- GST_FLAG_SET (src, GST_UDPSRC_OPEN);
- return TRUE;
- break;
+ GST_FLAG_SET (src, GST_UDPSRC_OPEN);
+ return TRUE;
+ break;
default:
- return FALSE;
- break;
+ return FALSE;
+ break;
}
GST_FLAG_SET (src, GST_UDPSRC_OPEN);
-
+
return TRUE;
}
static void
-gst_udpsrc_close (GstUDPSrc *src)
+gst_udpsrc_close (GstUDPSrc * src)
{
if (src->sock != -1) {
close (src->sock);
@@ -457,7 +469,7 @@ gst_udpsrc_close (GstUDPSrc *src)
}
static GstElementStateReturn
-gst_udpsrc_change_state (GstElement *element)
+gst_udpsrc_change_state (GstElement * element)
{
g_return_val_if_fail (GST_IS_UDPSRC (element), GST_STATE_FAILURE);
@@ -467,7 +479,7 @@ gst_udpsrc_change_state (GstElement *element)
} else {
if (!GST_FLAG_IS_SET (element, GST_UDPSRC_OPEN)) {
if (!gst_udpsrc_init_receive (GST_UDPSRC (element)))
- return GST_STATE_FAILURE;
+ return GST_STATE_FAILURE;
}
}
@@ -476,4 +488,3 @@ gst_udpsrc_change_state (GstElement *element)
return GST_STATE_SUCCESS;
}
-
diff --git a/gst/udp/gstudpsrc.h b/gst/udp/gstudpsrc.h
index f16673df..bb4273e7 100644
--- a/gst/udp/gstudpsrc.h
+++ b/gst/udp/gstudpsrc.h
@@ -24,8 +24,9 @@
#include <gst/gst.h>
#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif /* __cplusplus */
#include <errno.h>
#include <string.h>
@@ -49,44 +50,47 @@ extern "C" {
#define GST_IS_UDPSRC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_UDPSRC))
-typedef struct _GstUDPSrc GstUDPSrc;
-typedef struct _GstUDPSrcClass GstUDPSrcClass;
+ typedef struct _GstUDPSrc GstUDPSrc;
+ typedef struct _GstUDPSrcClass GstUDPSrcClass;
-typedef enum {
- GST_UDPSRC_OPEN = GST_ELEMENT_FLAG_LAST,
+ typedef enum
+ {
+ GST_UDPSRC_OPEN = GST_ELEMENT_FLAG_LAST,
- GST_UDPSRC_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
-} GstUDPSrcFlags;
+ GST_UDPSRC_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
+ } GstUDPSrcFlags;
-struct _GstUDPSrc {
- GstElement element;
+ struct _GstUDPSrc
+ {
+ GstElement element;
- /* pads */
- GstPad *sinkpad,*srcpad;
+ /* pads */
+ GstPad *sinkpad, *srcpad;
- int port;
- int sock;
- int control_sock;
- Gst_UDP_Control control;
- gchar *multi_group;
+ int port;
+ int sock;
+ int control_sock;
+ Gst_UDP_Control control;
+ gchar *multi_group;
- struct sockaddr_in myaddr;
- struct ip_mreq multi_addr;
- GstClock *clock;
+ struct sockaddr_in myaddr;
+ struct ip_mreq multi_addr;
+ GstClock *clock;
- gboolean first_buf;
-};
+ gboolean first_buf;
+ };
-struct _GstUDPSrcClass {
- GstElementClass parent_class;
-};
+ struct _GstUDPSrcClass
+ {
+ GstElementClass parent_class;
+ };
-GType gst_udpsrc_get_type(void);
+ GType gst_udpsrc_get_type (void);
#ifdef __cplusplus
}
-#endif /* __cplusplus */
+#endif /* __cplusplus */
-#endif /* __GST_UDPSRC_H__ */
+#endif /* __GST_UDPSRC_H__ */