This is the primary function within libvorbisenc. This is used to properly set up an encoding environment using libvorbisenc.
Before this function is called, the vorbis_info struct should be initialized by using vorbis_info_init() from the libvorbis API. After encoding, vorbis_info_clear should be called.
The max_bitrate, nominal_bitrate, and min_bitrate settings are used to set constraints for the encoded file. This function uses these settings to select the appropriate encoding mode and set it up.
extern int vorbis_encode_init(vorbis_info *vi,
long channels,
long rate,
long max_bitrate,
long nominal_bitrate,
long min_bitrate);
Parameters
vi
File pointer to an initialized vorbis_info struct.
channels
The number of channels to be encoded.
rate
The sampling rate of the source audio.
max_bitrate
Desired maximum bitrate (limit).
nominal_bitrate
Desired average, or central, bitrate.
min_bitrate
Desired minimum bitrate.
Return Values
0 for success
less than zero for failure:
OV_EFAULT - Internal logic fault; indicates a bug or heap/stack corruption.