The Linux DVB API lets you control these hardware components through currently six Unix-style character devices for video, audio, frontend, demux, CA and IP-over-DVB networking. The video and audio devices control the MPEG2 decoder hardware, the frontend device the tuner and the DVB demodulator. The demux device gives you control over the PES and section filters of the hardware. If the hardware does not support filtering these filters can be implemented in software. Finally, the CA device controls all the conditional access capabilities of the hardware. It can depend on the individual security requirements of the platform, if and how many of the CA functions are made available to the application through this device.
All devices can be found in the /dev tree under /dev/dvb. The individual devices are called:
/dev/dvb/adapterN/audioM,
/dev/dvb/adapterN/videoM,
/dev/dvb/adapterN/frontendM,
/dev/dvb/adapterN/netM,
/dev/dvb/adapterN/demuxM,
/dev/dvb/adapterN/caM,
where N enumerates the DVB PCI cards in a system starting from 0, and M enumerates the devices of each type within each adapter, starting from 0, too. We will omit the “/dev/dvb/adapterN/” in the further dicussion of these devices. The naming scheme for the devices is the same wheter devfs is used or not.
More details about the data structures and function calls of all the devices are described in the following chapters.