avcap::CaptureDevice Class Reference

#include <avcap/CaptureDevice.h>

Inheritance diagram for avcap::CaptureDevice:

Inheritance graph
[legend]

Detailed Description

This class is an abstraction of a video capture device.

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 DeviceDescriptorgetDescriptor ()=0
 Return the descriptor of the device.
virtual CaptureManagergetVidCapMgr ()=0
 Use this manager to start/stop capturing and to register a user defined CaptureHandler.
virtual ConnectorManagergetConnectorMgr ()=0
 Use this manager to query available audio/video inputs/outputs and to select them.
virtual ControlManagergetControlMgr ()=0
virtual FormatManagergetFormatMgr ()=0
 Use this manager to query the available formats, video standards and resolutions to select the desired ones.


Constructor & Destructor Documentation

avcap::CaptureDevice::CaptureDevice (  )  [inline]

Constructor.

virtual avcap::CaptureDevice::~CaptureDevice (  )  [inline, virtual]

Destructor.


Member Function Documentation

virtual const DeviceDescriptor* avcap::CaptureDevice::getDescriptor (  )  [pure virtual]

Return the descriptor of the device.

Returns:
The DeviceDescriptor-object.

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.

Returns:
The VidCapManager.

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.

Returns:
The ConnectorManager.

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...).

Returns:
The ControlManager.

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.

Returns:
The FormatManager.

Implemented in avcap::AVC_Device, avcap::V4L1_Device, avcap::V4L2_Device, avcap::QT_Device, and avcap::DS_Device.


The documentation for this class was generated from the following file:
Generated on Mon Nov 30 11:10:32 2009 for avcap-0.1 by  doxygen 1.5.1