GstClock
Abstract class for global clocks
GStreamer uses a global clock to synchronise the plugins in a pipeline.
Different clock implementations are possible by implementing this abstract
base class.
The clock time is always measured in nanoseconds, with the clock being set
to 0 when the pipeline goes to READY. Usually all renderers sync to the global
clock so that the clock is always a good measure of the time in the pipeline.
#GstSystemClock
A datatype to hold a time, measured in nanoseconds.
A datatype to hold a timedifference, measured in nanoseconds.
A detatype to hold the handle to an outstanding async clock callback
Constant to define an undefined clock time
@time:
Constant that defines one GStreamer second
Constant that defines one GStreamer millisecond
Constant that defines one GStreamer microsecond
Constant that defines one GStreamer nanosecond
Calculate a difference between to clock times.
@s: the first time
@e: the second time
Convert a GTimeVal to a GstClockTime
@tv: the timeval to convert
Convert a GstClockTime to a GTimeVal
@t: The GstClockTime to convert
@tv: The target timeval
The name used for tracing clock entry allocations.
All pending timeouts or periodic notifies are converted into
an entry.
@clock:
@type:
@time:
@interval:
@status:
@func:
@user_data:
The function prototype of the callback.
@clock: The clock that triggered the callback
@time: The time it was triggered
@id: The id that expired
@user_data: user data passed in the async_wait call
@Returns:
The status of a clock timeout.
@GST_CLOCK_ENTRY_OK: timeout happened
@GST_CLOCK_ENTRY_EARLY: request for timout that has been passed
@GST_CLOCK_ENTRY_RESTART: need to restart the timeout request
The type of the clock entry
@GST_CLOCK_ENTRY_SINGLE: a single shot timeout
@GST_CLOCK_ENTRY_PERIODIC: a periodic timeout request
Cast to a clock entry
@entry: the entry to cast
Get the owner clock of the entry
@entry: the entry to query
Get the type of the clock entry
@entry: the entry to query
Get the requested time of this entry
@entry: the entry to query
Get the interval of this periodic entry
@entry: the entry to query
The status of the entry
@entry: the entry to query
The return value of a clock operation.
@GST_CLOCK_STOPPED: The clock is stopped.
@GST_CLOCK_TIMEOUT: The operation timed out.
@GST_CLOCK_EARLY: The operation was scheduled too late.
@GST_CLOCK_ERROR: An error occured
@GST_CLOCK_UNSUPPORTED: Operation is not supported
The capabilities of this clock
@GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC: This clock can do a single sync timeut request
@GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC: This clock can do a single async timeout request
@GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC: This clock can do sync periodic timeout requests
@GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC: This clock can do async periodic timeout callbacks
@GST_CLOCK_FLAG_CAN_SET_RESOLUTION: The resolution of this clock can be changed
@GST_CLOCK_FLAG_CAN_SET_SPEED: The speed of this clock can be changed
Get the clock flags
@clock: the clock to query
@clock:
@speed:
@Returns:
@clock:
@Returns:
@clock:
@resolution:
@Returns:
@clock:
@Returns:
@clock:
@active:
@clock:
@Returns:
@clock:
@clock:
@time:
@Returns:
@clock:
@Returns:
@clock:
@Returns:
@clock:
@delay:
@Returns:
@clock:
@Returns:
@clock:
@time:
@Returns:
@clock:
@start_time:
@interval:
@Returns:
@id:
@Returns:
@id:
@jitter:
@Returns:
@id:
@func:
@user_data:
@Returns:
@id:
@id:
@id:
Maximum allowed diff for clock sync requests against the real time.
Boolean property to activate stat generation on the clock.