<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 version 1.2.0 - 20070723</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 information on channel ordering and 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_float(<a href="OggVorbis_File.html">OggVorbis_File</a> *vf, float ***pcm_channels, int samples, 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>samples</i></dt>
<dd>Maximum number of decoded samples to produce.</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>OV_EINVAL</dt>
<dd>indicates the initial file headers couldn't be read or
are corrupt, or that the initial open call for <i>vf</i>
failed.</dd>
<dt>0</dt>
<dd>indicates EOF</dd>
<dt><i>n</i></dt>
<dd>indicates actual number of samples read. <tt>ov_read_float()</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;
samples_read = ov_read_float(&vf,pcm, 1024, &current_section)</tt>
</blockquote>
This decodes up to 1024 float samples.
</p>
<br>
<br><br>
<hr noshade>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2002 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.2.0 - 20070723</p></td>
</tr>
</table>
</body>
</html>