This object implements a custom #GstClock that synchronizes its time to a remote time provider such as #GstNetTimeProvider. A new clock is created with gst_net_client_clock_new() which takes the address and port of the remote time provider along with a name and an initial time. This clock will poll the time provider and will update its calibration parameters based on the local and remote observations. Various parameters of the clock can be configured with the parent #GstClock "timeout", "window-size" and "window-threshold" object properties. A #GstNetClientClock is typically set on a #GstPipeline with gst_pipeline_use_clock(). Last reviewed on 2005-11-23 (0.9.5) Create a new #GstNetClientClock that will report the time provided by the #GstNetTimeProvider on @remote_address and clock. a new #GstClock that receives a time from the remote a name for the clock the address of the remote clock provider the port of the remote clock provider initial time of the clock Various functions for receiving, sending an serializing #GstNetTimePacket structures. Last reviewed on 2005-11-23 (0.9.5) Sends a #GstNetTimePacket over a socket. Essentially a thin wrapper around sendto(2) and gst_net_time_packet_serialize(). MT safe. The return value of sendto(2). a file descriptor created by socket(2) a pointer to a sockaddr to hold the address of the sender the size of the data pointed to by @addr Serialized a #GstNetTimePacket into a newly-allocated sequence of #GST_NET_TIME_PACKET_SIZE bytes, in network byte order. The value returned is suitable for passing to write(2) or sendto(2) for communication over the network. MT safe. Caller owns return value (g_free to free). A newly allocated sequence of #GST_NET_TIME_PACKET_SIZE bytes. This object exposes the time of a #GstClock on the network. A #GstNetTimeProvider is created with gst_net_time_provider_new() which takes a #GstClock, an address and a port number as arguments. After creating the object, a client clock such as #GstNetClientClock can query the exposed clock over the network for its values. The #GstNetTimeProvider typically wraps the clock used by a #GstPipeline. Last reviewed on 2005-11-23 (0.9.5) Allows network clients to get the current time of @clock. the new #GstNetTimeProvider, or NULL on error a #GstClock to export over the network an address to bind on as a dotted quad (xxx.xxx.xxx.xxx), or NULL to bind to all addresses a port to bind on, or 0 to let the kernel choose Creates a new #GstNetTimePacket from a buffer received over the network. The caller is responsible for ensuring that @buffer is at least #GST_NET_TIME_PACKET_SIZE bytes long. If @buffer is #NULL, the local and remote times will be set to #GST_CLOCK_TIME_NONE. MT safe. Caller owns return value (g_free to free). The new #GstNetTimePacket. a buffer from which to construct the packet, or NULL Receives a #GstNetTimePacket over a socket. Handles interrupted system calls, but otherwise returns NULL on error. See recvfrom(2) for more information on how to interpret @sockaddr. MT safe. Caller owns return value (g_free to free). The new #GstNetTimePacket. a file descriptor created by socket(2) a pointer to a sockaddr to hold the address of the sender a pointer to the size of the data pointed to by @addr