*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#define __GST_NET_TIME_PACKET_H__
#include <gst/gst.h>
+#include <gio/gio.h>
+#include <gst/net/net-prelude.h>
G_BEGIN_DECLS
-#include <errno.h>
-#include <string.h>
-#include <sys/types.h>
-
-#ifdef G_OS_WIN32
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#ifndef socklen_t
-#define socklen_t int
-#endif
-#else
-#include <netdb.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#endif
-
/**
* GST_NET_TIME_PACKET_SIZE:
*
GstClockTime remote_time;
};
+GST_NET_API
+GType gst_net_time_packet_get_type (void);
+
+GST_NET_API
GstNetTimePacket* gst_net_time_packet_new (const guint8 *buffer);
+
+GST_NET_API
+GstNetTimePacket* gst_net_time_packet_copy (const GstNetTimePacket *packet);
+
+GST_NET_API
+void gst_net_time_packet_free (GstNetTimePacket *packet);
+
+GST_NET_API
guint8* gst_net_time_packet_serialize (const GstNetTimePacket *packet);
-GstNetTimePacket* gst_net_time_packet_receive (gint fd, struct sockaddr *addr,
- socklen_t *len);
-gint gst_net_time_packet_send (const GstNetTimePacket *packet,
- gint fd, struct sockaddr *addr,
- socklen_t len);
+GST_NET_API
+GstNetTimePacket* gst_net_time_packet_receive (GSocket * socket,
+ GSocketAddress ** src_address,
+ GError ** error);
+GST_NET_API
+gboolean gst_net_time_packet_send (const GstNetTimePacket * packet,
+ GSocket * socket,
+ GSocketAddress * dest_address,
+ GError ** error);
+
+#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstNetTimePacket, gst_net_time_packet_free)
+#endif
G_END_DECLS