Vorbisfile documentation

vorbisfile version 1.2.0 - 20070723

ov_read_float()

declared in "vorbis/vorbisfile.h";

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.

Notes

Typical usage:

float **pcm; samples_read = ov_read_float(&vf,pcm, 1024, &current_section)
This decodes up to 1024 float samples.





copyright © 2002 vorbis team

Ogg Vorbis
team@vorbis.org

Vorbisfile documentation

vorbisfile version 1.2.0 - 20070723