## GstNetClientClock

GstNetClientClock — Special clock that synchronizes to a remote time provider.

## Synopsis

    #include <gst/net/gstnet.h>

    struct              GstNetClientClock;
    GstClock *          gst_net_client_clock_new            (gchar *name,
                                                             const gchar *remote_address,
                                                             gint remote_port,
                                                             GstClockTime base_time);

## Object Hierarchy

      GObject
       +----GstObject
             +----GstClock
                   +----GstSystemClock
                         +----GstNetClientClock

## Properties

      "address"                  gchar*                : Read / Write
      "port"                     gint                  : Read / Write

## Description

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)

## Details

### struct GstNetClientClock

    struct GstNetClientClock;

Opaque GstNetClientClock structure.

### gst_net_client_clock_new ()

    GstClock *          gst_net_client_clock_new            (gchar *name,
                                                             const gchar *remote_address,
                                                             gint remote_port,
                                                             GstClockTime base_time);

Create a new GstNetClientClock that will report the time provided by the GstNetTimeProvider on `remote_address` and `remote_port`.

`name` : | a name for the clock
`remote_address` : | the address of the remote clock provider
`remote_port` : | the port of the remote clock provider
`base_time` : | initial time of the clock
Returns : | a new GstClock that receives a time from the remote clock.

## Property Details

### The `"address"` property

      "address"                  gchar*                : Read / Write

The address of the machine providing a time server, as a dotted quad (x.x.x.x).

Default value: "127.0.0.1"

### The `"port"` property

      "port"                     gint                  : Read / Write

The port on which the remote server is listening.

Allowed values: [0,65535]

Default value: 5637

## See Also

GstClock, GstNetTimeProvider, GstPipeline