# GstSystemClock

The GStreamer core provides a GstSystemClock based on the system time. Asynchronous callbacks are scheduled from an internal thread.

Clock implementors are encouraged to subclass this systemclock as it implements the async notification.

Subclasses can however override all of the important methods for sync and async notifications to implement their own callback methods or blocking wait operations.

## GstSystemClock

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstClock
                    ╰──GstSystemClock

The default implementation of a GstClock that uses the system time.

### Members

`clock` (GstClock) –
No description available

### Class structure

#### GstSystemClockClass

##### Fields

`parent_class` (GstClockClass) –
No description available

### Gst.SystemClockClass

##### Attributes

`parent_class` (Gst.ClockClass) –
No description available

### Gst.SystemClockClass

##### Attributes

`parent_class` (Gst.ClockClass) –
No description available

## Gst.SystemClock

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Clock
                    ╰──Gst.SystemClock

The default implementation of a Gst.Clock that uses the system time.

### Members

`clock` (Gst.Clock) –
No description available

## Gst.SystemClock

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Clock
                    ╰──Gst.SystemClock

The default implementation of a Gst.Clock that uses the system time.

### Members

`clock` (Gst.Clock) –
No description available

### Functions

#### gst_system_clock_obtain

    GstClock *
    gst_system_clock_obtain ()

Get a handle to the default system clock. The refcount of the clock will be increased so you need to unref the clock after usage.

Returns ( [transfer: full]) –

the default clock.

MT safe.

#### Gst.SystemClock.prototype.obtain

    function Gst.SystemClock.prototype.obtain(): {
        // javascript wrapper for 'gst_system_clock_obtain'
    }

Get a handle to the default system clock. The refcount of the clock will be increased so you need to unref the clock after usage.

Returns (Gst.Clock) –

the default clock.

MT safe.

#### Gst.SystemClock.obtain

    def Gst.SystemClock.obtain ():
        #python wrapper for 'gst_system_clock_obtain'

Get a handle to the default system clock. The refcount of the clock will be increased so you need to unref the clock after usage.

Returns (Gst.Clock) –

the default clock.

MT safe.

#### gst_system_clock_set_default

    gst_system_clock_set_default (GstClock * new_clock)

Sets the default system clock that can be obtained with gst_system_clock_obtain.

This is mostly used for testing and debugging purposes when you want to have control over the time reported by the default system clock.

MT safe.

Parameters:

`new_clock` ( [allow-none]) –

a GstClock

Since : 1.4

#### Gst.SystemClock.prototype.set_default

    function Gst.SystemClock.prototype.set_default(new_clock: Gst.Clock): {
        // javascript wrapper for 'gst_system_clock_set_default'
    }

Sets the default system clock that can be obtained with Gst.SystemClock.prototype.obtain.

This is mostly used for testing and debugging purposes when you want to have control over the time reported by the default system clock.

MT safe.

Parameters:

`new_clock` (Gst.Clock) –

a Gst.Clock

Since : 1.4

#### Gst.SystemClock.set_default

    def Gst.SystemClock.set_default (new_clock):
        #python wrapper for 'gst_system_clock_set_default'

Sets the default system clock that can be obtained with Gst.SystemClock.obtain.

This is mostly used for testing and debugging purposes when you want to have control over the time reported by the default system clock.

MT safe.

Parameters:

`new_clock` (Gst.Clock) –

a Gst.Clock

Since : 1.4

### Properties

#### clock-type

    “clock-type” GstClockType *

Flags : Read / Write

#### clock-type

    “clock-type” Gst.ClockType

Flags : Read / Write

#### clock_type

    “self.props.clock_type” Gst.ClockType

Flags : Read / Write

## Function Macros

### GST_SYSTEM_CLOCK_CAST

    #define GST_SYSTEM_CLOCK_CAST(obj)              ((GstSystemClock *)(obj))

## Enumerations

### GstClockType

The different kind of clocks.

##### Members

`GST_CLOCK_TYPE_REALTIME` (0) –

time since Epoch

`GST_CLOCK_TYPE_MONOTONIC` (1) –

monotonic time since some unspecified starting point

`GST_CLOCK_TYPE_OTHER` (2) –

some other time source is used (Since: 1.0.5)

`GST_CLOCK_TYPE_TAI` (3) –

time since Epoch, but using International Atomic Time as reference (Since: 1.18)

### Gst.ClockType

The different kind of clocks.

##### Members

`Gst.ClockType.REALTIME` (0) –

time since Epoch

`Gst.ClockType.MONOTONIC` (1) –

monotonic time since some unspecified starting point

`Gst.ClockType.OTHER` (2) –

some other time source is used (Since: 1.0.5)

`Gst.ClockType.TAI` (3) –

time since Epoch, but using International Atomic Time as reference (Since: 1.18)

### Gst.ClockType

The different kind of clocks.

##### Members

`Gst.ClockType.REALTIME` (0) –

time since Epoch

`Gst.ClockType.MONOTONIC` (1) –

monotonic time since some unspecified starting point

`Gst.ClockType.OTHER` (2) –

some other time source is used (Since: 1.0.5)

`Gst.ClockType.TAI` (3) –

time since Epoch, but using International Atomic Time as reference (Since: 1.18)

The results of the search are