3.2.3. 数字电视解复用 read()¶
3.2.3.1. 名称¶
数字电视解复用 read()
3.2.3.2. 概要¶
-
size_t read(int fd, void *buf, size_t count)¶
3.2.3.3. 参数¶
fd
先前调用
open()
返回的文件描述符。buf
要填充的缓冲区
count
要读取的最大字节数
3.2.3.4. 描述¶
此系统调用返回已过滤的数据,可能是节数据或打包基本流 (PES) 数据。过滤后的数据从驱动程序的内部循环缓冲区传输到 buf
。要传输的最大数据量由 count 暗示。
注意
如果使用设置了 DMX_CHECK_CRC
标志创建节过滤器,则 CRC 校验失败的数据将被静默忽略。
3.2.3.5. 返回值¶
成功时返回 0。
发生错误时返回 -1,并相应地设置 errno
变量。
|
没有数据返回且指定了 |
|
未及时从缓冲区读取过滤的数据,导致未读取的数据丢失。缓冲区被刷新。 |
|
未在规定的超时时间内加载该节。 有关如何设置超时,请参阅 ioctl DMX_SET_FILTER。 |
|
由于 *buf 指针无效,驱动程序无法写入调用者的缓冲区。 |
通用错误代码在 通用错误代码 章节中进行了描述。