<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>