# PVideoOutputDevice Class Reference

This class defines a video output device. More...

`#include <videoio.h>`

Inheritance diagram for PVideoOutputDevice:

List of all members.

## Public Member Functions

| PVideoOutputDevice ()
| Create a new video output device.
virtual | ~PVideoOutputDevice ()
| Close the video output device on destruction.
virtual PBoolean | Close ()
| Close the device.
virtual PBoolean | Start ()
| Start the video device I/O display.
virtual PBoolean | Stop ()
| Stop the video device I/O display.
virtual PBoolean | CanCaptureVideo () const
| Is the device a camera, and obtain video.
virtual PBoolean | SetFrameData (unsigned x, unsigned y, unsigned width, unsigned height, const BYTE *data, PBoolean endFrame=true)=0
| Set a section of the output frame buffer.
virtual PBoolean | SetFrameData (unsigned x, unsigned y, unsigned width, unsigned height, const BYTE *data, PBoolean endFrame, unsigned flags)
virtual PBoolean | SetFrameData (unsigned x, unsigned y, unsigned width, unsigned height, unsigned sarwidth, unsigned sarheight, const BYTE *data, PBoolean endFrame, unsigned flags, const void *mark)
virtual PBoolean | DisableDecode ()
| Allow the outputdevice decide whether the decoder should ignore decode hence not render any output.
virtual PBoolean | GetPosition (int &x, int &y) const
| Get the position of the output device, where relevant.
virtual bool | SetPosition (int x, int y)
| Set the position of the output device, where relevant.

## Static Public Member Functions

static PStringArray | GetDriverNames (PPluginManager *pluginMgr=NULL)
| Get the list of available video output drivers (plug-ins).
static PStringArray | GetDriversDeviceNames (const PString &driverName, PPluginManager *pluginMgr=NULL)
| Get video output devices that correspond to the specified driver name.
static PVideoOutputDevice * | CreateDevice (const PString &driverName, PPluginManager *pluginMgr=NULL)
| Create the video output device that corresponds to the specified driver name.
static PVideoOutputDevice * | CreateDeviceByName (const PString &deviceName, const PString &driverName=PString::Empty(), PPluginManager *pluginMgr=NULL)
static PVideoOutputDevice * | CreateOpenedDevice (const PString &driverName, const PString &deviceName, PBoolean startImmediate=true, PPluginManager *pluginMgr=NULL)
| Create an opened video output device that corresponds to the specified names.
static PVideoOutputDevice * | CreateOpenedDevice (const OpenArgs &args, PBoolean startImmediate=true)
| Create an opened video output device that corresponds to the specified arguments.

## Detailed Description

This class defines a video output device.

- typically, a window.

## Constructor & Destructor Documentation

PVideoOutputDevice::PVideoOutputDevice | ( |  | ) |

Create a new video output device.

virtual PVideoOutputDevice::~PVideoOutputDevice | ( |  | ) | `[inline, virtual]`

Close the video output device on destruction.

## Member Function Documentation

virtual PBoolean PVideoOutputDevice::CanCaptureVideo | ( |  | ) | const`[virtual]`

Is the device a camera, and obtain video.

Implements PVideoDevice.

virtual PBoolean PVideoOutputDevice::Close | ( |  | ) | `[inline, virtual]`

Close the device.

Implements PVideoDevice.

static PVideoOutputDevice* PVideoOutputDevice::CreateDevice | ( | const PString & | driverName,
|  | PPluginManager * | pluginMgr = `NULL` |
| ) |  |  | `[static]`

Create the video output device that corresponds to the specified driver name.

Parameters:

  driverName | Name of driver
  pluginMgr | Plug in manager, use default if NULL

static PVideoOutputDevice* PVideoOutputDevice::CreateDeviceByName | ( | const PString & | deviceName,
|  | const PString & | driverName = `PString::Empty()`,
|  | PPluginManager * | pluginMgr = `NULL` |
| ) |  |  | `[static]`

Parameters:

  deviceName | Name of device
  driverName | Name of driver (if any)
  pluginMgr | Plug in manager, use default if NULL

