Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>liboggz: oggz_read.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>oggz_read.h File Reference</h1>
<p>Interfaces for reading Ogg files and streams.  
<a href="#_details">More...</a></p>

<p><a href="oggz__read_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__read__api.html#gaef015044907510cda7a3c06241e959e7">OggzReadPacket</a> )(<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, ogg_packet *op, long serialno, void *user_data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the signature of a callback which you must provide for Oggz to call whenever it finds a new packet in the Ogg stream associated with <em>oggz</em>.  <a href="group__read__api.html#gaef015044907510cda7a3c06241e959e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__read__api.html#ga8a1df0166fad1a0a6fe55d24e1a4b2e6">OggzReadPage</a> )(<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, const ogg_page *og, long serialno, void *user_data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the signature of a callback which you must provide for Oggz to call whenever it finds a new page in the Ogg stream associated with <em>oggz</em>.  <a href="group__read__api.html#ga8a1df0166fad1a0a6fe55d24e1a4b2e6"></a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__read__api.html#ga6d5aae4f7f186fffe19d4fd3cd63148d">oggz_set_read_callback</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, <a class="el" href="group__read__api.html#gaef015044907510cda7a3c06241e959e7">OggzReadPacket</a> read_packet, void *user_data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Oggz to call when a new Ogg packet is found in the stream.  <a href="group__read__api.html#ga6d5aae4f7f186fffe19d4fd3cd63148d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__read__api.html#gafe738d4fdd4b00b1280f5978be19b2d5">oggz_set_read_page</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, <a class="el" href="group__read__api.html#ga8a1df0166fad1a0a6fe55d24e1a4b2e6">OggzReadPage</a> read_page, void *user_data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback for Oggz to call when a new Ogg page is found in the stream.  <a href="group__read__api.html#gafe738d4fdd4b00b1280f5978be19b2d5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__read__api.html#ga3ce7a31de5da56375057436c6b5108f2">oggz_read</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read n bytes into <em>oggz</em>, calling any read callbacks on the fly.  <a href="group__read__api.html#ga3ce7a31de5da56375057436c6b5108f2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__read__api.html#ga77d4158dd119f496f73311ace7f630d6">oggz_read_input</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, unsigned char *buf, long n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input data into <em>oggz</em>.  <a href="group__read__api.html#ga77d4158dd119f496f73311ace7f630d6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="oggz__read_8h.html#adf606e6641a7d59eff2030b7b9ce51f8">oggz_purge</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erase any input buffered in Oggz.  <a href="#adf606e6641a7d59eff2030b7b9ce51f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="oggz__constants_8h.html#ab20058e3d54fc5540aa719a99e1e9598">OggzStreamContent</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="oggz__read_8h.html#a1cd43b28f34bf82dc1830cc517b19e14">oggz_stream_get_content</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine the content type of the oggz stream referred to by <em>serialno</em>.  <a href="#a1cd43b28f34bf82dc1830cc517b19e14"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="oggz__read_8h.html#a85665d758dbc159bc48055bf3f572b37">oggz_stream_get_content_type</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return human-readable string representation of content type of oggz stream referred to by <em>serialno</em>.  <a href="#a85665d758dbc159bc48055bf3f572b37"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="oggz__read_8h.html#ae3b1aa364b5bf0d7b331aab70646ab10">oggz_stream_get_numheaders</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine the number of headers of the oggz stream referred to by <em>serialno</em>.  <a href="#ae3b1aa364b5bf0d7b331aab70646ab10"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Interfaces for reading Ogg files and streams. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="adf606e6641a7d59eff2030b7b9ce51f8"></a><!-- doxytag: member="oggz_read.h::oggz_purge" ref="adf606e6641a7d59eff2030b7b9ce51f8" args="(OGGZ *oggz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int oggz_purge </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *&nbsp;</td>
          <td class="paramname"> <em>oggz</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Erase any input buffered in Oggz. </p>
<p>This discards any input read from the underlying IO system but not yet delivered as ogg_packets.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>oggz</em>&nbsp;</td><td>An OGGZ handle </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>Success </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>OGGZ_ERR_SYSTEM</em>&nbsp;</td><td>Error seeking on underlying IO. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>OGGZ_ERR_BAD_OGGZ</em>&nbsp;</td><td><em>oggz</em> does not refer to an existing OGGZ </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>OGGZ_ERR_INVALID</em>&nbsp;</td><td>Operation not suitable for this OGGZ </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1cd43b28f34bf82dc1830cc517b19e14"></a><!-- doxytag: member="oggz_read.h::oggz_stream_get_content" ref="a1cd43b28f34bf82dc1830cc517b19e14" args="(OGGZ *oggz, long serialno)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="oggz__constants_8h.html#ab20058e3d54fc5540aa719a99e1e9598">OggzStreamContent</a> oggz_stream_get_content </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *&nbsp;</td>
          <td class="paramname"> <em>oggz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>serialno</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determine the content type of the oggz stream referred to by <em>serialno</em>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>oggz</em>&nbsp;</td><td>An OGGZ handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>serialno</em>&nbsp;</td><td>An ogg stream serialno </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>OGGZ_CONTENT_THEORA..OGGZ_CONTENT_UNKNOWN</em>&nbsp;</td><td>content successfully identified </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>OGGZ_ERR_BAD_OGGZ</em>&nbsp;</td><td><em>oggz</em> does not refer to an existing OGGZ </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>OGGZ_ERR_BAD_SERIALNO</em>&nbsp;</td><td><em>serialno</em> does not refer to an existing stream </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a85665d758dbc159bc48055bf3f572b37"></a><!-- doxytag: member="oggz_read.h::oggz_stream_get_content_type" ref="a85665d758dbc159bc48055bf3f572b37" args="(OGGZ *oggz, long serialno)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* oggz_stream_get_content_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *&nbsp;</td>
          <td class="paramname"> <em>oggz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>serialno</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return human-readable string representation of content type of oggz stream referred to by <em>serialno</em>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>oggz</em>&nbsp;</td><td>An OGGZ handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>serialno</em>&nbsp;</td><td>An ogg stream serialno </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>the name of the content type </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>NULL</em>&nbsp;</td><td><em>oggz</em> or <em>serialno</em> invalid </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae3b1aa364b5bf0d7b331aab70646ab10"></a><!-- doxytag: member="oggz_read.h::oggz_stream_get_numheaders" ref="ae3b1aa364b5bf0d7b331aab70646ab10" args="(OGGZ *oggz, long serialno)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int oggz_stream_get_numheaders </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *&nbsp;</td>
          <td class="paramname"> <em>oggz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>serialno</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determine the number of headers of the oggz stream referred to by <em>serialno</em>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>oggz</em>&nbsp;</td><td>An OGGZ handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>serialno</em>&nbsp;</td><td>An ogg stream serialno </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>OGGZ_CONTENT_THEORA..OGGZ_CONTENT_UNKNOWN</em>&nbsp;</td><td>content successfully identified </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>OGGZ_ERR_BAD_OGGZ</em>&nbsp;</td><td><em>oggz</em> does not refer to an existing OGGZ </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>OGGZ_ERR_BAD_SERIALNO</em>&nbsp;</td><td><em>serialno</em> does not refer to an existing stream </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 24 09:13:55 2010 for liboggz by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>