ov_serialnumber.html ov_streams.html ov_time_seek.html\
ov_time_tell.html ov_time_total.html overview.html reference.html\
seekexample.html seeking.html seeking_test_c.html seekingexample.html\
- style.css vorbis_comment.html vorbis_info.html vorbisfile_example_c.html
+ style.css vorbis_comment.html vorbis_info.html\
+ vorbisfile_example_c.html ov_read_float.html ov_test.html\
+ ov_test_open.html ov_test_callbacks.html
EXTRA_DIST = $(doc_DATA)
<table border=0 width=100%>
<tr>
<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
</tr>
</table>
/* Decoding working state local storage */
int64_t pcm_offset;
- int decode_ready;
+ int ready_state;
long current_serialno;
int current_link;
<hr noshade>
<table border=0 width=100%>
<tr valign=top>
-<td><p class=tiny>copyright © 2000 vorbis team</p></td>
+<td><p class=tiny>copyright © 2001 vorbis team</p></td>
<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
</tr><tr>
<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
</tr>
</table>
<table border=0 width=100%>
<tr>
<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
</tr>
</table>
OggVorbis_File structure, which must have been initialized by a previous
call to <a href="ov_open.html"><tt>ov_open()</tt></a>.</td>
</tr>
+<tr valign=top>
+ <td><a href="ov_read_float.html">ov_read</a></td>
+ <td>This function decodes to floats instead of integer samples.</td>
+</tr>
</table>
<br><br>
<hr noshade>
<table border=0 width=100%>
<tr valign=top>
-<td><p class=tiny>copyright © 2000 Xiphophorus</p></td>
+<td><p class=tiny>copyright © 2001 Xiphophorus</p></td>
<td align=right><p class=tiny><a href="http://www.vorbis.org/">www.vorbis.org</a><br><a href="mailto:team@icecast.org">team@icecast.org</a></p></td>
</tr><tr>
<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
</tr>
</table>
<td><a href="ov_clear.html">ov_clear</a></td>
<td>Closes the bitstream and cleans up loose ends. Must be called when we're done with the bitstream.</td>
</tr>
+<tr valign=top>
+<td><a href="ov_test.html">ov_test</a></td>
+<td>Partially opens a vorbis file for testing.</td>
+</tr>
+<tr valign=top>
+<td><a href="ov_test_callbacks.html">ov_test_callbacks</a></td>
+<td>Same as above but useful for non-files like streams.</td>
+</tr>
+<tr valign=top>
+<td><a href="ov_test_open.html">ov_test_open</a><td>
+<td>Finish open a file opened for testing.</td>
+</tr>
</table>
<br><br>
--- /dev/null
+<html>
+
+<head>
+<title>vorbisfile - function - ov_read_float</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>vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
+</tr>
+</table>
+
+<h1>ov_read_float()</h1>
+
+<p><i>declared in "vorbis/vorbisfile.h";</i></p>
+
+<p>
+ This is the function used to decode a Vorbis file within a loop, but
+ returns samples in native float format instead of in integer formats.
+</p><p>
+ For more information on how ov_read_float() deals with the complex issues
+ of chaining, etc, refer to the documentation for <a href="ov_read.html">ov_read()</a>.
+</p>
+
+<br><br>
+<table border=0 color=black cellspacing=0 cellpadding=7>
+<tr bgcolor=#cccccc>
+ <td>
+<pre><b>
+long ov_read(<a href="OggVorbis_File.html">OggVorbis_File</a> *vf, float ***pcm_channels, int *bitstream);
+</b></pre>
+ </td>
+</tr>
+</table>
+
+<h3>Parameters</h3>
+<dl>
+<dt><i>vf</i></dt>
+<dd>A pointer to the OggVorbis_File structure--this is used for ALL the externally visible vorbisfile
+functions.</dd>
+<dt><i>pcm_channels</i></dt>
+<dd>A pointer to an output buffer. The pointer will be set to the decoded output buffer.</dd>
+<dt><i>bitstream</i></dt>
+<dd>A pointer to the number of the current logical bitstream.</dd>
+</dl>
+
+
+<h3>Return Values</h3>
+<blockquote>
+<dl>
+<dt>OV_HOLE</dt>
+ <dd>indicates there was an interruption in the data.
+ <br>(one of: garbage between pages, loss of sync followed by
+ recapture, or a corrupt page)</dd>
+<dt>OV_EBADLINK</dt>
+ <dd>indicates that an invalid stream section was supplied to
+ libvorbisfile, or the requested link is corrupt.</dd>
+<dt>0</dt>
+ <dd>indicates EOF</dd>
+<dt><i>n</i></dt>
+ <dd>indicates actual number of bytes read. <tt>ov_read()</tt> will
+ decode at most one vorbis packet per invocation, so the value
+ returned will generally be less than <tt>length</tt>.
+</dl>
+</blockquote>
+
+<h3>Notes</h3>
+<p><b>Typical usage:</b>
+<blockquote>
+<tt>float **pcm;
+bytes_read = ov_read_float(&vf,pcm,&current_section)</tt>
+</blockquote>
+
+This decodes one packets worth of float samples.
+</p>
+
+<br>
+<br><br>
+<hr noshade>
+<table border=0 width=100%>
+<tr valign=top>
+<td><p class=tiny>copyright © 2001 vorbis team</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
+</tr><tr>
+<td><p class=tiny>vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
+</tr>
+</table>
+
+
+</body>
+
+</html>
--- /dev/null
+<html>
+
+<head>
+<title>vorbisfile - function - ov_test</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>vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
+</tr>
+</table>
+
+<h1>ov_test</h1>
+
+<p><i>declared in "vorbis/vorbisfile.h";</i></p>
+
+<p>
+This partially opens a vorbis file to test for Vorbis-ness. It loads
+the headers for the first chain, and tests for seekability (but does not seek).
+Use <a href="ov_test_open.html">ov_test_open()</a> to finish opening the file
+or <a href="ov_clear.html">ov_clear</a> to close/free it.
+<p>
+
+<table border=0 color=black cellspacing=0 cellpadding=7>
+<tr bgcolor=#cccccc>
+ <td>
+<pre><b>
+int ov_test(FILE *f,<a href="OggVorbis_File.html">OggVorbis_File</a> *vf,char *initial,long ibytes);
+</b></pre>
+ </td>
+</tr>
+</table>
+
+<h3>Parameters</h3>
+<dl>
+<dt><i>f</i></dt>
+<dd>File pointer to an already opened file
+or pipe (it need not be seekable--though this obviously restricts what
+can be done with the bitstream).</dd>
+<dt><i>vf</i></dt>
+<dd>A pointer to the OggVorbis_File structure--this is used for ALL the externally visible vorbisfile
+functions. Once this has been called, the same <tt>OggVorbis_File</tt>
+struct should be passed to all the vorbisfile functions.</dd>
+<dt><i>initial</i></dt>
+<dd>Typically set to NULL. This parameter is useful if some data has already been
+read from the file and the stream is not seekable. It is used in conjunction with <tt>ibytes</tt>. In this case, <tt>initial</tt>
+should be a pointer to a buffer containing the data read.</dd>
+<dt><i>ibytes</i></dt>
+<dd>Typically set to 0. This parameter is useful if some data has already been
+read from the file and the stream is not seekable. In this case, <tt>ibytes</tt>
+should contain the length (in bytes) of the buffer. Used together with <tt>initial</tt></dd>
+</dl>
+
+
+<h3>Return Values</h3>
+<blockquote>
+<li>
+0 for success</li>
+
+<li>less than zero for failure:</li>\r
+<ul>
+<li>OV_EREAD - A read from media returned an error.</li>\r
+<li>OV_ENOTVORBIS - Bitstream is not Vorbis data.</li>\r
+<li>OV_EVERSION - Vorbis version mismatch.</li>\r
+<li>OV_EBADHEADER - Invalid Vorbis bitstream header.</li>\r
+<li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack corruption.</li>\r
+</ul>
+</blockquote>
+<p>
+
+<br><br>
+<hr noshade>
+<table border=0 width=100%>
+<tr valign=top>
+<td><p class=tiny>copyright © 2001 vorbis team</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
+</tr><tr>
+<td><p class=tiny>vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
+</tr>
+</table>
+
+
+</body>
+
+</html>
--- /dev/null
+<html>
+
+<head>
+<title>vorbisfile - function - ov_test_callbacks</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>vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
+</tr>
+</table>
+
+<h1>ov_test_callbacks</h1>
+
+<p><i>declared in "vorbis/vorbisfile.h";</i></p>
+
+<p>This is an alternative function used to open and test an OggVorbis_File
+structure when using a data source other than a file. It allows you to specify custom file manipulation routines and sets up all the related decoding structure.
+<p>Once this has been called, the same <tt>OggVorbis_File</tt>
+struct should be passed to all the vorbisfile functions.
+<p>
+<br><br>
+<table border=0 color=black cellspacing=0 cellpadding=7>
+<tr bgcolor=#cccccc>
+ <td>
+<pre><b>
+int ov_test_callbacks(void *datasource, <a href="OggVorbis_File.html">OggVorbis_File</a> *vf, char *initial, long ibytes, <a href="ov_callbacks.html">ov_callbacks</a> callbacks);
+</b></pre>
+ </td>
+</tr>
+</table>
+
+<h3>Parameters</h3>
+<dl>
+<dt><i>f</i></dt>
+<dd>File pointer to an already opened file
+or pipe (it need not be seekable--though this obviously restricts what
+can be done with the bitstream).</dd>
+<dt><i>vf</i></dt>
+<dd>A pointer to the OggVorbis_File structure--this is used for ALL the externally visible vorbisfile
+functions. Once this has been called, the same <tt>OggVorbis_File</tt>
+struct should be passed to all the vorbisfile functions.</dd>
+<dt><i>initial</i></dt>
+<dd>Typically set to NULL. This parameter is useful if some data has already been
+read from the file and the stream is not seekable. It is used in conjunction with <tt>ibytes</tt>. In this case, <tt>initial</tt>
+should be a pointer to a buffer containing the data read.</dd>
+<dt><i>ibytes</i></dt>
+<dd>Typically set to 0. This parameter is useful if some data has already been
+read from the file and the stream is not seekable. In this case, <tt>ibytes</tt>
+should contain the length (in bytes) of the buffer. Used together with <tt>initial</tt>.</dd>
+<dt><i>callbacks</i></dt>
+<dd>Pointer to a completed <a href="ov_callbacks.html">ov_callbacks</a> struct which indicates desired custom file manipulation routines.</dd>
+</dl>
+
+
+<h3>Return Values</h3>
+<blockquote>
+<li>
+0 for success</li>
+<li>less than zero for failure:</li>\r
+<ul>
+<li>OV_EREAD - A read from media returned an error.</li>\r
+<li>OV_ENOTVORBIS - Bitstream is not Vorbis data.</li>\r
+<li>OV_EVERSION - Vorbis version mismatch.</li>\r
+<li>OV_EBADHEADER - Invalid Vorbis bitstream header.</li>\r
+<li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack corruption.</li>\r
+</ul>
+</blockquote>
+<p>
+
+<hr noshade>
+<table border=0 width=100%>
+<tr valign=top>
+<td><p class=tiny>copyright © 2001 vorbis team</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
+</tr><tr>
+<td><p class=tiny>vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
+</tr>
+</table>
+
+
+</body>
+
+</html>
--- /dev/null
+<html>
+
+<head>
+<title>vorbisfile - function - ov_test_open</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>vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
+</tr>
+</table>
+
+<h1>ov_test_open</h1>
+
+<p><i>declared in "vorbis/vorbisfile.h";</i></p>
+
+<p>
+Finish opening a file partially opened with <a href="ov_test.html">ov_test()</a>
+or <a href="ov_test_callbacks.html">ov_test_callbacks()</a>.
+<p>
+
+<table border=0 color=black cellspacing=0 cellpadding=7>
+<tr bgcolor=#cccccc>
+ <td>
+<pre><b>
+int ov_test_open(<a href="OggVorbis_File.html">OggVorbis_File</a> *vf);
+</b></pre>
+ </td>
+</tr>
+</table>
+
+<h3>Parameters</h3>
+<dl>
+<dt><i>vf</i></dt>
+<dd>A pointer to the OggVorbis_File structure--this is used for ALL the externally visible vorbisfile
+functions. Once this has been called, the same <tt>OggVorbis_File</tt>
+struct should be passed to all the vorbisfile functions.</dd>
+</dl>
+
+
+<h3>Return Values</h3>
+<blockquote>
+<li>
+0 for success</li>
+
+<li>less than zero for failure:</li>\r
+<ul>
+<li>OV_EREAD - A read from media returned an error.</li>\r
+<li>OV_ENOTVORBIS - Bitstream is not Vorbis data.</li>\r
+<li>OV_EVERSION - Vorbis version mismatch.</li>\r
+<li>OV_EBADHEADER - Invalid Vorbis bitstream header.</li>\r
+<li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack corruption.</li>\r
+</ul>
+</blockquote>
+<p>
+
+<br><br>
+<hr noshade>
+<table border=0 width=100%>
+<tr valign=top>
+<td><p class=tiny>copyright © 2001 vorbis team</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
+</tr><tr>
+<td><p class=tiny>vorbisfile documentation</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
+</tr>
+</table>
+
+
+</body>
+
+</html>
<table border=0 width=100%>
<tr>
<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
</tr>
</table>
<a href="ov_open.html">ov_open()</a><br>
<a href="ov_open_callbacks.html">ov_open_callbacks()</a><br>
<a href="ov_clear.html">ov_clear()</a><br>
+<a href="ov_test.html">ov_test()</a><br>
+<a href="ov_test_callbacks.html">ov_test_callbacks()</a><br>
+<a href="ov_test_open.html">ov_test_open()</a><br>
<br>
<b>Decoding</b><br>
<a href="ov_read.html">ov_read()</a><br>
+<a href="ov_read_float.html">ov_read_float()</a><br>
<br>
<b>Seeking</b><br>
<a href="ov_raw_seek.html">ov_raw_seek()</a><br>
<hr noshade>
<table border=0 width=100%>
<tr valign=top>
-<td><p class=tiny>copyright © 2000 vorbis team</p></td>
+<td><p class=tiny>copyright © 2001 vorbis team</p></td>
<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
</tr><tr>
<td><p class=tiny>vorbisfile documentation</p></td>
-<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
+<td align=right><p class=tiny>vorbisfile - 20011218</p></td>
</tr>
</table>