<html> <head> <title>libogg - function - ogg_stream_pageout_fill</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>libogg documentation</p></td> <td align=right><p class=tiny>libogg release 1.3.2 - 20140527</p></td> </tr> </table> <h1>ogg_stream_pageout_fill</h1> <p><i>declared in "ogg/ogg.h";</i></p> <p>This function forms packets into pages, similar to <a href="ogg_stream_pageout.html">ogg_stream_pageout()</a>, but allows applications to explicitly request a specific page spill size.</p> <p>In a typical encoding situation, this would be called after using <a href="ogg_stream_packetin.html">ogg_stream_packetin()</a> to submit data packets to the bitstream. Internally, this function assembles the accumulated packet bodies into an Ogg page suitable for writing to a stream. The function is typically called in a loop until there are no more pages ready for output.</p> <p>This function will return a page when at least four packets have been accumulated and accumulated packet data meets or exceeds the specified number of bytes, <b>and/or</b> when the accumulated packet data meets/exceeds the maximum page size regardless of accumulated packet count. Call <a href="ogg_stream_flush.html">ogg_stream_flush()</a> or <a href="ogg_stream_flush_fill.html">ogg_stream_flush_fill()</a> if immediate page generation is desired regardless of accumulated data.</p> <br><br> <table border=0 color=black cellspacing=0 cellpadding=7> <tr bgcolor=#cccccc> <td> <pre><b> int ogg_stream_pageout_fill(<a href="ogg_stream_state.html">ogg_stream_state</a> *os, <a href="ogg_page.html">ogg_page</a> *og, int fillbytes); </b></pre> </td> </tr> </table> <h3>Parameters</h3> <dl> <dt><i>os</i></dt> <dd>Pointer to a previously declared <a href="ogg_stream.html">ogg_stream</a> struct, which represents the current logical bitstream.</dd> <dt><i>og</i></dt> <dd>Pointer to an <a href="ogg_page.html">ogg_page</a> structure to fill in. Data pointed to is owned by libogg. The structure is valid until the next call to ogg_stream_pageout(), ogg_stream_packetin(), or ogg_stream_flush().</dd> <dt><i>fillbytes</i></dt> <dd>Packet data watermark in bytes.</dd> </dl> <h3>Return Values</h3> <blockquote> <li>Zero means that insufficient data has accumulated to fill a page, or an internal error occurred. In this case <i>og</i> is not modified.</li> <li>Non-zero means that a page has been completed and returned.</li> </blockquote> <p> <br><br> <hr noshade> <table border=0 width=100%> <tr valign=top> <td><p class=tiny>copyright © 2000-2010 xiph.org</p></td> <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td> </tr><tr> <td><p class=tiny>libogg documentation</p></td> <td align=right><p class=tiny>libogg release 1.3.2 - 20140527</p></td> </tr> </table> </body> </html>