Sophie

Sophie

distrib > Fedora > 15 > x86_64 > by-pkgid > ec9ccd822be669bf449eecc0e640e0be > files > 121

camstream-0.26.3-19.fc12.x86_64.rpm

<html>
<head>
<title>Camstream: CamStream API documentation</title>
<link rel="stylesheet" href="../../tech.css" type="text/css">
</head>
<body>

<!-- Generated by Doxygen 1.2.6 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>CVideoDevice  Class Reference</h1>A device wrapper for Video4Linux devices. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="videodevice_h-source.html">VideoDevice.h</a>&gt;</code>
<p>
<p>Inheritance diagram for CVideoDevice::
<p><center><img src="class_cvideodevice.gif" usemap="#CVideoDevice_map" border="0"></center>
<map name="CVideoDevice_map">
<area href="class_qobject.html" alt="QObject" shape="rect" coords="0,0,94,24">
</map>
<a href="class_cvideodevice-members.html">List of all members.</a><h2>Public Methods</h2>
<ul>
<li><a class="el" href="class_cvideodevice.html#a0">CVideoDevice</a> (const QString &amp;node_name)
<li><a class="el" href="class_cvideodevice.html#a1">~CVideoDevice</a> ()
<li>bool <a class="el" href="class_cvideodevice.html#a2">IsValid</a> ()
<li>int <a class="el" href="class_cvideodevice.html#a3">Open</a> (int buffers=1)
<li>void <a class="el" href="class_cvideodevice.html#a4">Close</a> ()
<li>int <a class="el" href="class_cvideodevice.html#a5">GetDescriptor</a> () const
<li>void <a class="el" href="class_cvideodevice.html#a6">EnableRGB</a> (bool isOn)
<li>void <a class="el" href="class_cvideodevice.html#a7">EnableYUV</a> (bool isOn)
<li>QString <a class="el" href="class_cvideodevice.html#a8">GetNodeName</a> () const
<li>QString <a class="el" href="class_cvideodevice.html#a9">GetIntfName</a> () const
<li>QSize <a class="el" href="class_cvideodevice.html#a10">GetMinSize</a> () const
<li>QSize <a class="el" href="class_cvideodevice.html#a11">GetSize</a> ()
<li>QSize <a class="el" href="class_cvideodevice.html#a12">GetMaxSize</a> () const
<li>bool <a class="el" href="class_cvideodevice.html#a13">SetSize</a> (int width, int height)
<li>bool <a class="el" href="class_cvideodevice.html#a14">SetSize</a> (const QSize &amp;new_size)
<li>int <a class="el" href="class_cvideodevice.html#a15">GetFramerate</a> () const
<li>bool <a class="el" href="class_cvideodevice.html#a16">SetFramerate</a> (int fps)
<li>int <a class="el" href="class_cvideodevice.html#a17">GetMBuffers</a> () const
<li>int <a class="el" href="class_cvideodevice.html#a18">GetBuffers</a> () const
<li>int <a class="el" href="class_cvideodevice.html#a19">GetVideoInputs</a> () const
<li>int <a class="el" href="class_cvideodevice.html#a20">GetCurrentVideoInput</a> () const
<li><a class="el" href="class_cvideodeviceinput.html">CVideoDeviceInput</a>* <a class="el" href="class_cvideodevice.html#a21">GetVideoInput</a> (int number=-1) const
<li>bool <a class="el" href="class_cvideodevice.html#a22">SelectVideoInput</a> (int number)
<li>int <a class="el" href="class_cvideodevice.html#a23">GetAudioInputs</a> () const
<li><a class="el" href="class_cvideoaudioinput.html">CVideoAudioInput</a>* <a class="el" href="class_cvideodevice.html#a24">GetAudioInput</a> (int number=-1) const
<li>bool <a class="el" href="class_cvideodevice.html#a25">SelectAudioInput</a> (int number)
<li>int <a class="el" href="class_cvideodevice.html#a26">GetBrightness</a> () const
<li>bool <a class="el" href="class_cvideodevice.html#a27">SetBrightness</a> (int val)
<li>int <a class="el" href="class_cvideodevice.html#a28">GetContrast</a> () const
<li>bool <a class="el" href="class_cvideodevice.html#a29">SetContrast</a> (int val)
<li>int <a class="el" href="class_cvideodevice.html#a30">GetHue</a> () const
<li>bool <a class="el" href="class_cvideodevice.html#a31">SetHue</a> (int val)
<li>int <a class="el" href="class_cvideodevice.html#a32">GetColour</a> () const
<li>bool <a class="el" href="class_cvideodevice.html#a33">SetColour</a> (int val)
<li>int <a class="el" href="class_cvideodevice.html#a34">GetWhiteness</a> () const
<li>bool <a class="el" href="class_cvideodevice.html#a35">SetWhiteness</a> (int val)
<li>int <a class="el" href="class_cvideodevice.html#a36">ReadImage</a> ()
<li>QImage* <a class="el" href="class_cvideodevice.html#a37">GetRGB</a> (int offset=0) const
<li>QImage* <a class="el" href="class_cvideodevice.html#a38">GetY</a> (int offset=0) const
<li>QImage* <a class="el" href="class_cvideodevice.html#a39">GetU</a> (int offset=0) const
<li>QImage* <a class="el" href="class_cvideodevice.html#a40">GetV</a> (int offset=0) const
</ul>
<h2>Signals</h2>
<ul>
<li>void <a class="el" href="class_cvideodevice.html#j0">Notify</a> ()
<li>void <a class="el" href="class_cvideodevice.html#j1">Closed</a> ()
<li>void <a class="el" href="class_cvideodevice.html#j2">Resized</a> (const QSize &amp;new_size)
<li>void <a class="el" href="class_cvideodevice.html#j3">FramerateChanged</a> (int)
<li>void <a class="el" href="class_cvideodevice.html#j4">ChangedVideoInput</a> (int input)
<li>void <a class="el" href="class_cvideodevice.html#j5">ChangedTunerNorm</a> (int tuner, int norm)
<li>void <a class="el" href="class_cvideodevice.html#j6">Error</a> (int err_num)
</ul>
<h2>Friends</h2>
<ul>
<li>class <a class="el" href="#l0">CVideoDeviceInput</a>
<li>class <a class="el" href="#l1">CVideoDeviceTuner</a>
<li>class <a class="el" href="#l2">CVideoAudioInput</a>
</ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A device wrapper for Video4Linux devices.
<p>

