3.2.1. 数字电视解复用器 open()¶
3.2.1.1. 名称¶
数字电视解复用器 open()
3.2.1.2. 概要¶
-
int open(const char *deviceName, int flags)¶
3.2.1.3. 参数¶
name
特定数字电视解复用器设备的名称。
flags
以下标志的按位或
|
只读访问 |
|
读/写访问 |
|
以非阻塞模式打开(阻塞模式为默认) |
3.2.1.4. 描述¶
此系统调用与设备名称 /dev/dvb/adapter?/demux?
一起使用时,会分配一个新的过滤器并返回一个句柄,该句柄可用于后续控制该过滤器。必须为要使用的每个过滤器执行此调用,即,每个返回的文件描述符是对单个过滤器的引用。/dev/dvb/adapter?/dvr?
是一个逻辑设备,用于检索数字视频录制的传输流。从该设备读取时,会读取一个包含来自相应的解复用器设备 (/dev/dvb/adapter?/demux?
) 中设置的并将输出设置为 DMX_OUT_TS_TAP
的所有 PES 过滤器的包的传输流。通过写入此设备可以重放录制的传输流。
阻塞或非阻塞模式的重要性在有区别的功能文档中进行了描述。它不影响 open()
调用本身的语义。使用 fcntl 系统调用的 F_SETFL
命令,可以将以阻塞模式打开的设备稍后设置为非阻塞模式(反之亦然)。
3.2.1.5. 返回值¶
成功时返回 0。
错误时返回 -1,并且会适当地设置 errno
变量。
|
“打开的文件过多”,即没有更多可用的过滤器。 |
通用错误代码在 通用错误代码 章节中进行了描述。