95 lines
1.6 KiB
ReStructuredText
95 lines
1.6 KiB
ReStructuredText
.. -*- coding: utf-8; mode: rst -*-
|
||
|
||
.. _dmx_fread:
|
||
|
||
================
|
||
DVB demux read()
|
||
================
|
||
|
||
Name
|
||
----
|
||
|
||
DVB demux read()
|
||
|
||
|
||
Synopsis
|
||
--------
|
||
|
||
.. c:function:: size_t read(int fd, void *buf, size_t count)
|
||
:name: dvb-dmx-read
|
||
|
||
Arguments
|
||
---------
|
||
|
||
``fd``
|
||
File descriptor returned by a previous call to :c:func:`open() <dvb-ca-open>`.
|
||
|
||
``buf``
|
||
Buffer to be filled
|
||
|
||
``count``
|
||
Max number of bytes to read
|
||
|
||
Description
|
||
-----------
|
||
|
||
This system call returns filtered data, which might be section or PES
|
||
data. The filtered data is transferred from the driver’s internal
|
||
circular buffer to buf. The maximum amount of data to be transferred is
|
||
implied by count.
|
||
|
||
Return Value
|
||
------------
|
||
|
||
.. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
|
||
|
||
.. flat-table::
|
||
:header-rows: 0
|
||
:stub-columns: 0
|
||
|
||
|
||
- .. row 1
|
||
|
||
- ``EWOULDBLOCK``
|
||
|
||
- No data to return and O_NONBLOCK was specified.
|
||
|
||
- .. row 2
|
||
|
||
- ``EBADF``
|
||
|
||
- fd is not a valid open file descriptor.
|
||
|
||
- .. row 3
|
||
|
||
- ``ECRC``
|
||
|
||
- Last section had a CRC error - no data returned. The buffer is
|
||
flushed.
|
||
|
||
- .. row 4
|
||
|
||
- ``EOVERFLOW``
|
||
|
||
-
|
||
|
||
- .. row 5
|
||
|
||
-
|
||
- The filtered data was not read from the buffer in due time,
|
||
resulting in non-read data being lost. The buffer is flushed.
|
||
|
||
- .. row 6
|
||
|
||
- ``ETIMEDOUT``
|
||
|
||
- The section was not loaded within the stated timeout period. See
|
||
ioctl DMX_SET_FILTER for how to set a timeout.
|
||
|
||
- .. row 7
|
||
|
||
- ``EFAULT``
|
||
|
||
- The driver failed to write to the callers buffer due to an invalid
|
||
\*buf pointer.
|