ogg_stream_pageout.html 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <html>
  2. <head>
  3. <title>libogg - function - ogg_stream_pageout</title>
  4. <link rel=stylesheet href="style.css" type="text/css">
  5. </head>
  6. <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
  7. <table border=0 width=100%>
  8. <tr>
  9. <td><p class=tiny>libogg documentation</p></td>
  10. <td align=right><p class=tiny>libogg release 1.3.4 - 20190830</p></td>
  11. </tr>
  12. </table>
  13. <h1>ogg_stream_pageout</h1>
  14. <p><i>declared in "ogg/ogg.h";</i></p>
  15. <p>This function forms packets into pages.</p>
  16. <p>In a typical encoding situation, this would be called after using <a
  17. href="ogg_stream_packetin.html">ogg_stream_packetin()</a> to submit
  18. data packets to the bitstream. Internally, this function assembles
  19. the accumulated packet bodies into an Ogg page suitable for writing
  20. to a stream. The function is typically called in a loop until there
  21. are no more pages ready for output.</p>
  22. <p>This function will only return a page when a "reasonable" amount of
  23. packet data is available. Normally this is appropriate since it
  24. limits the overhead of the Ogg page headers in the bitstream, and so
  25. calling ogg_stream_pageout() after ogg_stream_packetin() should be the
  26. common case. Call <a href="ogg_stream_flush.html">ogg_stream_flush()</a>
  27. if immediate page generation is desired. This may be occasionally
  28. necessary, for example, to limit the temporal latency of a variable
  29. bitrate stream.</p>
  30. <br><br>
  31. <table border=0 color=black cellspacing=0 cellpadding=7>
  32. <tr bgcolor=#cccccc>
  33. <td>
  34. <pre><b>
  35. int ogg_stream_pageout(<a href="ogg_stream_state.html">ogg_stream_state</a> *os, <a href="ogg_page.html">ogg_page</a> *og);
  36. </b></pre>
  37. </td>
  38. </tr>
  39. </table>
  40. <h3>Parameters</h3>
  41. <dl>
  42. <dt><i>os</i></dt>
  43. <dd>Pointer to a previously declared <a href="ogg_stream.html">ogg_stream</a> struct, which represents the current logical bitstream.</dd>
  44. <dt><i>og</i></dt>
  45. <dd>Pointer to an <a href="ogg_page.html">ogg_page</a> structure to fill
  46. in. Data pointed to is owned by libogg. The structure is valid until the
  47. next call to ogg_stream_pageout(), ogg_stream_packetin(), or
  48. ogg_stream_flush().</dd>
  49. </dl>
  50. <h3>Return Values</h3>
  51. <blockquote>
  52. <li>Zero means that insufficient data has accumulated to fill a page, or an internal error occurred. In
  53. this case <i>og</i> is not modified.</li>
  54. <li>Non-zero means that a page has been completed and returned.</li>
  55. </blockquote>
  56. <p>
  57. <br><br>
  58. <hr noshade>
  59. <table border=0 width=100%>
  60. <tr valign=top>
  61. <td><p class=tiny>copyright &copy; 2000-2019 Xiph.Org Foundation</p></td>
  62. <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
  63. </tr><tr>
  64. <td><p class=tiny>libogg documentation</p></td>
  65. <td align=right><p class=tiny>libogg release 1.3.4 - 20190830</p></td>
  66. </tr>
  67. </table>
  68. </body>
  69. </html>