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.