gstaudioclock

gstaudioclock — Helper object for implementing audio clocks

Functions

Types and Values

struct GstAudioClock

Object Hierarchy

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

Includes

#include <gst/audio/gstaudioclock.h>

Description

GstAudioClock makes it easy for elements to implement a GstClock, they simply need to provide a function that returns the current clock time.

This object is internally used to implement the clock in GstAudioBaseSink.

Functions

GstAudioClockGetTimeFunc ()

GstClockTime
(*GstAudioClockGetTimeFunc) (GstClock *clock,
                             gpointer user_data);

This function will be called whenever the current clock time needs to be calculated. If this function returns GST_CLOCK_TIME_NONE, the last reported time will be returned by the clock.

Parameters

clock

the GstAudioClock

 

user_data

user data

 

Returns

the current time or GST_CLOCK_TIME_NONE if the previous time should be used.


gst_audio_clock_new ()

GstClock *
gst_audio_clock_new (const gchar *name,
                     GstAudioClockGetTimeFunc func,
                     gpointer user_data,
                     GDestroyNotify destroy_notify);

Create a new GstAudioClock instance. Whenever the clock time should be calculated it will call func with user_data . When func returns GST_CLOCK_TIME_NONE, the clock will return the last reported time.

Parameters

name

the name of the clock

 

func

a function

 

user_data

user data

 

destroy_notify

GDestroyNotify for user_data

 

Returns

a new GstAudioClock casted to a GstClock.


gst_audio_clock_adjust ()

GstClockTime
gst_audio_clock_adjust (GstClock *clock,
                        GstClockTime time);

Adjust time with the internal offset of the audio clock.

Parameters

clock

a GstAudioClock

 

time

a GstClockTime

 

Returns

time adjusted with the internal offset.


gst_audio_clock_get_time ()

GstClockTime
gst_audio_clock_get_time (GstClock *clock);

Report the time as returned by the GstAudioClockGetTimeFunc without applying any offsets.

Parameters

clock

a GstAudioClock

 

Returns

the time as reported by the time function of the audio clock


gst_audio_clock_reset ()

void
gst_audio_clock_reset (GstAudioClock *clock,
                       GstClockTime time);

Inform clock that future calls to GstAudioClockGetTimeFunc will return values starting from time . The clock will update an internal offset to make sure that future calls to internal_time will return an increasing result as required by the GstClock object.

Parameters

clock

a GstAudioClock

 

time

a GstClockTime

 

gst_audio_clock_invalidate ()

void
gst_audio_clock_invalidate (GstClock *clock);

Invalidate the clock function. Call this function when the provided GstAudioClockGetTimeFunc cannot be called anymore, for example, when the user_data becomes invalid.

After calling this function, clock will return the last returned time for the rest of its lifetime.

Parameters

clock

a GstAudioClock

 

Types and Values

struct GstAudioClock

struct GstAudioClock;

Opaque GstAudioClock.

See Also

GstAudioBaseSink, GstSystemClock