[xiph-cvs] cvs commit: ogg/doc/ogg ogg_packet.html ogg_page.html

Ralph Giles giles at xiph.org
Mon Oct 15 02:12:42 PDT 2001



giles       01/10/15 02:12:42

  Modified:    doc/ogg  ogg_packet.html ogg_page.html
  Log:
  fixed some very out of date info about the page and packet structures.

Revision  Changes    Path
1.2       +23 -26    ogg/doc/ogg/ogg_packet.html

Index: ogg_packet.html
===================================================================
RCS file: /usr/local/cvsroot/ogg/doc/ogg/ogg_packet.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ogg_packet.html	2001/02/26 04:06:25	1.1
+++ ogg_packet.html	2001/10/15 09:12:41	1.2
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>libogg documentation</p></td>
-<td align=right><p class=tiny>libogg version 1.25 - 20000615</p></td>
+<td align=right><p class=tiny>libogg - 20011015</p></td>
 </tr>
 </table>
 
@@ -18,27 +18,24 @@
 <p><i>declared in "ogg/ogg.h"</i></p>
 
 <p>
-The ogg_packet struct encapsulates the data for a single raw packet of data.
+The ogg_packet struct encapsulates the data for a single raw packet of data
+and is used to transfer data between the ogg framing layer and the handling codec.
 <p>
 
 <table border=0 width=100% color=black cellspacing=0 cellpadding=7>
 <tr bgcolor=#cccccc>
         <td>
-<pre><b>
-typedef struct {
-  unsigned char *packet;
-  long  bytes;
-  long  b_o_s;
-  long  e_o_s;
-
-  ogg_int64_t  frameno;
-  ogg_int64_t  packetno;       /* sequence number for decode; the framing
-                             knows where there's a hole in the data,
-                             but we need coupling so that the codec
-                             (which is in a seperate abstraction
-                             layer) also knows about the gap */
-
-} ogg_packet;
+<pre><b>
+typedef struct {
+  unsigned char *packet;
+  long  bytes;
+  long  b_o_s;
+  long  e_o_s;
+
+  ogg_int64_t  granulepos;
+  ogg_int64_t  packetno; 
+
+} ogg_packet;
 </b></pre>
         </td>
 </tr>
@@ -47,17 +44,17 @@
 <h3>Relevant Struct Members</h3>
 <dl>
 <dt><i>packet</i></dt>
-<dd>Pointer to data in form of a packet.</dd>
+<dd>Pointer to the packet's data. This is treated as an opaque type by the ogg layer.</dd>
 <dt><i>bytes</i></dt>
-<dd>Indicates size in bytes of the data within this page.  Pages can be of arbitrary size.</dd>
+<dd>Indicates the size of the packet data in bytes.  Packets can be of arbitrary size.</dd>
 <dt><i>b_o_s</i></dt>
-<dd>Flag indicating whether this page is at the beginning of a bitstream.  <tt>1</tt> indicates beginning page, <tt>0</tt> indicates any other position in the stream.</dd>
+<dd>Flag indicating whether this packet begins a logical bitstream.  <tt>1</tt> indicates this is the first packet, <tt>0</tt> indicates any other position in the stream.</dd>
 <dt><i>e_o_s</i></dt>
-<dd>Flag indicating whether this page is at the end of a bitstream.  <tt>1</tt> indicates ending page, <tt>0</tt> indicates any other position in the stream.</dd>
-<dt><i>frameno</i></dt>
-<dd>Sequential number indicating precise position within stream.</dd>
+<dd>Flag indicating whether this packet ends a bitstream.  <tt>1</tt> indicates the last packet, <tt>0</tt> indicates any other position in the stream.</dd>
+<dt><i>granulepos</i></dt>
+<dd>Sequential number indicating the position of this packet in the decoded data. This is the last sample, frame or other unit of information ('granule') that can be completely decoded from this packet.</dd>
 <dt><i>packetno</i></dt>
