00001 <html> 00002 00003 <head> 00004 <title>libogg - Encoding</title> 00005 <link rel=stylesheet href="style.css" type="text/css"> 00006 </head> 00007 00008 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff"> 00009 <table border=0 width=100%> 00010 <tr> 00011 <td><p class=tiny>libogg documentation</p></td> 00012 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td> 00013 </tr> 00014 </table> 00015 00016 <h1>Encoding</h1> 00017 <p>Libogg contains a set of functions used in the encoding process. 00018 <p> 00019 All the <b>libogg</b> specific functions are declared in "ogg/ogg.h". 00020 <p> 00021 <p>When encoding, the encoding engine will output raw packets which must be placed into an Ogg bitstream. 00022 <p>Raw packets are inserted into the stream, and an <a href="ogg_page.html">ogg_page</a> is output when enough packets have been written to create a full page. The pages output are pointers to buffered packet segments, and can then be written out and saved as an ogg stream. 00023 <p>There are a couple of basic steps: 00024 <ul> 00025 <li>Use the encoding engine to produce a raw packet of data. 00026 <li>Call <a href="ogg_stream_packetin.html">ogg_stream_packetin</a> to submit a raw packet to the stream. 00027 <li>Use <a href="ogg_stream_pageout.html">ogg_stream_pageout</a> to output a page, if enough data has been submitted. Otherwise, continue submitting data. 00028 </ul> 00029 <br><br> 00030 00031 <table border=1 color=black width=50% cellspacing=0 cellpadding=7> 00032 <tr bgcolor=#cccccc> 00033 <td><b>function</b></td> 00034 <td><b>purpose</b></td> 00035 </tr> 00036 <tr valign=top> 00037 <td><a href="ogg_stream_packetin.html">ogg_stream_packetin</a></td> 00038 <td>Submits a raw packet to the streaming layer, so that it can be formed into a page.</td> 00039 </tr> 00040 <tr valign=top> 00041 <td><a href="ogg_stream_pageout.html">ogg_stream_pageout</a></td> 00042 <td>Outputs a completed page if the stream contains enough packets to form a full page.<td> 00043 </tr> 00044 <tr valign=top> 00045 <td><a href="ogg_stream_flush.html">ogg_stream_flush</a></td> 00046 <td>Forces any remaining packets in the stream to be returned as a page of any size.<td> 00047 </tr> 00048 </table> 00049 00050 <br><br> 00051 <hr noshade> 00052 <table border=0 width=100%> 00053 <tr valign=top> 00054 <td><p class=tiny>copyright © 2000 xiph.org</p></td> 00055 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a><br><a href="mailto:team@xiph.org">team@xiph.org</a></p></td> 00056 </tr><tr> 00057 <td><p class=tiny>libogg documentation</p></td> 00058 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td> 00059 </tr> 00060 </table> 00061 00062 </body> 00063 00064 </html>