static PVideoOutputDevice* PVideoOutputDevice::CreateOpenedDevice | ( | const OpenArgs & | args,
|  | PBoolean | startImmediate = `true` |
| ) |  |  | `[static]`

Create an opened video output device that corresponds to the specified arguments.

Parameters:

  args | Parameters to set on opened device
  startImmediate | Immediately start display

static PVideoOutputDevice* PVideoOutputDevice::CreateOpenedDevice | ( | const PString & | driverName,
|  | const PString & | deviceName,
|  | PBoolean | startImmediate = `true`,
|  | PPluginManager * | pluginMgr = `NULL` |
| ) |  |  | `[static]`

Create an opened video output device that corresponds to the specified names.

If the driverName parameter is an empty string or "*" then CreateDeviceByName is used with the deviceName parameter which is assumed to be a value returned from GetDriversDeviceNames().

Parameters:

  driverName | Name of driver
  deviceName | Name of device
  startImmediate | Immediately start display
  pluginMgr | Plug in manager, use default if NULL

virtual PBoolean PVideoOutputDevice::DisableDecode | ( |  | ) | `[virtual]`

Allow the outputdevice decide whether the decoder should ignore decode hence not render any output.

Returns: false if to decode and render.

static PStringArray PVideoOutputDevice::GetDriverNames | ( | PPluginManager * | pluginMgr = `NULL` | ) | `[static]`

Get the list of available video output drivers (plug-ins).

Parameters:

  pluginMgr | Plug in manager, use default if NULL

static PStringArray PVideoOutputDevice::GetDriversDeviceNames | ( | const PString & | driverName,
|  | PPluginManager * | pluginMgr = `NULL` |
| ) |  |  | `[static]`

Get video output devices that correspond to the specified driver name.

If driverName is an empty string or the value "*" then this will return a list of unique device names across all of the available drivers. If two drivers have identical names for devices, then the string returned will be of the form driver+'\t'+device.

Parameters:

  driverName | Name of driver
  pluginMgr | Plug in manager, use default if NULL

virtual PBoolean PVideoOutputDevice::GetPosition | ( | int & | x,
|  | int & | y |
| ) |  |  | const`[virtual]`

Get the position of the output device, where relevant.

For devices such as files, this always returns zeros. For devices such as Windows, this is the position of the window on the screen.

Returns: TRUE if the position is available.

virtual PBoolean PVideoOutputDevice::SetFrameData | ( | unsigned | x,
|  | unsigned | y,
|  | unsigned | width,
|  | unsigned | height,
|  | unsigned | sarwidth,
|  | unsigned | sarheight,
|  | const BYTE * | data,
|  | PBoolean | endFrame,
|  | unsigned | flags,
|  | const void * | mark |
| ) |  |  | `[virtual]`

virtual PBoolean PVideoOutputDevice::SetFrameData | ( | unsigned | x,
|  | unsigned | y,
|  | unsigned | width,
|  | unsigned | height,
|  | const BYTE * | data,
|  | PBoolean | endFrame,
|  | unsigned | flags |
| ) |  |  | `[virtual]`

virtual PBoolean PVideoOutputDevice::SetFrameData | ( | unsigned | x,
|  | unsigned | y,
|  | unsigned | width,
|  | unsigned | height,
|  | const BYTE * | data,
|  | PBoolean | endFrame = `true` |
| ) |  |  | `[pure virtual]`

Set a section of the output frame buffer.

Implemented in PVideoOutputDeviceRGB.

virtual bool PVideoOutputDevice::SetPosition | ( | int | x,
|  | int | y |
| ) |  |  | `[virtual]`

Set the position of the output device, where relevant.

For devices such as files, this does nothing. For devices such as Windows, this sets the position of the window on the screen.

Returns: TRUE if the position can be set.

virtual PBoolean PVideoOutputDevice::Start | ( |  | ) | `[inline, virtual]`

Start the video device I/O display.

Implements PVideoDevice.

virtual PBoolean PVideoOutputDevice::Stop | ( |  | ) | `[inline, virtual]`

Stop the video device I/O display.

Implements PVideoDevice.

The documentation for this class was generated from the following file:

- videoio.h