libogg documentation |
libogg release 1.3.5 - 20210603 |
declared in "ogg/ogg.h";
This function takes the data stored in the buffer of the ogg_sync_state struct and inserts them into an ogg_page.
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.
Caution: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.
int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og); |
-1 returned if stream has not yet captured sync (bytes were skipped). 0 returned if more data needed or an internal error occurred. 1 indicated a page was synced and returned.
if (ogg_sync_pageout(&oy, &og) != 1) { buffer = ogg_sync_buffer(&oy, 8192); bytes = fread(buffer, 1, 8192, stdin); ogg_sync_wrote(&oy, bytes); }
copyright © 2000-2021 Xiph.Org Foundation |
|
libogg documentation |
libogg release 1.3.5 - 20210603 |