diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2015-05-14 12:18:25 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-06-03 13:55:28 +0200 |
commit | 8d7775983460e605c46628644fecb1839bde1ffe (patch) | |
tree | dd3d2861169bbfe5d0d956124d28ce1f7368f818 /docs | |
parent | fe3249b0e1092c442e0889640295569eb012177d (diff) |
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
Diffstat (limited to 'docs')
-rw-r--r-- | docs/libs/gstreamer-libs-docs.sgml | 1 | ||||
-rw-r--r-- | docs/libs/gstreamer-libs-sections.txt | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/docs/libs/gstreamer-libs-docs.sgml b/docs/libs/gstreamer-libs-docs.sgml index 0070771da..406d6064e 100644 --- a/docs/libs/gstreamer-libs-docs.sgml +++ b/docs/libs/gstreamer-libs-docs.sgml @@ -76,6 +76,7 @@ <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"> diff --git a/docs/libs/gstreamer-libs-sections.txt b/docs/libs/gstreamer-libs-sections.txt index f1db3a097..1dfc53b44 100644 --- a/docs/libs/gstreamer-libs-sections.txt +++ b/docs/libs/gstreamer-libs-sections.txt @@ -942,6 +942,32 @@ gst_net_time_provider_get_type </SECTION> <SECTION> +<FILE>gstptpclock</FILE> +<TITLE>GstPtpClock</TITLE> +<INCLUDE>gst/net/net.h</INCLUDE> +gst_ptp_init +gst_ptp_deinit +gst_ptp_is_initialized +gst_ptp_is_supported + +GstPtpClock +gst_ptp_clock_new + +gst_ptp_statistics_callback_add +gst_ptp_statistics_callback_remove +<SUBSECTION Standard> +GstPtpClockClass +GstPtpClockPrivate +GST_PTP_CLOCK +GST_IS_PTP_CLOCK +GST_TYPE_PTP_CLOCK +GST_PTP_CLOCK_CLASS +GST_IS_PTP_CLOCK_CLASS +<SUBSECTION Private> +gst_ptp_clock_get_type +</SECTION> + +<SECTION> <FILE>gstcheck</FILE> <TITLE>GstCheck</TITLE> <INCLUDE>gst/check/gstcheck.h</INCLUDE> |