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
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
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
The name used for tracing clock entry allocations.
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:
@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.