gstreamer/docs/libs/gstreamer-libs-docs.sgml
Sebastian Dröge 8d77759834 ptp: Initial implementation of a PTP clock
GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in
slave-only mode, that allows a GStreamer pipeline to synchronize
to a PTP network clock in some specific domain.

The PTP subsystem can be initialized with gst_ptp_init(), which then
starts a helper process to do the actual communication via the PTP
ports. This is required as PTP listens on ports < 1024 and thus
requires special privileges. Once this helper process is started, the
main process will synchronize to all PTP domains that are detected on
the selected interfaces.

gst_ptp_clock_new() then allows to create a GstClock that provides the
PTP time from a master clock inside a specific PTP domain. This clock
will only return valid timestamps once the timestamps in the PTP domain
are known. To check this, the GstPtpClock::internal-clock property and
the related notify::clock signal can be used. Once the internal clock
is not NULL, the PTP domain's time is known. Alternatively you can wait
for this with gst_ptp_clock_wait_ready().

To gather statistics about the PTP clock synchronization,
gst_ptp_statistics_callback_add() can be used. This gives the
application the possibility to collect all kinds of statistics
from the clock synchronization.

https://bugzilla.gnome.org/show_bug.cgi?id=749391
2015-06-03 13:55:28 +02:00

112 lines
4.2 KiB
XML

<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY % version-entities SYSTEM "version.entities">
%version-entities;
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY hash "#">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>GStreamer &GST_API_VERSION; Library Reference Manual</title>
<releaseinfo>
for GStreamer Library &GST_API_VERSION; (&GST_VERSION;)
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/</ulink>.
</releaseinfo>
</bookinfo>
<part id="gstreamer-libs">
<title>GStreamer Libraries</title>
<para>
To ease the creation of plugins, a library system was created. The most common
functions for a plugin can be found in a library.
</para>
<para>
GStreamer provides some standard libraries you can use to create plugins.
</para>
<chapter id="gstreamer-base">
<title>GStreamer Base and Utillity Classes</title>
<para>
libgstbase-&GST_API_VERSION;.so provides some base classes to be extended
by elements and utillity classes that are most useful for plugin developers.
</para>
<xi:include href="xml/gstbaseparse.xml" />
<xi:include href="xml/gstbasesrc.xml" />
<xi:include href="xml/gstbasesink.xml" />
<xi:include href="xml/gstbasetransform.xml" />
<xi:include href="xml/gstpushsrc.xml" />
<xi:include href="xml/gstadapter.xml" />
<xi:include href="xml/gstbitreader.xml" />
<xi:include href="xml/gstbytereader.xml" />
<xi:include href="xml/gstbytewriter.xml" />
<xi:include href="xml/gstcollectpads.xml" />
<xi:include href="xml/gstflowcombiner.xml" />
<xi:include href="xml/gsttypefindhelper.xml" />
<xi:include href="xml/gstdataqueue.xml" />
<xi:include href="xml/gstqueuearray.xml" />
</chapter>
<chapter id="gstreamer-control">
<title>GStreamer Dynamic Parameter Control</title>
<para>
libgstcontroller-&GST_API_VERSION;.so provides functionality to animate
element properties over time.
</para>
<xi:include href="xml/gstargbcontrolbinding.xml" />
<xi:include href="xml/gstdirectcontrolbinding.xml" />
<xi:include href="xml/gsttimedvaluecontrolsource.xml" />
<xi:include href="xml/gstinterpolationcontrolsource.xml" />
<xi:include href="xml/gstlfocontrolsource.xml" />
<xi:include href="xml/gsttriggercontrolsource.xml" />
</chapter>
<chapter id="gstreamer-net">
<title>GStreamer Network Classes</title>
<para>
libgstnet-&GST_API_VERSION;.so provides network elements and objects.
</para>
<xi:include href="xml/gstnetaddressmeta.xml" />
<xi:include href="xml/gstnetclientclock.xml" />
<xi:include href="xml/gstnettimepacket.xml" />
<xi:include href="xml/gstnettimeprovider.xml" />
<xi:include href="xml/gstptpclock.xml" />
</chapter>
<chapter id="gstreamer-check">
<title>GStreamer Check Unit Testing</title>
<para>
libgstcheck-&GST_API_VERSION;.so provides functionality for writing
unit tests that use the check framework.
</para>
<xi:include href="xml/gstcheck.xml" />
<xi:include href="xml/gstcheckbufferstraw.xml" />
<xi:include href="xml/gstcheckconsistencychecker.xml" />
<xi:include href="xml/gsttestclock.xml" />
</chapter>
</part>
<chapter id="gstreamer-hierarchy">
<title>Object Hierarchy</title>
<xi:include href="xml/tree_index.sgml"/>
</chapter>
<index id="api-index-full">
<title>API Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-deprecated" role="deprecated">
<title>Index of deprecated API</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>