Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > 9f39b42a4a9bb5f46373ffcca30c81df > files > 22

libzvbi0-devel-0.2.3-1mdk.ppc.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Device interface</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindex" href="examples.html">Examples</a> &nbsp; </center>
<hr><h1>Device interface<br>
<small>
[<a class="el" href="group__Raw.html">Raw VBI</a>]</small>
</h1>Access to VBI capture devices. 
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><b>vbi_capture_buffer</b></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="Device::vbi_capture"></a>
typedef vbi_capture&nbsp;</td><td valign=bottom><a class="el" href="group__Device.html#a1">vbi_capture</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Opaque device interface handle.</em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__Device.html#a1">vbi_capture</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__Device.html#a2">vbi_capture_v4l2_new</a> (const char *dev_name, int buffers, unsigned int *services, int strict, char **errorstr, vbi_bool trace)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__Device.html#a1">vbi_capture</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__Device.html#a3">vbi_capture_v4l2k_new</a> (const char *dev_name, int fd, int buffers, unsigned int *services, int strict, char **errorstr, vbi_bool trace)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__Device.html#a7">vbi_capture_read_raw</a> (<a class="el" href="group__Device.html#a1">vbi_capture</a> *capture, void *data, double *timestamp, struct timeval *timeout)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__Device.html#a8">vbi_capture_read_sliced</a> (<a class="el" href="group__Device.html#a1">vbi_capture</a> *capture, <a class="el" href="structvbi__sliced.html">vbi_sliced</a> *data, int *lines, double *timestamp, struct timeval *timeout)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__Device.html#a9">vbi_capture_read</a> (<a class="el" href="group__Device.html#a1">vbi_capture</a> *capture, void *raw_data, <a class="el" href="structvbi__sliced.html">vbi_sliced</a> *sliced_data, int *lines, double *timestamp, struct timeval *timeout)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__Device.html#a10">vbi_capture_pull_raw</a> (<a class="el" href="group__Device.html#a1">vbi_capture</a> *capture, vbi_capture_buffer **buffer, struct timeval *timeout)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__Device.html#a11">vbi_capture_pull_sliced</a> (<a class="el" href="group__Device.html#a1">vbi_capture</a> *capture, vbi_capture_buffer **buffer, struct timeval *timeout)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__Device.html#a12">vbi_capture_pull</a> (<a class="el" href="group__Device.html#a1">vbi_capture</a> *capture, vbi_capture_buffer **raw_buffer, vbi_capture_buffer **sliced_buffer, struct timeval *timeout)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="structvbi__raw__decoder.html">vbi_raw_decoder</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__Device.html#a13">vbi_capture_parameters</a> (<a class="el" href="group__Device.html#a1">vbi_capture</a> *capture)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__Device.html#a14">vbi_capture_fd</a> (<a class="el" href="group__Device.html#a1">vbi_capture</a> *capture)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__Device.html#a15">vbi_capture_delete</a> (<a class="el" href="group__Device.html#a1">vbi_capture</a> *capture)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Access to VBI capture devices.
<p>
<hr><h2>Function Documentation</h2>
<a name="a2" doxytag="io-v4l2.c::vbi_capture_v4l2_new"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__Device.html#a1">vbi_capture</a>* vbi_capture_v4l2_new </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>dev_name</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>buffers</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned int *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>services</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>strict</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>errorstr</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>vbi_bool&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>trace</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></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></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>dev_name</em>&nbsp;</td><td>
Name of the device to open, usually one of <code>/dev/vbi</code> or <code>/dev/vbi0</code> and up. </td></tr>
<tr><td valign=top><em>buffers</em>&nbsp;</td><td>
Number of device buffers for raw vbi data, when the driver supports streaming. Otherwise one bounce buffer is allocated for <a class="el" href="group__Device.html#a12">vbi_capture_pull()</a>. </td></tr>
<tr><td valign=top><em>services</em>&nbsp;</td><td>
This must point to a set of VBI_SLICED_ symbols describing the data services to be decoded. On return the services actually decodable will be stored here. See vbi_raw_decoder_add() for details. If you want to capture raw data only, set to <code>VBI_SLICED_VBI_525</code>, <code>VBI_SLICED_VBI_625</code> or both. </td></tr>
<tr><td valign=top><em>strict</em>&nbsp;</td><td>
Will be passed to vbi_raw_decoder_add(). </td></tr>
<tr><td valign=top><em>errorstr</em>&nbsp;</td><td>
If not <code>NULL</code> this function stores a pointer to an error description here. You must free() this string when no longer needed. </td></tr>
<tr><td valign=top><em>trace</em>&nbsp;</td><td>
If <code>TRUE</code> print progress messages on stderr.</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
 Initialized vbi_capture context, <code>NULL</code> on failure. </dl>    </td>
  </tr>
