+ 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.
+
+ For information on channel ordering and how ov_read_float() deals with the complex issues
+ of chaining, etc, refer to the documentation for ov_read().
+
+
+
+
+
+
+
+long ov_read_float(OggVorbis_File *vf, float ***pcm_channels, int samples, int *bitstream);
+
+
+
+
+
+
Parameters
+
+
vf
+
A pointer to the OggVorbis_File structure--this is used for ALL the externally visible vorbisfile
+functions.
+
pcm_channels
+
A pointer to an output buffer. The pointer will be set to the decoded output buffer.
+
samples
+
Maximum number of decoded samples to produce.
+
bitstream
+
A pointer to the number of the current logical bitstream.
+
+
+
+
Return Values
+
+
+
OV_HOLE
+
indicates there was an interruption in the data.
+ (one of: garbage between pages, loss of sync followed by
+ recapture, or a corrupt page)
+
OV_EBADLINK
+
indicates that an invalid stream section was supplied to
+ libvorbisfile, or the requested link is corrupt.
+
OV_EINVAL
+
indicates the initial file headers couldn't be read or
+ are corrupt, or that the initial open call for vf
+ failed.
+
0
+
indicates EOF
+
n
+
indicates actual number of samples read. ov_read_float() will
+ decode at most one vorbis packet per invocation, so the value
+ returned will generally be less than length.
+