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.0 - 20000615</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 if we were not properly synced and had to skip some bytes.</li> |
---|
48 | <li> |
---|
49 | 0 if we need more data to verify a page.</li> |
---|
50 | <li> |
---|
51 | 1 if we have a page.</li> |
---|
52 | </blockquote> |
---|
53 | <p> |
---|
54 | |
---|
55 | <h3>Example Usage</h3> |
---|
56 | <pre> |
---|
57 | if (ogg_sync_pageout(&oy, &og) != 1) { |
---|
58 | buffer = ogg_sync_buffer(&oy, 8192); |
---|
59 | bytes = fread(buffer, 1, 8192, stdin); |
---|
60 | ogg_sync_wrote(&oy, bytes); |
---|
61 | } |
---|
62 | </pre> |
---|
63 | |
---|
64 | <br><br> |
---|
65 | <hr noshade> |
---|
66 | <table border=0 width=100%> |
---|
67 | <tr valign=top> |
---|
68 | <td><p class=tiny>copyright © 2000 xiph.org</p></td> |
---|
69 | <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@xiph.org">team@xiph.org</a></p></td> |
---|
70 | </tr><tr> |
---|
71 | <td><p class=tiny>libogg documentation</p></td> |
---|
72 | <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td> |
---|
73 | </tr> |
---|
74 | </table> |
---|
75 | |
---|
76 | |
---|
77 | </body> |
---|
78 | |
---|
79 | </html> |
---|