</table>
<a name="a3" doxytag="io-v4l2k.c::vbi_capture_v4l2k_new"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__Device.html#a1">vbi_capture</a>* vbi_capture_v4l2k_new </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>dev_name</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>fd</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>buffers</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned int *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>services</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>strict</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>errorstr</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>vbi_bool&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>trace</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></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></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>dev_name</em>&nbsp;</td><td>
Name of the device to open, usually one of <code>/dev/vbi</code> or <code>/dev/vbi0</code> and up. </td></tr>
<tr><td valign=top><em>buffers</em>&nbsp;</td><td>
Number of device buffers for raw vbi data, when the driver supports streaming. Otherwise one bounce buffer is allocated for <a class="el" href="group__Device.html#a12">vbi_capture_pull()</a>. </td></tr>
<tr><td valign=top><em>services</em>&nbsp;</td><td>
This must point to a set of VBI_SLICED_ symbols describing the data services to be decoded. On return the services actually decodable will be stored here. See vbi_raw_decoder_add() for details. If you want to capture raw data only, set to <code>VBI_SLICED_VBI_525</code>, <code>VBI_SLICED_VBI_625</code> or both. </td></tr>
<tr><td valign=top><em>strict</em>&nbsp;</td><td>
Will be passed to vbi_raw_decoder_add(). </td></tr>
<tr><td valign=top><em>errorstr</em>&nbsp;</td><td>
If not <code>NULL</code> this function stores a pointer to an error description here. You must free() this string when no longer needed. </td></tr>
<tr><td valign=top><em>trace</em>&nbsp;</td><td>
If <code>TRUE</code> print progress messages on stderr.</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
 Initialized vbi_capture context, <code>NULL</code> on failure. </dl>    </td>
  </tr>
</table>
<a name="a7" doxytag="io.c::vbi_capture_read_raw"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int vbi_capture_read_raw </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__Device.html#a1">vbi_capture</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>capture</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>double *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>timestamp</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct timeval *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>timeout</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></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></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>capture</em>&nbsp;</td><td>
Initialized vbi_capture context. </td></tr>
<tr><td valign=top><em>data</em>&nbsp;</td><td>
Store the raw vbi data here. Use <a class="el" href="group__Device.html#a13">vbi_capture_parameters()</a> to determine the buffer size. </td></tr>
<tr><td valign=top><em>timestamp</em>&nbsp;</td><td>
On success the capture instant in seconds and fractions since 1970-01-01 00:00 of the video frame will be stored here. </td></tr>
<tr><td valign=top><em>timeout</em>&nbsp;</td><td>
Wait timeout, will be read only.</td></tr>
</table>
</dl>Read a raw vbi frame from the capture device.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
 -1 on error, examine <code>errno</code> for details. The function also fails if vbi data is not available in raw format. 0 on timeout, 1 on success. </dl>    </td>
  </tr>
