gstreamer/docs/gst/tmpl/gstclock.sgml
Stefan Kost a34f2613f9 more tests (and fixes) for the controller more docs for the controller integrated companies docs for the adapter
Original commit message from CVS:
more tests (and fixes) for the controller
more docs for the controller
integrated companies docs for the adapter
2005-08-05 10:02:44 +00:00

328 lines
5.6 KiB
Text

<!-- ##### SECTION Title ##### -->
GstClock
<!-- ##### SECTION Short_Description ##### -->
Abstract class for global clocks
<!-- ##### SECTION Long_Description ##### -->
<para>
GStreamer uses a global clock to synchronise the plugins in a pipeline.
Different clock implementations are possible by implementing this abstract
base class.
</para>
<para>
The clock time is always measured in nanoseconds and always increases. The
pipeline uses the clock to calculate the stream time.
Usually all renderers sync to the global clock so that the clock is always
a good measure of the current playback time in the pipeline.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GstSystemClock
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GstClock ##### -->
<para>
</para>
@flags:
<!-- ##### ARG GstClock:stats ##### -->
<para>
Boolean property to activate stat generation on the clock.
</para>
<!-- ##### TYPEDEF GstClockTime ##### -->
<para>
A datatype to hold a time, measured in nanoseconds.
</para>
<!-- ##### TYPEDEF GstClockTimeDiff ##### -->
<para>
A datatype to hold a timedifference, measured in nanoseconds.
</para>
<!-- ##### TYPEDEF GstClockID ##### -->
<para>
A detatype to hold the handle to an outstanding async clock callback
</para>
<!-- ##### MACRO GST_CLOCK_TIME_NONE ##### -->
<para>
Constant to define an undefined clock time
</para>
<!-- ##### MACRO GST_CLOCK_TIME_IS_VALID ##### -->
<para>
</para>
@time:
<!-- ##### MACRO GST_SECOND ##### -->
<para>
Constant that defines one GStreamer second
</para>
<!-- ##### MACRO GST_MSECOND ##### -->
<para>
Constant that defines one GStreamer millisecond
</para>
<!-- ##### MACRO GST_USECOND ##### -->
<para>
Constant that defines one GStreamer microsecond
</para>
<!-- ##### MACRO GST_NSECOND ##### -->
<para>
Constant that defines one GStreamer nanosecond
</para>
<!-- ##### MACRO GST_CLOCK_DIFF ##### -->
<para>
Calculate a difference between to clock times.
</para>
@s: the first time
@e: the second time
<!-- ##### MACRO GST_TIMEVAL_TO_TIME ##### -->
<para>
Convert a GTimeVal to a GstClockTime
</para>
@tv: the timeval to convert
<!-- ##### MACRO GST_TIME_TO_TIMEVAL ##### -->
<para>
Convert a GstClockTime to a GTimeVal
</para>
@t: The GstClockTime to convert
@tv: The target timeval
<!-- ##### MACRO GST_CLOCK_ENTRY_TRACE_NAME ##### -->
<para>
The name used for tracing clock entry allocations.
</para>
<!-- ##### STRUCT GstClockEntry ##### -->
<para>
All pending timeouts or periodic notifies are converted into
an entry.
</para>
@refcount:
<!-- ##### USER_FUNCTION GstClockCallback ##### -->
<para>
The function prototype of the callback.
</para>
@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: %TRUE or %FALSE (currently unused)
<!-- ##### ENUM GstClockEntryType ##### -->
<para>
The type of the clock entry
</para>
@GST_CLOCK_ENTRY_SINGLE: a single shot timeout
@GST_CLOCK_ENTRY_PERIODIC: a periodic timeout request
<!-- ##### MACRO GST_CLOCK_ENTRY ##### -->
<para>
Cast to a clock entry
</para>
@entry: the entry to cast
<!-- ##### MACRO GST_CLOCK_ENTRY_CLOCK ##### -->
<para>
Get the owner clock of the entry
</para>
@entry: the entry to query
<!-- ##### MACRO GST_CLOCK_ENTRY_TYPE ##### -->
<para>
Get the type of the clock entry
</para>
@entry: the entry to query
<!-- ##### MACRO GST_CLOCK_ENTRY_TIME ##### -->
<para>
Get the requested time of this entry
</para>
@entry: the entry to query
<!-- ##### MACRO GST_CLOCK_ENTRY_INTERVAL ##### -->
<para>
Get the interval of this periodic entry
</para>
@entry: the entry to query
<!-- ##### MACRO GST_CLOCK_ENTRY_STATUS ##### -->
<para>
The status of the entry
</para>
@entry: the entry to query
<!-- ##### ENUM GstClockReturn ##### -->
<para>
The return value of a clock operation.
</para>
@GST_CLOCK_OK: The operation succeded.
@GST_CLOCK_EARLY: The operation was scheduled too late.
@GST_CLOCK_UNSCHEDULED: The clockID was unscheduled
@GST_CLOCK_BUSY: The ClockID is busy
@GST_CLOCK_BADTIME: A bad time was provided to a function.
@GST_CLOCK_ERROR: An error occured
@GST_CLOCK_UNSUPPORTED: Operation is not supported
<!-- ##### ENUM GstClockFlags ##### -->
<para>
The capabilities of this clock
</para>
@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
<!-- ##### MACRO GST_CLOCK_FLAGS ##### -->
<para>
Get the clock flags
</para>
@clock: the clock to query
<!-- ##### FUNCTION gst_clock_set_resolution ##### -->
<para>
</para>
@clock:
@resolution:
@Returns:
<!-- ##### FUNCTION gst_clock_get_resolution ##### -->
<para>
</para>
@clock:
@Returns:
<!-- ##### FUNCTION gst_clock_get_time ##### -->
<para>
</para>
@clock:
@Returns:
<!-- ##### FUNCTION gst_clock_new_single_shot_id ##### -->
<para>
</para>
@clock:
@time:
@Returns:
<!-- ##### FUNCTION gst_clock_new_periodic_id ##### -->
<para>
</para>
@clock:
@start_time:
@interval:
@Returns:
<!-- ##### FUNCTION gst_clock_id_get_time ##### -->
<para>
</para>
@id:
@Returns:
<!-- ##### FUNCTION gst_clock_id_wait ##### -->
<para>
</para>
@id:
@jitter:
@Returns:
<!-- ##### FUNCTION gst_clock_id_wait_async ##### -->
<para>
</para>
@id:
@func:
@user_data:
@Returns:
<!-- ##### FUNCTION gst_clock_id_unschedule ##### -->
<para>
</para>
@id: