The media subsystem consists on Linux support for several different types of devices:
Audio and video grabbers;
PC and Laptop Cameras;
Complex cameras found on Embedded hardware;
Analog and digital TV;
HDMI Customer Electronics Control (CEC);
Multi-touch input devices;
Media encoders and decoders.
Due to the diversity of devices, the subsystem provides several different APIs:
Remote Controller API;
HDMI CEC API;
Media controller API;
Video4Linux Request API (experimental);
Digital TV API (also known as DVB API).