</table>
<a name="a8" doxytag="io.c::vbi_capture_read_sliced"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int vbi_capture_read_sliced </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__Device.html#a1">vbi_capture</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>capture</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="structvbi__sliced.html">vbi_sliced</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>lines</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>double *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>timestamp</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct timeval *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>timeout</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></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></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>capture</em>&nbsp;</td><td>
Initialized vbi capture context. </td></tr>
<tr><td valign=top><em>data</em>&nbsp;</td><td>
Stores the sliced vbi data here. Use <a class="el" href="group__Device.html#a13">vbi_capture_parameters()</a> to determine the buffer size. </td></tr>
<tr><td valign=top><em>lines</em>&nbsp;</td><td>
Stores number of vbi lines decoded and stored in <em>data</em>, which can be zero, here. </td></tr>
<tr><td valign=top><em>timestamp</em>&nbsp;</td><td>
On success the capture instant in seconds and fractions since 1970-01-01 00:00 will be stored here. </td></tr>
<tr><td valign=top><em>timeout</em>&nbsp;</td><td>
Wait timeout, will be read only.</td></tr>
</table>
</dl>Read a sliced vbi frame, that is an array of <a class="el" href="structvbi__sliced.html">vbi_sliced</a> structures, from the capture device.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
 -1 on error, examine <code>errno</code> for details. 0 on timeout, 1 on success. </dl>    </td>
  </tr>
</table>
<a name="a9" doxytag="io.c::vbi_capture_read"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int vbi_capture_read </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__Device.html#a1">vbi_capture</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>capture</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>raw_data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="structvbi__sliced.html">vbi_sliced</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>sliced_data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>lines</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>double *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>timestamp</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct timeval *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>timeout</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></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></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>capture</em>&nbsp;</td><td>
Initialized vbi capture context. </td></tr>
<tr><td valign=top><em>raw_data</em>&nbsp;</td><td>
Stores the raw vbi data here. Use <a class="el" href="group__Device.html#a13">vbi_capture_parameters()</a> to determine the buffer size. </td></tr>
<tr><td valign=top><em>sliced_data</em>&nbsp;</td><td>
Stores the sliced vbi data here. Use <a class="el" href="group__Device.html#a13">vbi_capture_parameters()</a> to determine the buffer size. </td></tr>
<tr><td valign=top><em>lines</em>&nbsp;</td><td>
Stores number of vbi lines decoded and stored in <em>data</em>, which can be zero, here. </td></tr>
<tr><td valign=top><em>timestamp</em>&nbsp;</td><td>
On success the capture instant in seconds and fractions since 1970-01-01 00:00 will be stored here. </td></tr>
<tr><td valign=top><em>timeout</em>&nbsp;</td><td>
Wait timeout, will be read only.</td></tr>
</table>
</dl>Read a raw vbi frame from the capture device, decode to sliced data and also read the sliced vbi frame, that is an array of <a class="el" href="structvbi__sliced.html">vbi_sliced</a> structures, from the capture device.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
 -1 on error, examine <code>errno</code> for details. The function also fails if vbi data is not available in raw format. 0 on timeout, 1 on success. </dl>    </td>
  </tr>
</table>
<a name="a10" doxytag="io.c::vbi_capture_pull_raw"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int vbi_capture_pull_raw </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__Device.html#a1">vbi_capture</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>capture</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>vbi_capture_buffer **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct timeval *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>timeout</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></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></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>capture</em>&nbsp;</td><td>
Initialized vbi capture context. </td></tr>
<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
Store pointer to a vbi_capture_buffer here. </td></tr>
<tr><td valign=top><em>timeout</em>&nbsp;</td><td>
Wait timeout, will be read only.</td></tr>
</table>
</dl>Read a raw vbi frame from the capture device, returning a pointer to the image in <em>buffer-&gt;data</em>, which has <em>buffer-&gt;size</em>. The data remains valid until the next <a class="el" href="group__Device.html#a10">vbi_capture_pull_raw()</a> call and must be read only.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
 -1 on error, examine <code>errno</code> for details. The function also fails if vbi data is not available in raw format. 0 on timeout, 1 on success. </dl>    </td>
  </tr>
</table>
<a name="a11" doxytag="io.c::vbi_capture_pull_sliced"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int vbi_capture_pull_sliced </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__Device.html#a1">vbi_capture</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>capture</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>vbi_capture_buffer **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct timeval *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>timeout</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></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></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>capture</em>&nbsp;</td><td>
Initialized vbi capture context. </td></tr>
<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
Store pointer to a vbi_capture_buffer here. </td></tr>
<tr><td valign=top><em>timeout</em>&nbsp;</td><td>
Wait timeout, will be read only.</td></tr>
</table>
</dl>Read a sliced vbi frame, that is an array of <a class="el" href="structvbi__sliced.html">vbi_sliced</a>, from the capture device, returning a pointer to the array as <em>buffer-&gt;data</em>. <em>buffer-&gt;size</em> is the size of the array, that is the number of lines decoded, which can be zero, &lt;u&gt;times the size of structure <a class="el" href="structvbi__sliced.html">vbi_sliced</a>&lt;/u&gt;. The data remains valid until the next <a class="el" href="group__Device.html#a11">vbi_capture_pull_sliced()</a> call and must be read only.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
 -1 on error, examine <code>errno</code> for details. 0 on timeout, 1 on success. </dl>    </td>
  </tr>
</table>
<a name="a12" doxytag="io.c::vbi_capture_pull"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int vbi_capture_pull </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__Device.html#a1">vbi_capture</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>capture</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>vbi_capture_buffer **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>raw_buffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>vbi_capture_buffer **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>sliced_buffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct timeval *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>timeout</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></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></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>capture</em>&nbsp;</td><td>
Initialized vbi capture context. </td></tr>
<tr><td valign=top><em>raw_buffer</em>&nbsp;</td><td>
Store pointer to a vbi_capture_buffer here. </td></tr>
<tr><td valign=top><em>sliced_buffer</em>&nbsp;</td><td>
Store pointer to a vbi_capture_buffer here. </td></tr>
<tr><td valign=top><em>timeout</em>&nbsp;</td><td>
Wait timeout, will be read only.</td></tr>
</table>
</dl>Read a raw vbi frame from the capture device and decode to sliced data. Both raw and sliced data is returned, a pointer to the raw image as raw_buffer-&gt;data and a pointer to an array of <a class="el" href="structvbi__sliced.html">vbi_sliced</a> as sliced_buffer-&gt;data. Note sliced_buffer-&gt;size is the size of the array in bytes. That is the number of lines decoded, which can be zero, times the size of the <a class="el" href="structvbi__sliced.html">vbi_sliced</a> structure.
<p>
The raw and sliced data remains valid until the next <a class="el" href="group__Device.html#a10">vbi_capture_pull_raw()</a> call and must be read only.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
 -1 on error, examine <code>errno</code> for details. The function also fails if vbi data is not available in raw format. 0 on timeout, 1 on success. </dl>    </td>
  </tr>
</table>
<a name="a13" doxytag="io.c::vbi_capture_parameters"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="structvbi__raw__decoder.html">vbi_raw_decoder</a>* vbi_capture_parameters </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__Device.html#a1">vbi_capture</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>capture</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></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></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>capture</em>&nbsp;</td><td>
Initialized vbi capture context.</td></tr>
</table>
</dl>Describe the captured data. Raw vbi frames consist of vbi_raw_decoder.count[0] + vbi_raw_decoder.count[1] lines in vbi_raw_decoder.sampling_format, each vbi_raw_decoder.bytes_per_line. Sliced vbi arrays consist of zero to vbi_raw_decoder.count[0] + vbi_raw_decoder.count[1] <a class="el" href="structvbi__sliced.html">vbi_sliced</a> structures.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
 Pointer to a <a class="el" href="structvbi__raw__decoder.html">vbi_raw_decoder</a> structure, read only. </dl>    </td>
  </tr>
</table>
<a name="a14" doxytag="io.c::vbi_capture_fd"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int vbi_capture_fd </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__Device.html#a1">vbi_capture</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>capture</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></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></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>capture</em>&nbsp;</td><td>
Initialized vbi capture context, can be <code>NULL</code>.</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
 The file descriptor used to read from the device. If not applicable or the <em>capture</em> context is invalid -1 will be returned. </dl>    </td>
  </tr>
</table>
<a name="a15" doxytag="io.c::vbi_capture_delete"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void vbi_capture_delete </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__Device.html#a1">vbi_capture</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>capture</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></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></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>capture</em>&nbsp;</td><td>
Initialized vbi capture context, can be <code>NULL</code>.</td></tr>
</table>
</dl>Free all resources associated with the <em>capture</em> context.     </td>
  </tr>
</table>
<hr><address style="align: right;"><small>Generated on Thu Jan 2 16:03:42 2003 for ZVBI Library by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.18 </small></address>
</body>
</html>