1 | <html>
|
---|
2 |
|
---|
3 | <head>
|
---|
4 | <title>libogg - function - ogg_sync_pageout</title>
|
---|
5 | <link rel=stylesheet href="style.css" type="text/css">
|
---|
6 | </head>
|
---|
7 |
|
---|
8 | <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
|
---|
9 | <table border=0 width=100%>
|
---|
10 | <tr>
|
---|
11 | <td><p class=tiny>libogg documentation</p></td>
|
---|
12 | <td align=right><p class=tiny>libogg release 1.3.5 - 20210603</p></td>
|
---|
13 | </tr>
|
---|
14 | </table>
|
---|
15 |
|
---|
16 | <h1>ogg_sync_pageout</h1>
|
---|
17 |
|
---|
18 | <p><i>declared in "ogg/ogg.h";</i></p>
|
---|
19 |
|
---|
20 | <p>This function takes the data stored in the buffer of the <a href="ogg_sync_state.html">ogg_sync_state</a> struct and inserts them into an <a href="ogg_page.html">ogg_page</a>.
|
---|
21 |
|
---|
22 | <p>In an actual decoding loop, this function should be called first to ensure that the buffer is cleared. The example code below illustrates a clean reading loop which will fill and output pages.
|
---|
23 | <p><b>Caution:</b>This function should be called before reading into the buffer to ensure that data does not remain in the ogg_sync_state struct. Failing to do so may result in a memory leak. See the example code below for details.
|
---|
24 |
|
---|
25 | <br><br>
|
---|
26 | <table border=0 color=black cellspacing=0 cellpadding=7>
|
---|
27 | <tr bgcolor=#cccccc>
|
---|
28 | <td>
|
---|
29 | <pre><b>
|
---|
30 | int ogg_sync_pageout(<a href="ogg_sync_state.html">ogg_sync_state</a> *oy, <a href="ogg_page.html">ogg_page</a> *og);
|
---|
31 | </b></pre>
|
---|
32 | </td>
|
---|
33 | </tr>
|
---|
34 | </table>
|
---|
35 |
|
---|
36 | <h3>Parameters</h3>
|
---|
37 | <dl>
|
---|
38 | <dt><i>oy</i></dt>
|
---|
39 | <dd>Pointer to a previously declared <a href="ogg_sync_state.html">ogg_sync_state</a> struct. Normally, the internal storage of this struct should be filled with newly read data and verified using <a href="ogg_sync_wrote.html">ogg_sync_wrote</a>.</dd>
|
---|
40 | <dt><i>og</i></dt>
|
---|
41 | <dd>Pointer to page struct filled by this function.
|
---|
42 | </dl>
|
---|
43 |
|
---|
44 |
|
---|
45 | <h3>Return Values</h3>
|
---|
46 | <blockquote>
|
---|
47 | <li>-1 returned if stream has not yet captured sync (bytes were skipped).</li>
|
---|
48 | <li>0 returned if more data needed or an internal error occurred.</li>
|
---|
49 | <li>1 indicated a page was synced and returned.</li>
|
---|
50 | </blockquote>
|
---|
51 | <p>
|
---|
52 |
|
---|
53 | <h3>Example Usage</h3>
|
---|
54 | <pre>
|
---|
55 | if (ogg_sync_pageout(&oy, &og) != 1) {
|
---|
56 | buffer = ogg_sync_buffer(&oy, 8192);
|
---|
57 | bytes = fread(buffer, 1, 8192, stdin);
|
---|
58 | ogg_sync_wrote(&oy, bytes);
|
---|
59 | }
|
---|
60 | </pre>
|
---|
61 |
|
---|
62 | <br><br>
|
---|
63 | <hr noshade>
|
---|
64 | <table border=0 width=100%>
|
---|
65 | <tr valign=top>
|
---|
66 | <td><p class=tiny>copyright © 2000-2021 Xiph.Org Foundation</p></td>
|
---|
67 | <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
|
---|
68 | </tr><tr>
|
---|
69 | <td><p class=tiny>libogg documentation</p></td>
|
---|
70 | <td align=right><p class=tiny>libogg release 1.3.5 - 20210603</p></td>
|
---|
71 | </tr>
|
---|
72 | </table>
|
---|
73 |
|
---|
74 |
|
---|
75 | </body>
|
---|
76 |
|
---|
77 | </html>
|
---|