view src/libogg-1.3.0/doc/libogg/ogg_stream_pageout_fill.html @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 05aa0afa9217
children
line wrap: on
line source
<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.0 - 20110804</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 &copy; 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.0 - 20110804</p></td>
</tr>
</table>


</body>

</html>