[15] | 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> |
---|