<p>
 This class wraps itself around a Video4Linux device; at the moment it is primarely oriented at webcams, but grabber cards are supported as well. This device can be 'opened' multiple times, so more than one class can use this device (of course they all get the same picture).
<p>
The class can return video images in RGB, YUV or both formats; it also has an optional buffer scheme for the images; this can prevent the otherwise deep copy that is needed when, for example, image diffs need to be calculated.
<p>
The class will use mmap() when it is supported by the device driver. Also some device support select(); if not, a QTimer is used. Use the Framerate functions to set the framerate or timer. 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="CVideoDevice::CVideoDevice"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
CVideoDevice::CVideoDevice (
          </b></td>
          <td valign="bottom"><b>
const QString &amp; <em>node_name</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>node_name</em>
&nbsp;</td><td>
The /dev device name of the video device
<p>
</td></tr>
</table>
</dl>The constructor will do some basic checks to see if this is a valid device. If yes, <a class="el" href="class_cvideodevice.html#a2">IsValid</a>() will return TRUE, otherwise FALSE.     </td>
  </tr>
</table>
<a name="a1" doxytag="CVideoDevice::~CVideoDevice"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
CVideoDevice::~CVideoDevice (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Destroys the object; also closes the associated file descriptor     </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="j5" doxytag="CVideoDevice::ChangedTunerNorm"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CVideoDevice::ChangedTunerNorm (
          </b></td>
          <td valign="bottom"><b>
int <em>tuner</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>norm</em>&nbsp;)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The frequency or norm changed.     </td>
  </tr>
</table>
<a name="j4" doxytag="CVideoDevice::ChangedVideoInput"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CVideoDevice::ChangedVideoInput (
          </b></td>
          <td valign="bottom"><b>
int <em>input</em>&nbsp;)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The video input channel has changed.     </td>
  </tr>
</table>
<a name="a4" doxytag="CVideoDevice::Close"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CVideoDevice::Close (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Closes the device provisionally.
<p>

<p>
 This function decrements the usage counter of the VideoDevice. If the counter reaches 0, the device is really closed. See also <a class="el" href="class_cvideodevice.html#a3">Open</a>().     </td>
  </tr>
</table>
<a name="j1" doxytag="CVideoDevice::Closed"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CVideoDevice::Closed (
          </b></td>
          <td valign="bottom"><b>
)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The device is being closed by the last user; the device is not accessible     </td>
  </tr>
</table>
<a name="a6" doxytag="CVideoDevice::EnableRGB"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CVideoDevice::EnableRGB (
          </b></td>
          <td valign="bottom"><b>
bool <em>isOn</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Enable/disable retrieval of RGB image(s).
<p>

<p>
 This tells the object if RGB images are desired. This will help in selecting the proper PALETTE for the device. Both RGB and YUV images may be enabled. See also <a class="el" href="class_cvideodevice.html#a7">EnableYUV</a>.
<p>
Multiple calls to EnableRGB(TRUE) will require the same amount of calls to EnableRGB(FALSE) to turn RGB retrieval completely off.     </td>
  </tr>
</table>
<a name="a7" doxytag="CVideoDevice::EnableYUV"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CVideoDevice::EnableYUV (
          </b></td>
          <td valign="bottom"><b>
bool <em>isOn</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Enable/disable retrieval of YUV image(s).
<p>

<p>
 This tells the object if YUV (planar) images are desired. This will help in selecting the proper PALETTE for the device. Both YUV and RGB images may be enabled. See also <a class="el" href="class_cvideodevice.html#a6">EnableRGB</a>.
<p>
Multiple calls to EnableYUV(TRUE) will require the same amount of calls to EnableYUV(FALSE) to turn YUV retrieval completely off.     </td>
  </tr>
</table>
<a name="j6" doxytag="CVideoDevice::Error"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CVideoDevice::Error (
          </b></td>
          <td valign="bottom"><b>
int <em>err_num</em>&nbsp;)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
An error occured. err_num is one of the errno values.     </td>
  </tr>
</table>
<a name="j3" doxytag="CVideoDevice::FramerateChanged"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CVideoDevice::FramerateChanged (
          </b></td>
          <td valign="bottom"><b>
int&nbsp;)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The frame rate has been changed.     </td>
  </tr>
</table>
<a name="a24" doxytag="CVideoDevice::GetAudioInput"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_cvideoaudioinput.html">CVideoAudioInput</a> * CVideoDevice::GetAudioInput (
          </b></td>
          <td valign="bottom"><b>
int <em>number</em> = -1&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns an audio input channel (source) object.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>number</em>
&nbsp;</td><td>
The desired input channel; -1 for the current one </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
An object of type <a class="el" href="class_cvideoaudioinput.html">CVideoAudioInput</a>, or NULL if <b>number</b> is out of range
<p>
</dl>This returns a pointer to a <a class="el" href="class_cvideoaudioinput.html">CVideoAudioInput</a> object; when <b>number</b> is -1 (the default value), it returns the current input.     </td>
  </tr>
</table>
<a name="a23" doxytag="CVideoDevice::GetAudioInputs"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::GetAudioInputs (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return number of audio channels on the device.
<p>

<p>
 <b>Note!</b> There is no SelectAudioInput! I suppose it's switched together with the video input... Also there is no way to find out to which audio input is associated with which video input. It looks more like this class is meant for manipulating the FM sound decoder on the tuner than really  setting anything on the input.     </td>
  </tr>
</table>
<a name="a26" doxytag="CVideoDevice::GetBrightness"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::GetBrightness (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return brightness setting of device.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
unsigned integer in the range 0-65535. 65535 may indicate setting is not available. </dl>    </td>
  </tr>
</table>
<a name="a18" doxytag="CVideoDevice::GetBuffers"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::GetBuffers (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return available buffers.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
The number of image buffers used internally. \condition The device must be opened.
<p>
</dl>Returns the numbers of buffers in use for this device, regardless if it supports mmap() or not.     </td>
  </tr>
</table>
<a name="a32" doxytag="CVideoDevice::GetColour"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::GetColour (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return colour saturation setting of device.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
unsigned integer in the range 0-65535. 65535 may indicate setting is not available.
<p>
</dl>A colour saturation of 0 means no colour at all, so the returned images are grayscale.     </td>
  </tr>
</table>
<a name="a28" doxytag="CVideoDevice::GetContrast"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::GetContrast (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return contrast setting of device.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
unsigned integer in the range 0-65535. 65535 may indicate setting is not available. </dl>    </td>
  </tr>
</table>
<a name="a20" doxytag="CVideoDevice::GetCurrentVideoInput"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::GetCurrentVideoInput (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return current input.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
input number, or -1 if current input is unknown
<p>
</dl>This will return the current input, if known. Unfortunately, there is  no way to query the video device for the selected channel so until SelectInput() is called this function returns -1.     </td>
  </tr>
</table>
<a name="a5" doxytag="CVideoDevice::GetDescriptor"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::GetDescriptor (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt>
<b>Returns: </b><dd>
file descriptor.
<p>
</dl>This functions returns the file descriptor for this device. If the device is not opened, -1 is returned.     </td>
  </tr>
</table>
<a name="a15" doxytag="CVideoDevice::GetFramerate"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::GetFramerate (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the current framerate.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
The framerate in frames per second.
<p>
</dl>This applies to some webcams that allow setting of a framerate. In  case of a device that does not support select() we use the framerate to set the timer. By default the framerate is set to 10.
<p>
Returns -1 in case of error.     </td>
  </tr>
</table>
<a name="a30" doxytag="CVideoDevice::GetHue"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::GetHue (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return hue (color shift) setting of device.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
unsigned integer in the range 0-65535. 65535 may indicate setting is not available.
<p>
</dl>Hue is a way to correct for colour deviations.  It is something different than <a class="el" href="class_cvideodevice.html#a32">GetColour</a>.     </td>
  </tr>
</table>
<a name="a9" doxytag="CVideoDevice::GetIntfName"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QString CVideoDevice::GetIntfName (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns internal name of device.
<p>

<p>
 This function returns the name of the device through the V4L interface.     </td>
  </tr>
</table>
<a name="a17" doxytag="CVideoDevice::GetMBuffers"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::GetMBuffers (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return number of mmaped() buffers.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
0 if no mmap() support exists. \condition The device must be opened.
<p>
</dl>In case the device supports mmap(), this returns the number of buffers that are available and mapped.     </td>
  </tr>
</table>
<a name="a12" doxytag="CVideoDevice::GetMaxSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QSize CVideoDevice::GetMaxSize (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return the maximum image size this device supports.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
an Object of type QSize
<p>
</dl>With this function the maximum image size in pixels is retrieved. See also <a class="el" href="class_cvideodevice.html#a10">GetMinSize</a> and <a class="el" href="class_cvideodevice.html#a13">SetSize</a>
<p>
Not all sizes between the minimum and maximum size may be allowed by the device; however, there is currently no way to retrieve a list of possible sizes. It's safest to stick to CIF (352x288) and SIF (320x240) formats and subsizes hereof, and VGA. Also it's wise to use to multiples of 8 in both directions. <a class="el" href="class_cvideodevice.html#a13">SetSize</a> will return FALSE when the size was rejected by the driver.     </td>
  </tr>
</table>
<a name="a10" doxytag="CVideoDevice::GetMinSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QSize CVideoDevice::GetMinSize (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return the minimum image size this device supports.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
an Object of type QSize
<p>
</dl>With this function the minium image size in pixels is retrieved.     </td>
  </tr>
</table>
<a name="a8" doxytag="CVideoDevice::GetNodeName"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QString CVideoDevice::GetNodeName (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns device inode name.
<p>

<p>
 This function returns the name of the device inode, like /dev/video0, /dev/video1, etc.     </td>
  </tr>
</table>
<a name="a37" doxytag="CVideoDevice::GetRGB"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QImage * CVideoDevice::GetRGB (
          </b></td>
          <td valign="bottom"><b>
int <em>offset</em> = 0&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get an RGB image.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offset</em>
&nbsp;</td><td>
Offset in images buffer. </td></tr>
</table>
</dl>
<p>
 Retrieve pointer to an RGB image; note that this is a pointer, not a (shallow) copy. The QImage is a 32 bit deep image.
<p>
When buffering is active any of the previous images in the buffer can be retrieved. The 'offset' parameter indicates the negative offset in the (circular) list of images. When offset = 0 (the default) the latest image is returned; when offset = 1 is the previous image, offset = 2 the image before that, etc. up to the number of Buffers - 1.
<p>
If <b>offset</b> is outside the range a NULL pointer will be returned.     </td>
  </tr>
</table>
<a name="a11" doxytag="CVideoDevice::GetSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QSize CVideoDevice::GetSize (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return current size from the driver.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
An object of type QSize. </dl>
<p>
 Returns the current image size as reported by the device. Returns a  size of (0, 0) when the device is closed or an error occured.     </td>
  </tr>
</table>
<a name="a39" doxytag="CVideoDevice::GetU"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QImage * CVideoDevice::GetU (
          </b></td>
          <td valign="bottom"><b>
int <em>offset</em> = 0&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get U (chrominance) component of image.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offset</em>
&nbsp;</td><td>
Offset in circular buffer. </td></tr>
</table>
</dl>
<p>
 Retrieve pointer to a U image; note that this is a pointer, not a (shallow) copy. The QImage is an 8 bit deep image with grayscale palette.
<p>
See <a class="el" href="class_cvideodevice.html#a37">GetRGB</a> about double buffering.     </td>
  </tr>
</table>
<a name="a40" doxytag="CVideoDevice::GetV"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QImage * CVideoDevice::GetV (
          </b></td>
          <td valign="bottom"><b>
int <em>offset</em> = 0&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get V (chrominance) component of image.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offset</em>
&nbsp;</td><td>
Offset in circular buffer. </td></tr>
</table>
</dl>
<p>
 Retrieve pointer to a V image; note that this is a pointer, not a (shallow) copy. The QImage is an 8 bit deep image with grayscale palette.
<p>
See <a class="el" href="class_cvideodevice.html#a37">GetRGB</a> about double buffering.     </td>
  </tr>
</table>
<a name="a21" doxytag="CVideoDevice::GetVideoInput"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_cvideodeviceinput.html">CVideoDeviceInput</a> * CVideoDevice::GetVideoInput (
          </b></td>
          <td valign="bottom"><b>
int <em>number</em> = -1&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns an video input channel (source) object.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>number</em>
&nbsp;</td><td>
The desired input channel; -1 for the current one </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
An object of type <a class="el" href="class_cvideodeviceinput.html">CVideoDeviceInput</a>, or NULL if <b>number</b> is out of range
<p>
</dl>This returns a pointer to a <a class="el" href="class_cvideodeviceinput.html">CVideoDeviceInput</a> object; when <b>number</b> is -1 (the default value), it returns the current input.     </td>
  </tr>
</table>
<a name="a19" doxytag="CVideoDevice::GetVideoInputs"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::GetVideoInputs (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return number of input channels (sources).
<p>

<p>
 See <a class="el" href="class_cvideodeviceinput.html">CVideoDeviceInput</a>. A device should report at least one channel, but buggy device drivers may choose to return 0.     </td>
  </tr>
</table>
<a name="a34" doxytag="CVideoDevice::GetWhiteness"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::GetWhiteness (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return gamma setting of device.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
unsigned integer in the range 0-65535. 65535 may indicate setting is not available.
<p>
</dl>Sometimes used as a brightness contrast, but more generally this returns the gamma correction the device applies to the image.     </td>
  </tr>
</table>
<a name="a38" doxytag="CVideoDevice::GetY"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
QImage * CVideoDevice::GetY (
          </b></td>
          <td valign="bottom"><b>
int <em>offset</em> = 0&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get Y (luminance) component of image.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offset</em>
&nbsp;</td><td>
Offset in circular buffer. </td></tr>
</table>
</dl>
<p>
 Retrieve pointer to a Y image; note that this is a pointer, not a (shallow) copy. The QImage is an 8 bit deep image with grayscale palette.
<p>
See <a class="el" href="class_cvideodevice.html#a37">GetRGB</a> about double buffering.     </td>
  </tr>
</table>
<a name="a2" doxytag="CVideoDevice::IsValid"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CVideoDevice::IsValid (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="j0" doxytag="CVideoDevice::Notify"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CVideoDevice::Notify (
          </b></td>
          <td valign="bottom"><b>
)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
A new image is available.     </td>
  </tr>
</table>
<a name="a3" doxytag="CVideoDevice::Open"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::Open (
          </b></td>
          <td valign="bottom"><b>
int <em>bufs</em> = 1&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Open the device, even multiple times.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>bufs</em>
&nbsp;</td><td>
Number of image buffers; -1 use device maximum </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
0 upon success, otherwise <b>-errno</b> .
<p>
</dl>This function increments the usage counter of the device; the first time this function is called the device is really opened and initialized; all subsequent calls will return 0. You will need as many calls to <a class="el" href="class_cvideodevice.html#a4">Close</a>() as you placed to <a class="el" href="class_cvideodevice.html#a3">Open</a>() to get the device really closed.
<p>
<a class="el" href="class_cvideodevice.html#a3">Open</a>() will also start the automatic loading of images. In case the device supports select() a QSocketNotifier is installed, otherwise a timer is used.
<p>
For double buffering purposes, use a <b>buf</b> value &gt; 1. The <b>buf</b> parameter can only be set at the first <a class="el" href="class_cvideodevice.html#a3">Open</a>(); subsequent calls will have no effect on the number of buffers. When bufs &lt; 0, the device will be  queried for the maximum number of buffers and that amount will be used.     </td>
  </tr>
</table>
<a name="a36" doxytag="CVideoDevice::ReadImage"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int CVideoDevice::ReadImage (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Read image into Buffers.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
0 on success, <b>-errno</b> otherwise.
<p>
</dl>This function reads the raw data from the device and transforms it into RGB and/or YUV images, doing all necessary conversions.     </td>
  </tr>
</table>
<a name="j2" doxytag="CVideoDevice::Resized"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void CVideoDevice::Resized (
          </b></td>
          <td valign="bottom"><b>
const QSize &amp; <em>new_size</em>&nbsp;)<code> [signal]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The size has been changed.     </td>
  </tr>
</table>
<a name="a25" doxytag="CVideoDevice::SelectAudioInput"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CVideoDevice::SelectAudioInput (
          </b></td>
          <td valign="bottom"><b>
int <em>number</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a22" doxytag="CVideoDevice::SelectVideoInput"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CVideoDevice::SelectVideoInput (
          </b></td>
          <td valign="bottom"><b>
int <em>number</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Select a new input channel.
<p>

<p>
 This function will program the card/chip to use the selected input channel. Return TRUE if the call succeeded, otherwise FALSE.     </td>
  </tr>
</table>
<a name="a27" doxytag="CVideoDevice::SetBrightness"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CVideoDevice::SetBrightness (
          </b></td>
          <td valign="bottom"><b>
int <em>val</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set brightness in device.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>val</em>
&nbsp;</td><td>
An integer in the range 0-65535. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
FALSE if the device is closed or the call failed.
<p>
</dl>The value returned by GetBrightness may be slightly different from  what is set with SetBrightness.     </td>
  </tr>
</table>
<a name="a33" doxytag="CVideoDevice::SetColour"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CVideoDevice::SetColour (
          </b></td>
          <td valign="bottom"><b>
int <em>val</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set colour saturation in device.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>val</em>
&nbsp;</td><td>
An integer in the range 0-65535. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
FALSE if the device is closed or the call failed.
<p>
</dl>Colour saturation sets how bright colours should appear. A  saturation of 0 yields grayscale images.
<p>
The value returned by GetColour may be slightly different from  what is set with SetColour.     </td>
  </tr>
</table>
<a name="a29" doxytag="CVideoDevice::SetContrast"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CVideoDevice::SetContrast (
          </b></td>
          <td valign="bottom"><b>
int <em>val</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set contrast in device.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>val</em>
&nbsp;</td><td>
An integer in the range 0-65535. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
FALSE if the device is closed or the call failed.
<p>
</dl>The value returned by GetContrast may be slightly different from  what is set with SetContrast.     </td>
  </tr>
</table>
<a name="a16" doxytag="CVideoDevice::SetFramerate"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CVideoDevice::SetFramerate (
          </b></td>
          <td valign="bottom"><b>
int <em>fps</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Try to set a framerate.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>fps</em>
&nbsp;</td><td>
The framerate, in frames per second. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
TRUE if the framerate was accepted, FALSE otherwise
<p>
</dl>Some webcams allow their framerate to be set; this functions tries to do just that; in general, the camera will use the framerate closest to what it supports. In case a device does not support framerates or only a fixed framerate (grabber cards!) we use the framerate to set the timer.     </td>
  </tr>
</table>
<a name="a31" doxytag="CVideoDevice::SetHue"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CVideoDevice::SetHue (
          </b></td>
          <td valign="bottom"><b>
int <em>val</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set hue in device.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>val</em>
&nbsp;</td><td>
An integer in the range 0-65535. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
FALSE if the device is closed or the call failed.
<p>
</dl>Hue is a way to correct for colour deviations. The value returned by GetHue may be slightly different from  what is set with SetHue.     </td>
  </tr>
</table>
<a name="a14" doxytag="CVideoDevice::SetSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CVideoDevice::SetSize (
          </b></td>
          <td valign="bottom"><b>
const QSize &amp; <em>new_size</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
\override     </td>
  </tr>
</table>
<a name="a13" doxytag="CVideoDevice::SetSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CVideoDevice::SetSize (
          </b></td>
          <td valign="bottom"><b>
int <em>width</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>height</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set a new image size.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
FALSE when the call failed, TRUE when the new size was accepted by the device.
<p>
</dl>This function will attempt to set a new image size; not all sizes between the minimum and maximum size may be allowed by the device; however, there is currently no way to retrieve a list of possible sizes. It is safest to stick to CIF (352x288) and SIF (320x240) formats and subsizes hereof, and VGA. Also it's wise to use to multiples of 8 in both directions. SetSize will return FALSE when the size was rejected by the driver.     </td>
  </tr>
</table>
<a name="a35" doxytag="CVideoDevice::SetWhiteness"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool CVideoDevice::SetWhiteness (
          </b></td>
          <td valign="bottom"><b>
int <em>val</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set gamma value in device.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>val</em>
&nbsp;</td><td>
An integer in the range 0-65535. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
FALSE if the device is closed or the call failed.
<p>
</dl>Whiteness is sometimes used as brightness, but usually this sets the gamma correction the device will apply to the image.
<p>
The value returned by GetWhiteness may be slightly different from  what is set with SetWhiteness.     </td>
  </tr>
</table>
<hr><h2>Friends And Related Function Documentation</h2>
<a name="l2" doxytag="CVideoDevice::CVideoAudioInput"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
friend class CVideoAudioInput<code> [friend]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="l0" doxytag="CVideoDevice::CVideoDeviceInput"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
friend class CVideoDeviceInput<code> [friend]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="l1" doxytag="CVideoDevice::CVideoDeviceTuner"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
friend class CVideoDeviceTuner<code> [friend]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="videodevice_cc.html">VideoDevice.cc</a><li><a class="el" href="videodevice_h-source.html">VideoDevice.h</a></ul>
<hr><address><small>Generated at Sat May 18 02:56:56 2002 for Camstream by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.gif" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.6 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2001</small></address>
</body>
</html>