-<dd>Sequential number of this packet.  Used within the decoder for internal ordering.<dd>
+<dd>Sequential number of this packet in the ogg bitstream.<dd>
 </dl>
 
 
@@ -65,11 +62,11 @@
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2000 xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2001 xiph.org foundation</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team at xiph.org">team at xiph.org</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
-<td align=right><p class=tiny>libogg version 1.25 - 20000615</p></td>
+<td align=right><p class=tiny>libogg - 20011015</p></td>
 </tr>
 </table>
 

1.3       +26 -21    ogg/doc/ogg/ogg_page.html

Index: ogg_page.html
===================================================================
RCS file: /usr/local/cvsroot/ogg/doc/ogg/ogg_page.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ogg_page.html	2001/08/31 21:22:47	1.2
+++ ogg_page.html	2001/10/15 09:12:41	1.3
@@ -9,7 +9,7 @@
 <table border=0 width=100%>
 <tr>
 <td><p class=tiny>libogg documentation</p></td>
-<td align=right><p class=tiny>libogg version 1.25 - 20000615</p></td>
+<td align=right><p class=tiny>libogg - 200011015</p></td>
 </tr>
 </table>
 
@@ -18,22 +18,27 @@
 <p><i>declared in "ogg/ogg.h"</i></p>
 
 <p>
-The ogg_page struct encapsulates the data for an Ogg page.
-<p>
-Ogg pages are of arbitrary length, with an approximate maximum size of 6kB.  They are made up of packet segments of 255 bytes each. There can be as many as 255 packet segments per page.
-<p>
+The ogg_page struct encapsulates the data for an Ogg page.
+<p>
+Ogg pages are the fundamental unit of framing and interleave in an ogg bitstream.
+They are made up of packet segments of 255 bytes each. There can be as many as
+255 packet segments per page, for a maximum page size of a little under 64 kB.
+This is not a practical limitation as the segments can be joined across
+page boundaries allowing packets of arbitrary size. In practice pages are
+usually around 4 kB.
+<p>
 <p>For a complete description of ogg pages and headers, please refer to the <a href="../framing.html">framing document</a>.
 
 <table border=0 width=100% color=black cellspacing=0 cellpadding=7>
 <tr bgcolor=#cccccc>
         <td>
-<pre><b>
-typedef struct {
-  unsigned char *header;
-  long header_len;
-  unsigned char *body;
-  long body_len;
-} ogg_page;
+<pre><b>
+typedef struct {
+  unsigned char *header;
+  long           header_len;
+  unsigned char *body;
+  long           body_len;
+} ogg_page;
 </b></pre>
         </td>
 </tr>
@@ -42,13 +47,13 @@
 <h3>Relevant Struct Members</h3>
 <dl>
 <dt><i>header</i></dt>
-<dd>Pointer to the page header for this page.  The exact contents of this header are defined in the framing spec document.</dd>
-<dt><i>header_len</a></dt>
-<dd>Length in bytes of the page header.</a>
-<dt><i>body</a></dt>
-<dd>Pointer to the data for this page.</dd>
-<dt><i>body_len</a></dt>
-<dd>Length in bytes of the body.</dd>
+<dd>Pointer to the page header for this page.  The exact contents of this header are defined in the framing spec document.</dd>
+<dt><i>header_len</i></dt>
+<dd>Length of the page header in bytes.</a>
+<dt><i>body</i></dt>
+<dd>Pointer to the data for this page.</dd>
+<dt><i>body_len</i></dt>
+<dd>Length of the body data in bytes.</dd>
 </dl>
 
 
@@ -56,11 +61,11 @@
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2000 xiph.org</p></td>
+<td><p class=tiny>copyright &copy; 2001 xiph.org foundation</p></td>
 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team at xiph.org">team at xiph.org</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
-<td align=right><p class=tiny>libogg version 1.25 - 20000615</p></td>
+<td align=right><p class=tiny>libogg version - 20011015</p></td>
 </tr>
 </table>
 

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the commits mailing list