<html>

<head>
<title>Tremor - Base Data Structures</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>

<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
<table border=0 width=100%>
<tr>
<td><p class=tiny>Tremor documentation</p></td>
<td align=right><p class=tiny>Tremor version 1.0 - 20020403</p></td>
</tr>
</table>

<h1>Base Data Structures</h1>
<p>There are several data structures used to hold file and bitstream information during libvorbisidec decoding. These structures are declared in "ivorbisfile.h" and "ivorbiscodec.h".
<p>
<p>When using libvorbisidec, it's not necessary to know about most of the contents of these data structures, but it may be helpful to understand what they contain.
<br><br>

<table border=1 color=black width=50% cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
	<td><b>datatype</b></td>
	<td><b>purpose</b></td>
</tr>
<tr valign=top>
	<td><a href="OggVorbis_File.html">OggVorbis_File</a></td>
	<td>This structure represents the basic file information. It contains 
	a pointer to the physical file or bitstream and various information about that bitstream.</td>
</tr>
<tr valign=top>
<td><a href="vorbis_comment.html">vorbis_comment</a></td>
	<td>This structure contains the file comments. It contains 
	a pointer to unlimited user comments, information about the number of comments, and a vendor description.</td>
</tr>
<tr valign=top>
<td><a href="vorbis_info.html">vorbis_info</a></td>
	<td>This structure contains encoder-related information about the bitstream.  It includes encoder info, channel info, and bitrate limits.</td>
</tr>
<tr valign=top>
<td><a href="ov_callbacks.html">ov_callbacks</a></td>
	<td>This structure contains pointers to the application-specified file manipulation routines set for use by <a href="ov_open_callbacks.html">ov_open_callbacks()</a>. See also the <a href="callbacks.html">provided document on using application-provided callbacks instead of stdio</a>.</td>
</tr>
</table>

<br><br>
<hr noshade>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Tremor documentation</p></td>
<td align=right><p class=tiny>Tremor version 1.0 - 20020403</p></td>
</tr>
</table>

</body>

</html>
