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 Maximum allowed diff for clock sync requests against the real time. Boolean property to activate stat generation on the clock. @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: