ogg_stream_pageout_fill.html 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <html>
  2. <head>
  3. <title>libogg - function - ogg_stream_pageout_fill</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_fill</h1>
  14. <p><i>declared in "ogg/ogg.h";</i></p>
  15. <p>This function forms packets into pages, similar
  16. to <a href="ogg_stream_pageout.html">ogg_stream_pageout()</a>, but
  17. allows applications to explicitly request a specific page spill
  18. size.</p>
  19. <p>In a typical encoding situation, this would be called after using <a
  20. href="ogg_stream_packetin.html">ogg_stream_packetin()</a> to submit
  21. data packets to the bitstream. Internally, this function assembles
  22. the accumulated packet bodies into an Ogg page suitable for writing
  23. to a stream. The function is typically called in a loop until there
  24. are no more pages ready for output.</p>
  25. <p>This function will return a page when at least four packets have
  26. been accumulated and accumulated packet data meets or exceeds the
  27. specified number of bytes, <b>and/or</b> when the accumulated packet
  28. data meets/exceeds the maximum page size regardless of accumulated
  29. packet count.
  30. Call <a href="ogg_stream_flush.html">ogg_stream_flush()</a> or
  31. <a href="ogg_stream_flush_fill.html">ogg_stream_flush_fill()</a> if
  32. immediate page generation is desired regardless of accumulated data.</p>
  33. <br><br>
  34. <table border=0 color=black cellspacing=0 cellpadding=7>
  35. <tr bgcolor=#cccccc>
  36. <td>
  37. <pre><b>
  38. int ogg_stream_pageout_fill(<a href="ogg_stream_state.html">ogg_stream_state</a> *os, <a href="ogg_page.html">ogg_page</a> *og, int fillbytes);
  39. </b></pre>
  40. </td>
  41. </tr>
  42. </table>
  43. <h3>Parameters</h3>
  44. <dl>
  45. <dt><i>os</i></dt>
  46. <dd>Pointer to a previously declared <a href="ogg_stream.html">ogg_stream</a> struct, which represents the current logical bitstream.</dd>
  47. <dt><i>og</i></dt>
  48. <dd>Pointer to an <a href="ogg_page.html">ogg_page</a> structure to fill
  49. in. Data pointed to is owned by libogg. The structure is valid until the
  50. next call to ogg_stream_pageout(), ogg_stream_packetin(), or
  51. ogg_stream_flush().</dd>
  52. <dt><i>fillbytes</i></dt>
  53. <dd>Packet data watermark in bytes.</dd>
  54. </dl>
  55. <h3>Return Values</h3>
  56. <blockquote>
  57. <li>Zero means that insufficient data has accumulated to fill a page, or an internal error occurred. In
  58. this case <i>og</i> is not modified.</li>
  59. <li>Non-zero means that a page has been completed and returned.</li>
  60. </blockquote>
  61. <p>
  62. <br><br>
  63. <hr noshade>
  64. <table border=0 width=100%>
  65. <tr valign=top>
  66. <td><p class=tiny>copyright &copy; 2000-2019 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.4 - 20190830</p></td>
  71. </tr>
  72. </table>
  73. </body>
  74. </html>