#include <avcap/CaptureDevice.h>
Inheritance diagram for avcap::CaptureDevice:
It is the main entry point for an application to access the functionality of a capture device, i.e. to query capabilities and settings of the device, to manipulate them and to capture the video.
The access to the functionality of a capture device is divided into different domains and is provided by so called managers. See the documentation of the various Manager-classes for the details of their usage. The managers and their responsibilities are:
CaptureDevice-classes implementing the back-end for a certain capture-API must derive from this class and implement the abstract methods to provide the API-specific manager-classes. However, if you want to use avcap only, you can use one of the following implementations, representing the supported, existing devices (depending on the operating system avcap has been build on, not all of them may be available and/or not all methods of their managers are implemented):
A concrete CaptureDevice-object must not be created manually. A unique instance can be obtained by calling the method DeviceDescriptor::getDevice() between successive calls to DeviceDescriptor::open() and close(). All available DeviceDescriptors representing the capture devices found on a system can be obtained by calling DeviceCollector::instance()->getDeviceList(). The CaptureDevice-object is owned by the DeviceDescriptor, so you must not delete the CaptureDevice instance.
Public Member Functions | |
CaptureDevice () | |
Constructor. | |
virtual | ~CaptureDevice () |
Destructor. | |
virtual const DeviceDescriptor * | getDescriptor ()=0 |
Return the descriptor of the device. | |
virtual CaptureManager * | getVidCapMgr ()=0 |
Use this manager to start/stop capturing and to register a user defined CaptureHandler. | |
virtual ConnectorManager * | getConnectorMgr ()=0 |
Use this manager to query available audio/video inputs/outputs and to select them. | |
virtual ControlManager * | getControlMgr ()=0 |
virtual FormatManager * | getFormatMgr ()=0 |
Use this manager to query the available formats, video standards and resolutions to select the desired ones. |
avcap::CaptureDevice::CaptureDevice | ( | ) | [inline] |
Constructor.
virtual avcap::CaptureDevice::~CaptureDevice | ( | ) | [inline, virtual] |
Destructor.
virtual const DeviceDescriptor* avcap::CaptureDevice::getDescriptor | ( | ) | [pure virtual] |
Return the descriptor of the device.
Implemented in avcap::AVC_Device, avcap::V4L1_Device, avcap::V4L2_Device, avcap::QT_Device, and avcap::DS_Device.
virtual CaptureManager* avcap::CaptureDevice::getVidCapMgr | ( | ) | [pure virtual] |
Use this manager to start/stop capturing and to register a user defined CaptureHandler.
Implemented in avcap::AVC_Device, avcap::V4L1_Device, avcap::V4L2_Device, avcap::QT_Device, and avcap::DS_Device.
virtual ConnectorManager* avcap::CaptureDevice::getConnectorMgr | ( | ) | [pure virtual] |
Use this manager to query available audio/video inputs/outputs and to select them.
Implemented in avcap::AVC_Device, avcap::V4L1_Device, avcap::V4L2_Device, avcap::QT_Device, and avcap::DS_Device.
virtual ControlManager* avcap::CaptureDevice::getControlMgr | ( | ) | [pure virtual] |
Use this manager to query and to adjust the available controls of the device (e.g. brightness, contrast, saturation...).
Implemented in avcap::AVC_Device, avcap::V4L1_Device, avcap::V4L2_Device, avcap::QT_Device, and avcap::DS_Device.
virtual FormatManager* avcap::CaptureDevice::getFormatMgr | ( | ) | [pure virtual] |
Use this manager to query the available formats, video standards and resolutions to select the desired ones.
Implemented in avcap::AVC_Device, avcap::V4L1_Device, avcap::V4L2_Device, avcap::QT_Device, and avcap::DS_Device.