3.2.3. Digital TV demux read()¶
3.2.3.1. Name¶
Digital TV demux read()
3.2.3.2. Synopsis¶
-
size_t read(int fd, void *buf, size_t count)¶
3.2.3.3. Arguments¶
fd
File descriptor returned by a previous call to
open()
.buf
Buffer to be filled
count
Max number of bytes to read
3.2.3.4. Description¶
This system call returns filtered data, which might be section or Packetized
Elementary Stream (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.
Note
if a section filter created with
DMX_CHECK_CRC
flag set,
data that fails on CRC check will be silently ignored.
3.2.3.5. Return Value¶
On success 0 is returned.
On error -1 is returned, and the errno
variable is set
appropriately.
|
No data to return and |
|
The filtered data was not read from the buffer in due time, resulting in non-read data being lost. The buffer is flushed. |
|
The section was not loaded within the stated timeout period. See ioctl DMX_SET_FILTER for how to set a timeout. |
|
The driver failed to write to the callers buffer due to an invalid *buf pointer. |
The generic error codes are described at the Generic Error Codes chapter.