* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
* 2005 Wim Taymans <wim@fluendo.com>
* 2005 Andy Wingo <wingo@pobox.com>
+ * Copyright (C) 2012 Collabora Ltd. <tim.muller@collabora.co.uk>
*
* gstnetclientclock.h: clock that synchronizes itself to a time provider over
* the network
G_BEGIN_DECLS
-#include <errno.h>
-#include <string.h>
-#include <sys/types.h>
-#include <netdb.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include <fcntl.h>
-
#define GST_TYPE_NET_CLIENT_CLOCK \
(gst_net_client_clock_get_type())
#define GST_NET_CLIENT_CLOCK(obj) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NET_CLIENT_CLOCK,GstNetClientClockClass))
#define GST_IS_NET_CLIENT_CLOCK(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NET_CLIENT_CLOCK))
-#define GST_IS_NET_CLIENT_CLOCK_CLASS(obj) \
+#define GST_IS_NET_CLIENT_CLOCK_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NET_CLIENT_CLOCK))
typedef struct _GstNetClientClock GstNetClientClock;
typedef struct _GstNetClientClockClass GstNetClientClockClass;
+typedef struct _GstNetClientClockPrivate GstNetClientClockPrivate;
+/**
+ * GstNetClientClock:
+ *
+ * Opaque #GstNetClientClock structure.
+ */
struct _GstNetClientClock {
GstSystemClock clock;
- /*< protected >*/
- gchar *address;
- gint port;
-
- gint window_size;
- GstClockTime timeout;
-
/*< private >*/
- int sock;
- int control_sock[2];
+ GstNetClientClockPrivate *priv;
- GstClockTime current_timeout;
-
- struct sockaddr_id *servaddr;
-
- GThread *thread;
-
- /*< private >*/
gpointer _gst_reserved[GST_PADDING];
};
};
GType gst_net_client_clock_get_type (void);
+
GstClock* gst_net_client_clock_new (gchar *name, const gchar *remote_address,
gint remote_port, GstClockTime base_time);