<html> <head> <title>libvorbisenc - function - vorbis_encode_init</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>libvorbisenc documentation</p></td> <td align=right><p class=tiny>libvorbisenc release 1.1 - 20040709</p></td> </tr> </table> <h1>vorbis_encode_init</h1> <p><i>declared in "vorbis/vorbisenc.h";</i></p> <p>This is the primary function within libvorbisenc for setting up managed bitrate modes. <p>Before this function is called, the <a href="vorbis_info.html">vorbis_info</a> struct should be initialized by using vorbis_info_init() from the libvorbis API. After encoding, vorbis_info_clear should be called. <p>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. <p> <br><br> <table border=0 color=black cellspacing=0 cellpadding=7> <tr bgcolor=#cccccc> <td> <pre><b> extern int vorbis_encode_init(<a href="vorbis_info.html">vorbis_info</a> *vi, long channels, long rate, long max_bitrate, long nominal_bitrate, long min_bitrate); </b></pre> </td> </tr> </table> <h3>Parameters</h3> <dl> <dt><i>vi</i></dt> <dd>Pointer to an initialized <a href="vorbis_info.html">vorbis_info</a> struct.</dd> <dt><i>channels</i></dt> <dd>The number of channels to be encoded.</dd> <dt><i>rate</i></dt> <dd>The sampling rate of the source audio.</dd> <dt><i>max_bitrate</i></dt> <dd>Desired maximum bitrate (limit). -1 indicates unset.</dd> <dt><i>nominal_bitrate</i></dt> <dd>Desired average, or central, bitrate. -1 indicates unset.</dd> <dt><i>min_bitrate</i></dt> <dd>Desired minimum bitrate. -1 indicates unset.</dd> </dl> <h3>Return Values</h3> <blockquote> <li> 0 for success</li> <li>less than zero for failure:</li> <ul> <li>OV_EFAULT - Internal logic fault; indicates a bug or heap/stack corruption.</li> <li>OV_EINVAL - Invalid setup request, eg, out of range argument. </li> <li>OV_EIMPL - Unimplemented mode; unable to comply with bitrate request.</li> </ul> </blockquote> <p> <br><br> <hr noshade> <table border=0 width=100%> <tr valign=top> <td><p class=tiny>copyright © 2004 xiph.org</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>libvorbisenc documentation</p></td> <td align=right><p class=tiny>libvorbisenc release 1.1 - 20040709</p></td> </tr> </table> </body> </html>