18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
28c2ecf20Sopenharmony_ci.. c:namespace:: DTV.dmx
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci.. _DMX_GET_STC:
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci===========
78c2ecf20Sopenharmony_ciDMX_GET_STC
88c2ecf20Sopenharmony_ci===========
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciName
118c2ecf20Sopenharmony_ci----
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciDMX_GET_STC
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciSynopsis
168c2ecf20Sopenharmony_ci--------
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci.. c:macro:: DMX_GET_STC
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci``int ioctl(int fd, DMX_GET_STC, struct dmx_stc *stc)``
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciArguments
238c2ecf20Sopenharmony_ci---------
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci``fd``
268c2ecf20Sopenharmony_ci    File descriptor returned by :c:func:`open()`.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci``stc``
298c2ecf20Sopenharmony_ci    Pointer to :c:type:`dmx_stc` where the stc data is to be stored.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciDescription
328c2ecf20Sopenharmony_ci-----------
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciThis ioctl call returns the current value of the system time counter
358c2ecf20Sopenharmony_ci(which is driven by a PES filter of type :c:type:`DMX_PES_PCR <dmx_ts_pes>`).
368c2ecf20Sopenharmony_ciSome hardware supports more than one STC, so you must specify which one by
378c2ecf20Sopenharmony_cisetting the :c:type:`num <dmx_stc>` field of stc before the ioctl (range 0...n).
388c2ecf20Sopenharmony_ciThe result is returned in form of a ratio with a 64 bit numerator
398c2ecf20Sopenharmony_ciand a 32 bit denominator, so the real 90kHz STC value is
408c2ecf20Sopenharmony_ci``stc->stc / stc->base``.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciReturn Value
438c2ecf20Sopenharmony_ci------------
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciOn success 0 is returned.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ciOn error -1 is returned, and the ``errno`` variable is set
488c2ecf20Sopenharmony_ciappropriately.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci.. flat-table::
538c2ecf20Sopenharmony_ci    :header-rows:  0
548c2ecf20Sopenharmony_ci    :stub-columns: 0
558c2ecf20Sopenharmony_ci    :widths: 1 16
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci    -  .. row 1
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci       -  ``EINVAL``
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci       -  Invalid stc number.
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ciThe generic error codes are described at the
648c2ecf20Sopenharmony_ci:ref:`Generic Error Codes <gen-errors>` chapter.
65