[xiph-commits] r15030 - in trunk/oggdsf/src/lib/core/ogg/libogg: . debian doc doc/ogg include/ogg macosx/English.lproj src

cristianadam at svn.xiph.org cristianadam at svn.xiph.org
Fri Jun 13 17:01:34 PDT 2008


Author: cristianadam
Date: 2008-06-13 17:01:33 -0700 (Fri, 13 Jun 2008)
New Revision: 15030

Modified:
   trunk/oggdsf/src/lib/core/ogg/libogg/CHANGES
   trunk/oggdsf/src/lib/core/ogg/libogg/Makefile.am
   trunk/oggdsf/src/lib/core/ogg/libogg/README
   trunk/oggdsf/src/lib/core/ogg/libogg/configure.in
   trunk/oggdsf/src/lib/core/ogg/libogg/debian/rules
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/Makefile.am
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/framing.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/index.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/bitpacking.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/datastructures.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/decoding.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/encoding.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/general.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/index.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_packet.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_packet_clear.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_bos.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_checksum_set.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_continued.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_eos.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_granulepos.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_packets.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_pageno.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_serialno.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_version.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_clear.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_destroy.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_eos.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_flush.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_init.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_packetin.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_packetout.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_packetpeek.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_pagein.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_pageout.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_reset.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_reset_serialno.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_state.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_buffer.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_clear.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_destroy.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_init.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_pageout.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_pageseek.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_reset.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_state.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_wrote.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_adv.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_adv1.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_bits.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_buffer.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_bytes.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_get_buffer.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_look.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_look1.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_read.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_read1.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_readinit.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_reset.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_write.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writealign.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writeclear.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writecopy.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writeinit.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writetrunc.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/overview.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/reference.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/vorbis_comment.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/vorbis_info.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/oggstream.html
   trunk/oggdsf/src/lib/core/ogg/libogg/doc/stream.png
   trunk/oggdsf/src/lib/core/ogg/libogg/include/ogg/ogg.h
   trunk/oggdsf/src/lib/core/ogg/libogg/include/ogg/os_types.h
   trunk/oggdsf/src/lib/core/ogg/libogg/libogg.spec.in
   trunk/oggdsf/src/lib/core/ogg/libogg/macosx/English.lproj/InfoPlist.strings
   trunk/oggdsf/src/lib/core/ogg/libogg/ogg.m4
   trunk/oggdsf/src/lib/core/ogg/libogg/src/Makefile.am
   trunk/oggdsf/src/lib/core/ogg/libogg/src/bitwise.c
   trunk/oggdsf/src/lib/core/ogg/libogg/src/framing.c
Log:
Updated to version: Version 1.1.3 (2005 November 27) 

I would like to make it external, but I don't know how at the moment.

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/CHANGES
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/CHANGES	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/CHANGES	2008-06-14 00:01:33 UTC (rev 15030)
@@ -1,5 +1,11 @@
-Version 1.1.2 (unreleased)
+Version 1.1.3 (2005 November 27)
 
+ * Correct a bug in the granulepos field of pages where no packet ends
+ * New VS2003 and XCode builds, minor fixes to other builds
+ * documentation fixes and cleanup
+ 
+Version 1.1.2 (2004 September 23)
+
  * fix a bug with multipage packet assembly after seek
 
 Version 1.1.1 (2004 September 12)

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/Makefile.am
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/Makefile.am	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/Makefile.am	2008-06-14 00:01:33 UTC (rev 15030)
@@ -2,7 +2,7 @@
 
 AUTOMAKE_OPTIONS = foreign 1.6 dist-zip
 
-SUBDIRS = src include doc win32 debian
+SUBDIRS = src include doc
 
 m4datadir = $(datadir)/aclocal
 m4data_DATA = ogg.m4
@@ -13,12 +13,16 @@
 EXTRA_DIST = README AUTHORS CHANGES COPYING \
 	libogg.spec libogg.spec.in \
 	ogg.m4 ogg.pc.in ogg-uninstalled.pc.in \
-	macos macosx
+	macos macosx win32
 
 dist-hook:
-	rm -rf `find $(distdir)/macos -name CVS`
-	rm -rf `find $(distdir)/macosx -name CVS`
-
+	for item in $(EXTRA_DIST); do \
+	  if test -d $$item; then \
+	    echo -n "cleaning dir $$item for distribution..."; \
+	    rm -rf `find $(distdir)/$$item -name .svn`; \
+	    echo "OK"; \
+	  fi; \
+	done
 debug:
 	$(MAKE) all CFLAGS="@DEBUG@"
 

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/README
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/README	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/README	2008-06-14 00:01:33 UTC (rev 15030)
@@ -23,14 +23,17 @@
 
 ./include       Library API headers and codebooks
 
-./debian        Rules/spec files for building Debian .deb packages
-
 ./doc           Ogg specification documents
 
 ./win32		Win32 projects and build automation
 
-./mac		MacOS 9 projects and build automation
+./macosx	MacOS X project and build files
 
+./macos		Classic MacOS 9 projects and build automation
+
+./debian        Rules/spec files for building Debian .deb packages
+		(may not be present, depending on your distribution)
+
 WHAT IS OGG?:
 
 Ogg project codecs use the Ogg bitstream format to arrange the raw,
@@ -45,9 +48,9 @@
 Up to date technical documents, contact information, source code and
 pre-built utilities may be found there.
 
-BUILDING FROM CVS:
+BUILDING FROM REPOSITORY SOURCE:
 
-A standard cvs build should consist of nothing more than:
+A standard svn build should consist of nothing more than:
 
 ./autogen.sh
 make 
@@ -82,6 +85,33 @@
 
 E.g.: build_ogg_dynamic
 
+CROSS COMPILING FROM LINUX TO WIN32:
+
+It is also possible to cross compile from Linux to windows using the MinGW
+cross tools and even to run the test suite under Wine, the Linux/*nix
+windows emulator.
+
+On Debian and Ubuntu systems, these cross compiler tools can be installed
+by doing:
+
+    sudo apt-get mingw32 mingw32-binutils mingw32-runtime wine
+
+Once these tools are installed its possible to compile and test by
+executing the following commands:
+
+    ./configure --host=i586-mingw32msvc --target=i586-mingw32msvc \
+         --build=i586-linux
+    make
+    make check
+
+The above has been tested with the following versions of the tools on
+Ubuntu's Hardy Heron release:
+
+    mingw32             4.2.1.dfsg-1ubuntu1
+    mingw32-binutils    2.17.50-20070129.1-1
+    mingw32-runtime     3.13-1
+    wine                0.9.59-0ubuntu4
+
 BUILDING ON MACOS 9:
 
 Ogg on MacOS 9 is built using CodeWarrior 5.3.  To build it, first
@@ -100,4 +130,4 @@
 (Build instructions for Ogg codecs such as vorbis are similar and may
 be found in those source modules' README files)
 
-$Id: README 7188 2004-07-20 07:26:04Z xiphmont $
+$Id: README 14726 2008-04-14 08:40:46Z erikd $

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/configure.in
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/configure.in	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/configure.in	2008-06-14 00:01:33 UTC (rev 15030)
@@ -2,13 +2,13 @@
 
 AC_INIT(src/framing.c)
 
-AM_INIT_AUTOMAKE(libogg,1.1.2)
+AM_INIT_AUTOMAKE(libogg,1.1.4svn)
 AM_MAINTAINER_MODE
 
 dnl Library versioning
 
 LIB_CURRENT=5
-LIB_REVISION=2
+LIB_REVISION=3
 LIB_AGE=5
 AC_SUBST(LIB_CURRENT)
 AC_SUBST(LIB_REVISION)
@@ -23,7 +23,6 @@
 dnl Set some options based on environment
 
 cflags_save="$CFLAGS"
-ldflags_save="$LDFLAGS"
 if test -z "$GCC"; then
         case $host in 
         *-*-irix*)
@@ -69,7 +68,6 @@
 CFLAGS="$CFLAGS $cflags_save"
 DEBUG="$DEBUG $cflags_save"
 PROFILE="$PROFILE $cflags_save"
-LDFLAGS="$LDFLAGS $ldflags_save"
 
 dnl Checks for programs.
 
@@ -86,7 +84,7 @@
 AC_MSG_CHECKING(for int16_t)
 AC_CACHE_VAL(has_int16_t,
 [AC_TRY_RUN([
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
 #include <inttypes.h>
 #endif
 #include <sys/types.h>
@@ -102,7 +100,7 @@
 AC_MSG_CHECKING(for int32_t)
 AC_CACHE_VAL(has_int32_t,
 [AC_TRY_RUN([
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
 #include <inttypes.h>
 #endif
 #include <sys/types.h>
@@ -118,7 +116,7 @@
 AC_MSG_CHECKING(for uint32_t)
 AC_CACHE_VAL(has_uint32_t,
 [AC_TRY_RUN([
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
 #include <inttypes.h>
 #endif
 #include <sys/types.h>
@@ -134,7 +132,7 @@
 AC_MSG_CHECKING(for uint16_t)
 AC_CACHE_VAL(has_uint16_t,
 [AC_TRY_RUN([
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
 #include <inttypes.h>
 #endif
 #include <sys/types.h>
@@ -150,7 +148,7 @@
 AC_MSG_CHECKING(for u_int32_t)
 AC_CACHE_VAL(has_u_int32_t,
 [AC_TRY_RUN([
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
 #include <inttypes.h>
 #endif
 #include <sys/types.h>
@@ -166,7 +164,7 @@
 AC_MSG_CHECKING(for u_int16_t)
 AC_CACHE_VAL(has_u_int16_t,
 [AC_TRY_RUN([
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
 #include <inttypes.h>
 #endif
 #include <sys/types.h>
@@ -182,7 +180,7 @@
 AC_MSG_CHECKING(for int64_t)
 AC_CACHE_VAL(has_int64_t,
 [AC_TRY_RUN([
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
 #include <inttypes.h>
 #endif
 #include <sys/types.h>
@@ -195,10 +193,10 @@
 )])
 AC_MSG_RESULT($has_int64_t)
 
-AC_CHECK_SIZEOF(short)
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(long)
-AC_CHECK_SIZEOF(long long)
+AC_CHECK_SIZEOF(short,2)
+AC_CHECK_SIZEOF(int,4)
+AC_CHECK_SIZEOF(long,4)
+AC_CHECK_SIZEOF(long long,8)
 
 
 if test x$has_int16_t = "xyes" ; then
@@ -294,10 +292,8 @@
 AC_OUTPUT([
 Makefile
 src/Makefile
-doc/Makefile doc/ogg/Makefile
+doc/Makefile doc/libogg/Makefile
 include/Makefile include/ogg/Makefile include/ogg/config_types.h
-win32/Makefile
-debian/Makefile
 libogg.spec
 ogg.pc
 ogg-uninstalled.pc

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/debian/rules
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/debian/rules	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/debian/rules	2008-06-14 00:01:33 UTC (rev 15030)
@@ -84,7 +84,7 @@
 		$(MAKE) distclean; \
 	fi
 
-	#if test -d CVS; then \
+	if test -d CVS; then \
 		$(MAKE) cvs-clean ;\
 	fi
 

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/Makefile.am
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/Makefile.am	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/Makefile.am	2008-06-14 00:01:33 UTC (rev 15030)
@@ -1,9 +1,11 @@
 ## Process this with automake to create Makefile.in
 
-SUBDIRS = ogg
+SUBDIRS = libogg
 
 docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)
 
-doc_DATA = framing.html index.html oggstream.html rfc3533.txt rfc3534.txt stream.png vorbisword2.png white-ogg.png white-xifish.png
+doc_DATA = framing.html index.html oggstream.html ogg-multiplex.html \
+	stream.png vorbisword2.png white-ogg.png white-xifish.png \
+	rfc3533.txt rfc3534.txt
 
 EXTRA_DIST = $(doc_DATA)

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/framing.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/framing.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/framing.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -1,395 +1,431 @@
-<HTML><HEAD><TITLE>xiph.org: Ogg Vorbis documentation</TITLE>
-<BODY bgcolor="#ffffff" text="#202020" link="#006666" vlink="#000000">
-<nobr><a href="http://www.xiph.org/ogg/index.html"><img src="white-ogg.png" border=0><img 
-src="vorbisword2.png" border=0></a></nobr><p>
-
-<h1><font color=#000070>
-Ogg logical bitstream framing
-</font></h1>
-
-<em>Last update to this document: July 14, 2002</em><br> 
-
-<h2>Ogg bitstreams</h2>
-
-The Ogg transport bitstream is designed to provide framing, error
-protection and seeking structure for higher-level codec streams that
-consist of raw, unencapsulated data packets, such as the Vorbis audio
-codec or Tarkin video codec.
-
-<h2>Application example: Vorbis</h2>
-Vorbis encodes short-time blocks of PCM data into raw packets of
-bit-packed data.  These raw packets may be used directly by transport
-mechanisms that provide their own framing and packet-separation
-mechanisms (such as UDP datagrams).  For stream based storage (such as
-files) and transport (such as TCP streams or pipes), Vorbis uses the
-Ogg bitstream format to provide framing/sync, sync recapture
-after error, landmarks during seeking, and enough information to
-properly separate data back into packets at the original packet
-boundaries without relying on decoding to find packet boundaries.<p>
-
-<h2>Design constraints for Ogg bitstreams</h2>
-
-<ol><li>True streaming; we must not need to seek to build a 100%
-   complete bitstream.
-
-<li> Use no more than approximately 1-2% of bitstream bandwidth for
-   packet boundary marking, high-level framing, sync and seeking.
-
-<li> Specification of absolute position within the original sample
-   stream.
-
-<li> Simple mechanism to ease limited editing, such as a simplified
-   concatenation mechanism.
-
-<li> Detection of corruption, recapture after error and direct, random
-   access to data at arbitrary positions in the bitstream.
-</ol>
-
-<h2>Logical and Physical Bitstreams</h2>
-
-A <em>logical</em> Ogg bitstream is a contiguous stream of
-sequential pages belonging only to the logical bitstream.  A
-<em>physical</em> Ogg bitstream is constructed from one or more
-than one logical Ogg bitstream (the simplest physical bitstream
-is simply a single logical bitstream).  We describe below the exact
-formatting of an Ogg logical bitstream.  Combining logical
-bitstreams into more complex physical bitstreams is described in the
-<a href="oggstream.html">Ogg bitstream overview</a>.  The exact
-mapping of raw Vorbis packets into a valid Ogg Vorbis physical
-bitstream is described in <a href="vorbis-stream.html">Vorbis
-bitstream mapping</a>.
-
-<h2>Bitstream structure</h2>
-
-An Ogg stream is structured by dividing incoming packets into
-segments of up to 255 bytes and then wrapping a group of contiguous
-packet segments into a variable length page preceded by a page
-header.  Both the header size and page size are variable; the page
-header contains sizing information and checksum data to determine
-header/page size and data integrity.<p>
-
-The bitstream is captured (or recaptured) by looking for the beginning
-of a page, specifically the capture pattern.  Once the capture pattern
-is found, the decoder verifies page sync and integrity by computing
-and comparing the checksum. At that point, the decoder can extract the
-packets themselves.<p>
-
-<h3>Packet segmentation</h3>
-
-Packets are logically divided into multiple segments before encoding
-into a page. Note that the segmentation and fragmentation process is a
-logical one; it's used to compute page header values and the original
-page data need not be disturbed, even when a packet spans page
-boundaries.<p>
-
-The raw packet is logically divided into [n] 255 byte segments and a
-last fractional segment of < 255 bytes.  A packet size may well
-consist only of the trailing fractional segment, and a fractional
-segment may be zero length.  These values, called "lacing values" are
-then saved and placed into the header segment table.<p>
-
-An example should make the basic concept clear:<p>
-
-<pre>
-<tt>
-raw packet:
-  ___________________________________________
- |______________packet data__________________| 753 bytes
-
-lacing values for page header segment table: 255,255,243
-</tt>
-</pre>
-
-We simply add the lacing values for the total size; the last lacing
-value for a packet is always the value that is less than 255. Note
-that this encoding both avoids imposing a maximum packet size as well
-as imposing minimum overhead on small packets (as opposed to, eg,
-simply using two bytes at the head of every packet and having a max
-packet size of 32k.  Small packets (<255, the typical case) are
-penalized with twice the segmentation overhead). Using the lacing
-values as suggested, small packets see the minimum possible
-byte-aligned overheade (1 byte) and large packets, over 512 bytes or
-so, see a fairly constant ~.5% overhead on encoding space.<p>
-
-Note that a lacing value of 255 implies that a second lacing value
-follows in the packet, and a value of < 255 marks the end of the
-packet after that many additional bytes.  A packet of 255 bytes (or a
-multiple of 255 bytes) is terminated by a lacing value of 0:<p>
-
-<pre><tt>
-raw packet:
-  _______________________________
- |________packet data____________|          255 bytes
-
-lacing values: 255, 0
-</tt></pre>
-
-Note also that a 'nil' (zero length) packet is not an error; it
-consists of nothing more than a lacing value of zero in the header.<p>
-
-<h3>Packets spanning pages</h3>
-
-Packets are not restricted to beginning and ending within a page,
-although individual segments are, by definition, required to do so.
-Packets are not restricted to a maximum size, although excessively
-large packets in the data stream are discouraged; the Ogg
-bitstream specification strongly recommends nominal page size of
-approximately 4-8kB (large packets are foreseen as being useful for
-initialization data at the beginning of a logical bitstream).<p>
-
-After segmenting a packet, the encoder may decide not to place all the
-resulting segments into the current page; to do so, the encoder places
-the lacing values of the segments it wishes to belong to the current
-page into the current segment table, then finishes the page.  The next
-page is begun with the first value in the segment table belonging to
-the next packet segment, thus continuing the packet (data in the
-packet body must also correspond properly to the lacing values in the
-spanned pages. The segment data in the first packet corresponding to
-the lacing values of the first page belong in that page; packet
-segments listed in the segment table of the following page must begin
-the page body of the subsequent page).<p>
-
-The last mechanic to spanning a page boundary is to set the header
-flag in the new page to indicate that the first lacing value in the
-segment table continues rather than begins a packet; a header flag of
-0x01 is set to indicate a continued packet.  Although mandatory, it
-is not actually algorithmically necessary; one could inspect the
-preceding segment table to determine if the packet is new or
-continued.  Adding the information to the packet_header flag allows a
-simpler design (with no overhead) that needs only inspect the current
-page header after frame capture.  This also allows faster error
-recovery in the event that the packet originates in a corrupt
-preceding page, implying that the previous page's segment table
-cannot be trusted.<p>
-
-Note that a packet can span an arbitrary number of pages; the above
-spanning process is repeated for each spanned page boundary.  Also a
-'zero termination' on a packet size that is an even multiple of 255
-must appear even if the lacing value appears in the next page as a
-zero-length continuation of the current packet.  The header flag
-should be set to 0x01 to indicate that the packet spanned, even though
-the span is a nil case as far as data is concerned.<p>
-
-The encoding looks odd, but is properly optimized for speed and the
-expected case of the majority of packets being between 50 and 200
-bytes (note that it is designed such that packets of wildly different
-sizes can be handled within the model; placing packet size
-restrictions on the encoder would have only slightly simplified design
-in page generation and increased overall encoder complexity).<p>
-
-The main point behind tracking individual packets (and packet
-segments) is to allow more flexible encoding tricks that requiring
-explicit knowledge of packet size. An example is simple bandwidth
-limiting, implemented by simply truncating packets in the nominal case
-if the packet is arranged so that the least sensitive portion of the
-data comes last.<p>
-
-<h3>Page header</h3>
-
-The headering mechanism is designed to avoid copying and re-assembly
-of the packet data (ie, making the packet segmentation process a
-logical one); the header can be generated directly from incoming
-packet data.  The encoder buffers packet data until it finishes a
-complete page at which point it writes the header followed by the
-buffered packet segments.<p>
-
-<h4>capture_pattern</h4>
-
- A header begins with a capture pattern that simplifies identifying
- pages; once the decoder has found the capture pattern it can do a more
- intensive job of verifying that it has in fact found a page boundary
- (as opposed to an inadvertent coincidence in the byte stream).<p>
-
-<pre><tt>
- byte value
-
-  0  0x4f 'O'
-  1  0x67 'g'
-  2  0x67 'g'
-  3  0x53 'S'  
-</tt></pre>
-
-<h4>stream_structure_version</h4>
-
- The capture pattern is followed by the stream structure revision:
-
-<pre><tt>
- byte value
-
-  4  0x00
-</tt></pre>
- 
-<h4>header_type_flag</h4>
-  
- The header type flag identifies this page's context in the bitstream:
-
-<pre><tt>
- byte value
-
-  5  bitflags: 0x01: unset = fresh packet
-	               set = continued packet
-	       0x02: unset = not first page of logical bitstream
-                       set = first page of logical bitstream (bos)
-	       0x04: unset = not last page of logical bitstream
-                       set = last page of logical bitstream (eos)
-</tt></pre>
-
-<h4>absolute granule position</h4>
-
- (This is packed in the same way the rest of Ogg data is packed; LSb
- of LSB first.  Note that the 'position' data specifies a 'sample'
- number (eg, in a CD quality sample is four octets, 16 bits for left
- and 16 bits for right; in video it would likely be the frame number.
- It is up to the specific codec in use to define the semantic meaning
- of the granule position value).  The position specified is the total
- samples encoded after including all packets finished on this page
- (packets begun on this page but continuing on to the next page do not
- count).  The rationale here is that the position specified in the
- frame header of the last page tells how long the data coded by the
- bitstream is.  A truncated stream will still return the proper number
- of samples that can be decoded fully.
-<p>
- A special value of '-1' (in two's complement) indicates that no packets
- finish on this page.
-
-<pre><tt>
- byte value
-
-  6  0xXX LSB
-  7  0xXX
-  8  0xXX
-  9  0xXX
- 10  0xXX
- 11  0xXX
- 12  0xXX
- 13  0xXX MSB
-</tt></pre>
-
-<h4>stream serial number</h4>
- 
- Ogg allows for separate logical bitstreams to be mixed at page
- granularity in a physical bitstream.  The most common case would be
- sequential arrangement, but it is possible to interleave pages for
- two separate bitstreams to be decoded concurrently.  The serial
- number is the means by which pages physical pages are associated with
- a particular logical stream.  Each logical stream must have a unique
- serial number within a physical stream:
-
-<pre><tt>
- byte value
-
- 14  0xXX LSB
- 15  0xXX
- 16  0xXX
- 17  0xXX MSB
-</tt></pre>
-
-<h4>page sequence no</h4>
-
- Page counter; lets us know if a page is lost (useful where packets
- span page boundaries).
-
-<pre><tt>
- byte value
-
- 18  0xXX LSB
- 19  0xXX
- 20  0xXX
- 21  0xXX MSB
-</tt></pre>
-
-<h4>page checksum</h4>
-     
- 32 bit CRC value (direct algorithm, initial val and final XOR = 0,
- generator polynomial=0x04c11db7).  The value is computed over the
- entire header (with the CRC field in the header set to zero) and then
- continued over the page.  The CRC field is then filled with the
- computed value.<p>
-
- (A thorough discussion of CRC algorithms can be found in <a
- href="ftp://ftp.rocksoft.com/papers/crc_v3.txt">"A
- Painless Guide to CRC Error Detection Algorithms"</a> by Ross
- Williams <a
- href="mailto:ross at guest.adelaide.edu.au">ross at guest.adelaide.edu.au</a>.)
-
-<pre><tt>
- byte value
-
- 22  0xXX LSB
- 23  0xXX
- 24  0xXX
- 25  0xXX MSB
-</tt></pre>
-
-<h4>page_segments</h4>
-
- The number of segment entries to appear in the segment table. The
- maximum number of 255 segments (255 bytes each) sets the maximum
- possible physical page size at 65307 bytes or just under 64kB (thus
- we know that a header corrupted so as destroy sizing/alignment
- information will not cause a runaway bitstream.  We'll read in the
- page according to the corrupted size information that's guaranteed to
- be a reasonable size regardless, notice the checksum mismatch, drop
- sync and then look for recapture).<p>
-
-<pre><tt>
- byte value
-
- 26 0x00-0xff (0-255)
-</tt></pre>
-
-<h4>segment_table (containing packet lacing values)</h4>
-
- The lacing values for each packet segment physically appearing in
- this page are listed in contiguous order.
-
-<pre><tt>
- byte value
-
- 27 0x00-0xff (0-255)
- [...]
- n  0x00-0xff (0-255, n=page_segments+26)
-</tt></pre>
-
-Total page size is calculated directly from the known header size and
-lacing values in the segment table. Packet data segments follow
-immediately after the header.<p>
-
-Page headers typically impose a flat .25-.5% space overhead assuming
-nominal ~8k page sizes.  The segmentation table needed for exact
-packet recovery in the streaming layer adds approximately .5-1%
-nominal assuming expected encoder behavior in the 44.1kHz, 128kbps
-stereo encodings.<p>
-
-<hr>
-<a href="http://www.xiph.org/">
-<img src="white-xifish.png" align=left border=0>
-</a>
-<font size=-2 color=#505050>
-
-Ogg is a <a href="http://www.xiph.org">Xiph.org Foundation</a> effort
-to protect essential tenets of Internet multimedia from corporate
-hostage-taking; Open Source is the net's greatest tool to keep
-everyone honest. See <a href="http://www.xiph.org/about.html">About
-the Xiph.org Foundation</a> for details.
-<p>
-
-Ogg Vorbis is the first Ogg audio CODEC.  Anyone may freely use and
-distribute the Ogg and Vorbis specification, whether in a private,
-public or corporate capacity.  However, the Xiph.org Foundation and
-the Ogg project (xiph.org) reserve the right to set the Ogg Vorbis
-specification and certify specification compliance.<p>
-
-Xiph.org's Vorbis software CODEC implementation is distributed under a
-BSD-like license.  This does not restrict third parties from
-distributing independent implementations of Vorbis software under
-other licenses.<p>
-
-Ogg, Vorbis, Xiph.org Foundation and their logos are trademarks (tm)
-of the <a href="http://www.xiph.org/">Xiph.org Foundation</a>.  These
-pages are copyright (C) 1994-2002 Xiph.org Foundation. All rights
-reserved.<p>
-
-</body>
-
-
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"/>
+<title>Ogg Documentation</title>
+
+<style type="text/css">
+body {
+  margin: 0 18px 0 18px;
+  padding-bottom: 30px;
+  font-family: Verdana, Arial, Helvetica, sans-serif;
+  color: #333333;
+  font-size: .8em;
+}
+
+a {
+  color: #3366cc;
+}
+
+img {
+  border: 0;
+}
+
+#xiphlogo {
+  margin: 30px 0 16px 0;
+}
+
+#content p {
+  line-height: 1.4;
+}
+
+h1, h1 a, h2, h2 a, h3, h3 a {
+  font-weight: bold;
+  color: #ff9900;
+  margin: 1.3em 0 8px 0;
+}
+
+h1 {
+  font-size: 1.3em;
+}
+
+h2 {
+  font-size: 1.2em;
+}
+
+h3 {
+  font-size: 1.1em;
+}
+
+li {
+  line-height: 1.4;
+}
+
+#copyright {
+  margin-top: 30px;
+  line-height: 1.5em;
+  text-align: center;
+  font-size: .8em;
+  color: #888888;
+  clear: both;
+}
+</style>
+
+</head>
+
+<body>
+
+<div id="xiphlogo">
+  <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.org"/></a>
+</div>
+
+<h1>Ogg logical bitstream framing</h1>
+
+<h2>Ogg bitstreams</h2>
+
+<p>The Ogg transport bitstream is designed to provide framing, error
+protection and seeking structure for higher-level codec streams that
+consist of raw, unencapsulated data packets, such as the Vorbis audio
+codec or Theora video codec.</p>
+
+<h2>Application example: Vorbis</h2>
+
+<p>Vorbis encodes short-time blocks of PCM data into raw packets of
+bit-packed data. These raw packets may be used directly by transport
+mechanisms that provide their own framing and packet-separation
+mechanisms (such as UDP datagrams). For stream based storage (such as
+files) and transport (such as TCP streams or pipes), Vorbis uses the
+Ogg bitstream format to provide framing/sync, sync recapture
+after error, landmarks during seeking, and enough information to
+properly separate data back into packets at the original packet
+boundaries without relying on decoding to find packet boundaries.</p>
+
+<h2>Design constraints for Ogg bitstreams</h2>
+
+<ol>
+<li>True streaming; we must not need to seek to build a 100%
+  complete bitstream.</li>
+<li>Use no more than approximately 1-2% of bitstream bandwidth for
+  packet boundary marking, high-level framing, sync and seeking.</li>
+<li>Specification of absolute position within the original sample
+  stream.</li>
+<li>Simple mechanism to ease limited editing, such as a simplified
+  concatenation mechanism.</li>
+<li>Detection of corruption, recapture after error and direct, random
+  access to data at arbitrary positions in the bitstream.</li>
+</ol>
+
+<h2>Logical and Physical Bitstreams</h2>
+
+<p>A <em>logical</em> Ogg bitstream is a contiguous stream of
+sequential pages belonging only to the logical bitstream. A
+<em>physical</em> Ogg bitstream is constructed from one or more
+than one logical Ogg bitstream (the simplest physical bitstream
+is simply a single logical bitstream). We describe below the exact
+formatting of an Ogg logical bitstream. Combining logical
+bitstreams into more complex physical bitstreams is described in the
+<a href="oggstream.html">Ogg bitstream overview</a>. The exact
+mapping of raw Vorbis packets into a valid Ogg Vorbis physical
+bitstream is described in the Vorbis I Specification.</p>
+
+<h2>Bitstream structure</h2>
+
+<p>An Ogg stream is structured by dividing incoming packets into
+segments of up to 255 bytes and then wrapping a group of contiguous
+packet segments into a variable length page preceded by a page
+header. Both the header size and page size are variable; the page
+header contains sizing information and checksum data to determine
+header/page size and data integrity.</p>
+
+<p>The bitstream is captured (or recaptured) by looking for the beginning
+of a page, specifically the capture pattern. Once the capture pattern
+is found, the decoder verifies page sync and integrity by computing
+and comparing the checksum. At that point, the decoder can extract the
+packets themselves.</p>
+
+<h3>Packet segmentation</h3>
+
+<p>Packets are logically divided into multiple segments before encoding
+into a page. Note that the segmentation and fragmentation process is a
+logical one; it's used to compute page header values and the original
+page data need not be disturbed, even when a packet spans page
+boundaries.</p>
+
+<p>The raw packet is logically divided into [n] 255 byte segments and a
+last fractional segment of &lt; 255 bytes. A packet size may well
+consist only of the trailing fractional segment, and a fractional
+segment may be zero length. These values, called "lacing values" are
+then saved and placed into the header segment table.</p>
+
+<p>An example should make the basic concept clear:</p>
+
+<pre>
+<tt>
+raw packet:
+  ___________________________________________
+ |______________packet data__________________| 753 bytes
+
+lacing values for page header segment table: 255,255,243
+</tt>
+</pre>
+
+<p>We simply add the lacing values for the total size; the last lacing
+value for a packet is always the value that is less than 255. Note
+that this encoding both avoids imposing a maximum packet size as well
+as imposing minimum overhead on small packets (as opposed to, eg,
+simply using two bytes at the head of every packet and having a max
+packet size of 32k. Small packets (&lt;255, the typical case) are
+penalized with twice the segmentation overhead). Using the lacing
+values as suggested, small packets see the minimum possible
+byte-aligned overheade (1 byte) and large packets, over 512 bytes or
+so, see a fairly constant ~.5% overhead on encoding space.</p>
+
+<p>Note that a lacing value of 255 implies that a second lacing value
+follows in the packet, and a value of &lt; 255 marks the end of the
+packet after that many additional bytes. A packet of 255 bytes (or a
+multiple of 255 bytes) is terminated by a lacing value of 0:</p>
+
+<pre><tt>
+raw packet:
+  _______________________________
+ |________packet data____________|          255 bytes
+
+lacing values: 255, 0
+</tt></pre>
+
+<p>Note also that a 'nil' (zero length) packet is not an error; it
+consists of nothing more than a lacing value of zero in the header.</p>
+
+<h3>Packets spanning pages</h3>
+
+<p>Packets are not restricted to beginning and ending within a page,
+although individual segments are, by definition, required to do so.
+Packets are not restricted to a maximum size, although excessively
+large packets in the data stream are discouraged; the Ogg
+bitstream specification strongly recommends nominal page size of
+approximately 4-8kB (large packets are foreseen as being useful for
+initialization data at the beginning of a logical bitstream).</p>
+
+<p>After segmenting a packet, the encoder may decide not to place all the
+resulting segments into the current page; to do so, the encoder places
+the lacing values of the segments it wishes to belong to the current
+page into the current segment table, then finishes the page. The next
+page is begun with the first value in the segment table belonging to
+the next packet segment, thus continuing the packet (data in the
+packet body must also correspond properly to the lacing values in the
+spanned pages. The segment data in the first packet corresponding to
+the lacing values of the first page belong in that page; packet
+segments listed in the segment table of the following page must begin
+the page body of the subsequent page).</p>
+
+<p>The last mechanic to spanning a page boundary is to set the header
+flag in the new page to indicate that the first lacing value in the
+segment table continues rather than begins a packet; a header flag of
+0x01 is set to indicate a continued packet. Although mandatory, it
+is not actually algorithmically necessary; one could inspect the
+preceding segment table to determine if the packet is new or
+continued. Adding the information to the packet_header flag allows a
+simpler design (with no overhead) that needs only inspect the current
+page header after frame capture. This also allows faster error
+recovery in the event that the packet originates in a corrupt
+preceding page, implying that the previous page's segment table
+cannot be trusted.</p>
+
+<p>Note that a packet can span an arbitrary number of pages; the above
+spanning process is repeated for each spanned page boundary. Also a
+'zero termination' on a packet size that is an even multiple of 255
+must appear even if the lacing value appears in the next page as a
+zero-length continuation of the current packet. The header flag
+should be set to 0x01 to indicate that the packet spanned, even though
+the span is a nil case as far as data is concerned.</p>
+
+<p>The encoding looks odd, but is properly optimized for speed and the
+expected case of the majority of packets being between 50 and 200
+bytes (note that it is designed such that packets of wildly different
+sizes can be handled within the model; placing packet size
+restrictions on the encoder would have only slightly simplified design
+in page generation and increased overall encoder complexity).</p>
+
+<p>The main point behind tracking individual packets (and packet
+segments) is to allow more flexible encoding tricks that requiring
+explicit knowledge of packet size. An example is simple bandwidth
+limiting, implemented by simply truncating packets in the nominal case
+if the packet is arranged so that the least sensitive portion of the
+data comes last.</p>
+
+<h3>Page header</h3>
+
+<p>The headering mechanism is designed to avoid copying and re-assembly
+of the packet data (ie, making the packet segmentation process a
+logical one); the header can be generated directly from incoming
+packet data. The encoder buffers packet data until it finishes a
+complete page at which point it writes the header followed by the
+buffered packet segments.</p>
+
+<h4>capture_pattern</h4>
+
+<p>A header begins with a capture pattern that simplifies identifying
+pages; once the decoder has found the capture pattern it can do a more
+intensive job of verifying that it has in fact found a page boundary
+(as opposed to an inadvertent coincidence in the byte stream).</p>
+
+<pre><tt>
+ byte value
+
+  0  0x4f 'O'
+  1  0x67 'g'
+  2  0x67 'g'
+  3  0x53 'S'  
+</tt></pre>
+
+<h4>stream_structure_version</h4>
+
+<p>The capture pattern is followed by the stream structure revision:</p>
+
+<pre><tt>
+ byte value
+
+  4  0x00
+</tt></pre>
+ 
+<h4>header_type_flag</h4>
+  
+<p>The header type flag identifies this page's context in the bitstream:</p>
+
+<pre><tt>
+ byte value
+
+  5  bitflags: 0x01: unset = fresh packet
+	               set = continued packet
+	       0x02: unset = not first page of logical bitstream
+                       set = first page of logical bitstream (bos)
+	       0x04: unset = not last page of logical bitstream
+                       set = last page of logical bitstream (eos)
+</tt></pre>
+
+<h4>absolute granule position</h4>
+
+<p>(This is packed in the same way the rest of Ogg data is packed; LSb
+of LSB first. Note that the 'position' data specifies a 'sample'
+number (eg, in a CD quality sample is four octets, 16 bits for left
+and 16 bits for right; in video it would likely be the frame number.
+It is up to the specific codec in use to define the semantic meaning
+of the granule position value). The position specified is the total
+samples encoded after including all packets finished on this page
+(packets begun on this page but continuing on to the next page do not
+count). The rationale here is that the position specified in the
+frame header of the last page tells how long the data coded by the
+bitstream is. A truncated stream will still return the proper number
+of samples that can be decoded fully.</p>
+
+<p>A special value of '-1' (in two's complement) indicates that no packets
+finish on this page.</p>
+
+<pre><tt>
+ byte value
+
+  6  0xXX LSB
+  7  0xXX
+  8  0xXX
+  9  0xXX
+ 10  0xXX
+ 11  0xXX
+ 12  0xXX
+ 13  0xXX MSB
+</tt></pre>
+
+<h4>stream serial number</h4>
+ 
+<p>Ogg allows for separate logical bitstreams to be mixed at page
+granularity in a physical bitstream. The most common case would be
+sequential arrangement, but it is possible to interleave pages for
+two separate bitstreams to be decoded concurrently. The serial
+number is the means by which pages physical pages are associated with
+a particular logical stream. Each logical stream must have a unique
+serial number within a physical stream:</p>
+
+<pre><tt>
+ byte value
+
+ 14  0xXX LSB
+ 15  0xXX
+ 16  0xXX
+ 17  0xXX MSB
+</tt></pre>
+
+<h4>page sequence no</h4>
+
+<p>Page counter; lets us know if a page is lost (useful where packets
+span page boundaries).</p>
+
+<pre><tt>
+ byte value
+
+ 18  0xXX LSB
+ 19  0xXX
+ 20  0xXX
+ 21  0xXX MSB
+</tt></pre>
+
+<h4>page checksum</h4>
+     
+<p>32 bit CRC value (direct algorithm, initial val and final XOR = 0,
+generator polynomial=0x04c11db7). The value is computed over the
+entire header (with the CRC field in the header set to zero) and then
+continued over the page. The CRC field is then filled with the
+computed value.</p>
+
+<p>(A thorough discussion of CRC algorithms can be found in <a
+href="http://www.ross.net/crc/download/crc_v3.txt">"A
+Painless Guide to CRC Error Detection Algorithms"</a> by Ross
+Williams <a href="mailto:ross at ross.net">ross at ross.net</a>.)</p>
+
+<pre><tt>
+ byte value
+
+ 22  0xXX LSB
+ 23  0xXX
+ 24  0xXX
+ 25  0xXX MSB
+</tt></pre>
+
+<h4>page_segments</h4>
+
+<p>The number of segment entries to appear in the segment table. The
+maximum number of 255 segments (255 bytes each) sets the maximum
+possible physical page size at 65307 bytes or just under 64kB (thus
+we know that a header corrupted so as destroy sizing/alignment
+information will not cause a runaway bitstream. We'll read in the
+page according to the corrupted size information that's guaranteed to
+be a reasonable size regardless, notice the checksum mismatch, drop
+sync and then look for recapture).</p>
+
+<pre><tt>
+ byte value
+
+ 26 0x00-0xff (0-255)
+</tt></pre>
+
+<h4>segment_table (containing packet lacing values)</h4>
+
+<p>The lacing values for each packet segment physically appearing in
+this page are listed in contiguous order.</p>
+
+<pre><tt>
+ byte value
+
+ 27 0x00-0xff (0-255)
+ [...]
+ n  0x00-0xff (0-255, n=page_segments+26)
+</tt></pre>
+
+<p>Total page size is calculated directly from the known header size and
+lacing values in the segment table. Packet data segments follow
+immediately after the header.</p>
+
+<p>Page headers typically impose a flat .25-.5% space overhead assuming
+nominal ~8k page sizes. The segmentation table needed for exact
+packet recovery in the streaming layer adds approximately .5-1%
+nominal assuming expected encoder behavior in the 44.1kHz, 128kbps
+stereo encodings.</p>
+
+<div id="copyright">
+  The Xiph Fish Logo is a
+  trademark (&trade;) of Xiph.Org.<br/>
+
+  These pages &copy; 1994 - 2005 Xiph.Org. All rights reserved.
+</div>
+
+</body>
+</html>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/index.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/index.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/index.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -1,4 +1,104 @@
-<a href="oggstream.html">Ogg logical and physical bitstream overview</a><br>
-<a href="framing.html">Ogg logical bitstream framing</a><br>
-<a href="ogg-multiplex.html">Ogg multi-stream multiplexing</a><br>
-
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"/>
+<title>Ogg Documentation</title>
+
+<style type="text/css">
+body {
+  margin: 0 18px 0 18px;
+  padding-bottom: 30px;
+  font-family: Verdana, Arial, Helvetica, sans-serif;
+  color: #333333;
+  font-size: .8em;
+}
+
+a {
+  color: #3366cc;
+}
+
+img {
+  border: 0;
+}
+
+#xiphlogo {
+  margin: 30px 0 16px 0;
+}
+
+#content p {
+  line-height: 1.4;
+}
+
+h1, h1 a, h2, h2 a, h3, h3 a {
+  font-weight: bold;
+  color: #ff9900;
+  margin: 1.3em 0 8px 0;
+}
+
+h1 {
+  font-size: 1.3em;
+}
+
+h2 {
+  font-size: 1.2em;
+}
+
+h3 {
+  font-size: 1.1em;
+}
+
+li {
+  line-height: 1.4;
+}
+
+#copyright {
+  margin-top: 30px;
+  line-height: 1.5em;
+  text-align: center;
+  font-size: .8em;
+  color: #888888;
+  clear: both;
+}
+</style>
+
+</head>
+
+<body>
+
+<div id="xiphlogo">
+  <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.org"/></a>
+</div>
+
+<h1>Ogg Documentation</h1>
+
+<h2>Ogg programming documentation</h2>
+
+<ul>
+<li><a href="libogg/index.html">Programming with ogg</a></li>
+</ul>
+
+<h2>Ogg bitsream documentation</h2>
+
+<ul>
+<li><a href="oggstream.html">Ogg logical and physical bitstream overview</a></li>
+<li><a href="framing.html">Ogg logical bitstream framing</a></li>
+<li><a href="ogg-multiplex.html">Ogg multi-stream multiplexing</a></li>
+</ul>
+
+<h2>RFC documentation</h2>
+
+<ul>
+<li><a href="rfc3533.txt">rfc3533: The Ogg Encapsulation Format Version 0</a></li>
+<li><a href="rfc3534.txt">rfc3534: The application/ogg Media Type</a></li>
+</ul>
+
+<div id="copyright">
+  The Xiph Fish Logo is a
+  trademark (&trade;) of Xiph.Org.<br/>
+
+  These pages &copy; 1994 - 2005 Xiph.Org. All rights reserved.
+</div>
+
+</body>
+</html>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/bitpacking.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/bitpacking.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/bitpacking.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -87,7 +87,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a><br><a href="mailto:team at xiph.org">team at xiph.org</a></p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/datastructures.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/datastructures.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/datastructures.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -34,7 +34,7 @@
 </tr>
 <tr valign=top>
 <td><a href="ogg_packet.html">ogg_packet</a></td>
-	<td>This structure encapsulates the data and metadata for a single raw Ogg Vorbis packet.</td>
+	<td>This structure encapsulates the data and metadata for a single Ogg packet.</td>
 </tr>
 <tr valign=top>
 <td><a href="ogg_sync_state.html">ogg_sync_state</a></td>
@@ -47,7 +47,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a><br><a href="mailto:team at xiph.org">team at xiph.org</a></p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/decoding.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/decoding.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/decoding.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -88,7 +88,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a><br><a href="mailto:team at xiph.org">team at xiph.org</a></p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/encoding.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/encoding.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/encoding.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -52,7 +52,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a><br><a href="mailto:team at xiph.org">team at xiph.org</a></p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/general.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/general.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/general.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -93,7 +93,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a><br><a href="mailto:team at xiph.org">team at xiph.org</a></p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/index.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/index.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/index.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -27,7 +27,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a><br><a href="mailto:team at vorbis.org">team at vorbis.org</a></p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_packet.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_packet.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_packet.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -63,7 +63,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg - 20011015</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_packet_clear.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_packet_clear.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_packet_clear.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -49,7 +49,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2001 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg - 20011218</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -62,7 +62,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg version - 20011015</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_bos.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_bos.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_bos.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -52,7 +52,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_checksum_set.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_checksum_set.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_checksum_set.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -49,7 +49,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2001 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg - 20011218</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_continued.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_continued.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_continued.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -51,7 +51,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_eos.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_eos.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_eos.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -52,7 +52,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_granulepos.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_granulepos.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_granulepos.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -52,7 +52,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_packets.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_packets.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_packets.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -62,7 +62,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2001 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg - 20011218</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_pageno.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_pageno.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_pageno.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -50,7 +50,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_serialno.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_serialno.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_serialno.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -50,7 +50,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_version.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_version.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_page_version.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -50,7 +50,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_clear.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_clear.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_clear.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -48,7 +48,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_destroy.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_destroy.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_destroy.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -18,7 +18,14 @@
 <p><i>declared in "ogg/ogg.h";</i></p>
 
 <p>This function frees the memory used by the <a href="ogg_stream_state.html">ogg_stream_state</a> struct.
-<p>This should be called when you are done working with an ogg stream.  It can also be called to make sure that the struct does not exist.
+
+<p>This should be called when you are done working with an ogg stream.
+It can also be called to make sure that the struct does not exist.</p>
+
+<p>It calls free() on its argument, so if the ogg_stream_state 
+is not malloc()'d or will otherwise be freed by your own code, use 
+<a href="ogg_stream_clear.html">ogg_stream_clear</a> instead.</p>
+
 <br><br>
 <table border=0 color=black cellspacing=0 cellpadding=7>
 <tr bgcolor=#cccccc>
@@ -49,7 +56,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_eos.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_eos.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_eos.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -49,7 +49,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_flush.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_flush.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_flush.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -54,7 +54,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_init.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_init.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_init.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -53,7 +53,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_packetin.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_packetin.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_packetin.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -17,9 +17,16 @@
 
 <p><i>declared in "ogg/ogg.h";</i></p>
 
-<p>This function takes a packet and submits it to the bitstream.  After this is called, we can continue submitting packets, or we can write out pages.
-<p>In a typical decoding situation, this should be used after filling a packet with data
+<p>This function submits a packet to the bitstream for page 
+encapsulation. After this is called, more packets can be submitted,
+or pages can be written out.</p>
 
+<p>In a typical encoding situation, this should be used after filling a 
+packet with data.
+The data in the packet is copied into the internal storage managed by 
+the <a href="ogg_stream_state.html">ogg_stream_state</a>, so the caller
+is free to alter the contents of <i>os</i> after this call has returned.
+
 <br><br>
 <table border=0 color=black cellspacing=0 cellpadding=7>
 <tr bgcolor=#cccccc>
@@ -52,7 +59,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_packetout.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_packetout.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_packetout.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -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 release 1.0 - 20000615</p></td>
+<td align=right><p class=tiny>libogg release 1.1.3 - 20040927</p></td>
 </tr>
 </table>
 
@@ -17,9 +17,22 @@
 
 <p><i>declared in "ogg/ogg.h";</i></p>
 
-<p>This function assembles a raw data packet for output to the codec decoding engine. The data is already in the stream and broken into packet segments.</p>
-<p>In a typical decoding situation, this should be used after calling <a href="ogg_stream_pagein.html">ogg_stream_pagein()</a> to submit a page of data to the bitstream.</p>
+<p>This function assembles a data packet for output to the codec 
+decoding engine. The data has already been submitted to the
+<a href="ogg_stream_state.html">ogg_stream_state</a> and broken
+into segments. Each successive call returns the next complete packet 
+built from those segments.</p>
 
+<p>In a typical decoding situation, this should be used after calling 
+<a href="ogg_stream_pagein.html">ogg_stream_pagein()</a> to submit a 
+page of data to the bitstream. If the function returns 0, more data is 
+needed and another page should be submitted. A non-zero return value 
+indicates successful return of a packet.</p>
+
+<p>The <i>op</i> is filled in with pointers to memory managed by
+the stream state and is only valid until the next call. The client
+must copy the packet data if a longer lifetime is required.</p>
+
 <br><br>
 <table border=0 color=black cellspacing=0 cellpadding=7>
 <tr bgcolor=#cccccc>
@@ -37,15 +50,19 @@
 <dd>Pointer to a previously declared <a
 href="ogg_stream_state.html">ogg_stream_state</a> struct.  Before this function is called, an <a href="ogg_page.html">ogg_page</a> should be submitted to the stream using <a href="ogg_stream_pagein.html">ogg_stream_pagein()</a>.</dd>
 <dt><i>op</i></dt>
-<dd>Pointer to the packet that will be submitted to the decoding layer after this function is called.</dd>
+<dd>Pointer to the packet to be filled in with pointers to the new data. 
+This will typically be submitted to a codec for decode after this 
+function is called. The pointers are only valid until the next call
+on this stream state.</dd>
 </dl>
 
 
 <h3>Return Values</h3>
 <blockquote>
 <ul>
-<li>-1 if we are out of sync and there is a gap in the data. Usually this will not be a fatal error.</li>
-<li>1 in all other cases.</li>
+<li>-1 if we are out of sync and there is a gap in the data. Usually this will not be a fatal error. <i>op</i> contains a the first packet decodable after the hole.</li>
+<li>0 if there is insufficient data available to complete a packet. <i>op</i> has not been updated.
+<li>1 if a packet was assembled normally. <i>op</i> contains the next packet from the stream.</li>
 </ul>
 </blockquote>
 
@@ -55,11 +72,11 @@
 
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td><p class=tiny>copyright &copy; 2004 xiph.org</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
-<td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>
+<td align=right><p class=tiny>libogg release 1.1.3 - 20040927</p></td>
 </tr>
 </table>
 

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_packetpeek.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_packetpeek.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_packetpeek.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -72,7 +72,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2001 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg version 1.26 - 20010527</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_pagein.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_pagein.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_pagein.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -54,7 +54,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_pageout.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_pageout.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_pageout.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -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 release 1.0 - 20000615</p></td>
+<td align=right><p class=tiny>libogg release 1.1.4 - 20060310</p></td>
 </tr>
 </table>
 
@@ -17,10 +17,23 @@
 
 <p><i>declared in "ogg/ogg.h";</i></p>
 
-<p>This function forms packets into pages.  If  
- <p>In a typical encoding situation, this would be called after using <a href="ogg_stream_packetin.html">ogg_stream_packetin</a> to submit data packets to the bitstream.
-<p>Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer.
+<p>This function forms packets into pages.</p>
 
+<p>In a typical encoding situation, this would be called after using <a 
+href="ogg_stream_packetin.html">ogg_stream_packetin()</a> to submit 
+data packets to the bitstream. Internally, this function assembles 
+the accumulated packet bodies into an Ogg page suitable for writing 
+to a stream.</p>
+
+<p>This function will only return a page when a "reasonable" amount of 
+packet data is available. Normally this is appropriate since it 
+limits the overhead of the Ogg page headers in the bitstream, and so
+calling ogg_stream_pageout() after ogg_stream_packetin() should be the 
+common case. Call <a href="ogg_stream_flush.html">ogg_stream_flush()</a> 
+if immediate page generation is desired. This may be occasionally 
+necessary, for example, to limit the temporal latency of a variable 
+bitrate stream.</p>
+
 <br><br>
 <table border=0 color=black cellspacing=0 cellpadding=7>
 <tr bgcolor=#cccccc>
@@ -37,14 +50,18 @@
 <dt><i>os</i></dt>
 <dd>Pointer to a previously declared <a href="ogg_stream.html">ogg_stream</a> struct, which represents the current logical bitstream.</dd>
 <dt><i>og</i></dt>
-<dd>Pointer to a page of data.  The data inside this page is being submitted to the streaming layer in order to be allocated into packets.
+<dd>Pointer to an <a href="ogg_page.html">ogg_page</a> structure to fill
+in. Data pointed to is owned by libogg. The structure is valid until the 
+next call to ogg_stream_pageout(), ogg_stream_packetin(), or 
+ogg_stream_flush().</dd>
 </dl>
 
 
 <h3>Return Values</h3>
 <blockquote>
-<li>Zero means that insufficient data has accumulated to fill a page.</li>
-<li>Non-zero means that a page has been completed and flushed.</li>
+<li>Zero means that insufficient data has accumulated to fill a page. In 
+this case <i>og</i> is not modified.</li>
+<li>Non-zero means that a page has been completed and returned.</li>
 </blockquote>
 <p>
 
@@ -52,11 +69,11 @@
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td><p class=tiny>copyright &copy; 2000-2006 xiph.org</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
-<td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>
+<td align=right><p class=tiny>libogg release 1.1.4 - 20060310</p></td>
 </tr>
 </table>
 

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_reset.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_reset.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_reset.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -48,7 +48,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_reset_serialno.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_reset_serialno.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_reset_serialno.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -1,7 +1,7 @@
 <html>
 
 <head>
-<title>libogg - function - ogg_stream_reset</title>
+<title>libogg - function - ogg_stream_reset_serialno</title>
 <link rel=stylesheet href="style.css" type="text/css">
 </head>
 
@@ -27,7 +27,7 @@
 <tr bgcolor=#cccccc>
 	<td>
 <pre><b>
-int ogg_stream_reset(ogg_stream_state *os, int serialno);
+int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);
 </b></pre>
 	</td>
 </tr>
@@ -54,7 +54,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2002 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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20020719</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_state.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_state.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_stream_state.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -109,7 +109,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_buffer.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_buffer.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_buffer.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -54,7 +54,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_clear.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_clear.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_clear.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -49,7 +49,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_destroy.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_destroy.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_destroy.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -17,8 +17,14 @@
 
 <p><i>declared in "ogg/ogg.h";</i></p>
 
-<p>This function is used to destroy an <a href="ogg_sync_state.html">ogg_sync_state</a> struct and free all memory used.
+<p>This function is used to destroy an <a href="ogg_sync_state.html">ogg_sync_state</a> struct and free all memory used.</p>
 
+<p>Note this calls free() on its argument so you should only use this 
+function if you've allocated the ogg_sync_state on the heap. If it is 
+allocated on the stack, or it will otherwise be freed by your 
+own code, use <a href="ogg_sync_clear.html">ogg_sync_clear</a> instead
+to release just the internal memory.</p>
+
 <br><br>
 <table border=0 color=black cellspacing=0 cellpadding=7>
 <tr bgcolor=#cccccc>
@@ -49,7 +55,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_init.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_init.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_init.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -50,7 +50,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_pageout.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_pageout.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_pageout.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -66,7 +66,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_pageseek.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_pageseek.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_pageseek.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -55,7 +55,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_reset.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_reset.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_reset.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -50,7 +50,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_state.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_state.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_state.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -19,7 +19,7 @@
 
 <p>
 The ogg_sync_state struct tracks the synchronization of the current page.
-<p>It is used during decoding to track the status of data as it is read in and 
+<p>It is used during decoding to track the status of data as it is read in, synchronized, verified, and parsed into pages belonging to the various logical bistreams in the current physical bitstream link. 
 <p>
 
 <table border=0 width=100% color=black cellspacing=0 cellpadding=7>
@@ -44,9 +44,19 @@
 <h3>Relevant Struct Members</h3>
 <dl>
 <dt><i>data</i></dt>
-<dd>Pointer to data from packet bodies.</dd>
+<dd>Pointer to buffered stream data.</dd>
 <dt><i>storage</i></dt>
-<dd>Pointer to data from packet bodies.</dd>
+<dd>Current allocated size of the stream buffer held in <tt>*data</tt>.</dd>
+<dt><i>fill</i></dt>
+<dd>The number of valid bytes currently held in <tt>*data</tt>; functions as the buffer head pointer.</dd>
+<dt><i>returned</i></dt>
+<dd>The number of bytes at the head of <tt>*data</tt> that have already been returned as pages; functions as the buffer tail pointer.</dd>
+<dt><i>unsynced</i></dt>
+<dd>Synchronization state flag; nonzero if sync has not yet been attained or has been lost.</dd>
+<dt><i>headerbytes</i></dt>
+<dd>If synced, the number of bytes used by the synced page's header.</dd>
+<dt><i>bodybytes</i></dt>
+<dd>If synced, the number of bytes used by the synced page's body.</dd>
 </dl>
 
 
@@ -55,7 +65,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_wrote.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_wrote.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/ogg_sync_wrote.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -19,12 +19,20 @@
 
 <p>This function is used to tell the <a href="ogg_sync_state.html">ogg_sync_state</a> struct how many bytes we wrote into the buffer. 
 
-<br><br>
+<p>
+The general proceedure is to request a pointer into an internal 
+<a href="ogg_sync_state.html">ogg_sync_state</a> buffer by calling 
+<a href="ogg_sync_buffer.html">ogg_sync_buffer()</a>. The buffer
+is then filled up to the requested size with new input, and 
+ogg_sync_wrote() is called to advance the fill pointer by however
+much data was actually available.</p>
+
+<br>
 <table border=0 color=black cellspacing=0 cellpadding=7>
 <tr bgcolor=#cccccc>
 	<td>
 <pre><b>
-int ogg_sync_destroy(<a href="ogg_sync_state.html">ogg_sync_state</a> *oy);
+int ogg_sync_wrote(<a href="ogg_sync_state.html">ogg_sync_state</a> *oy, long bytes);
 </b></pre>
 	</td>
 </tr>
@@ -34,6 +42,8 @@
 <dl>
 <dt><i>oy</i></dt>
 <dd>Pointer to a previously declared <a href="ogg_sync_state.html">ogg_sync_state</a> struct.</dd>
+<dt><i>bytes</i></dt>
+<dd>Number of bytes of new data written.</dd>
 </dl>
 
 
@@ -43,14 +53,14 @@
 <li>
 0 in all other cases.</li>
 </blockquote>
-<p>
 
+
 <br><br>
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_adv.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_adv.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_adv.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -51,7 +51,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2002 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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20020719</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_adv1.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_adv1.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_adv1.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -49,7 +49,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_bits.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_bits.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_bits.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -49,7 +49,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_buffer.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_buffer.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_buffer.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -54,7 +54,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_bytes.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_bytes.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_bytes.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -17,8 +17,13 @@
 
 <p><i>declared in "ogg/ogg.h";</i></p>
 
-<p>This function returns the total number of bytes currently in the <a href="oggpack_buffer.html">oggpack_buffer</a>'s internal buffer.
-<p>The return value is the number of <b>complete</b> bytes in the buffer.  There may be extra (<8) bits.
+<p>This function returns the total number of bytes behind the current 
+access point in the <a href="oggpack_buffer.html">oggpack_buffer</a>. 
+For write-initialized buffers, this is the number of complete bytes 
+written so far. For read-initialized buffers, it is the number of 
+complete bytes that have been read so far.
+<p>The return value is the number of <b>complete</b> bytes in the buffer.
+There may be extra (<8) bits.
 <br><br>
 <table border=0 color=black cellspacing=0 cellpadding=7>
 <tr bgcolor=#cccccc>
@@ -48,11 +53,11 @@
 <hr noshade>
 <table border=0 width=100%>
 <tr valign=top>
-<td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td><p class=tiny>copyright &copy; 2008 xiph.org</p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
-<td align=right><p class=tiny>libogg release 1.0 - 20020719</p></td>
+<td align=right><p class=tiny>libogg release 1.1 - 20080113</p></td>
 </tr>
 </table>
 

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_get_buffer.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_get_buffer.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_get_buffer.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -49,7 +49,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_look.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_look.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_look.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -53,7 +53,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_look1.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_look1.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_look1.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -50,7 +50,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_read.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_read.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_read.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -52,7 +52,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_read1.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_read1.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_read1.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -50,7 +50,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_readinit.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_readinit.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_readinit.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -51,7 +51,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_reset.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_reset.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_reset.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -49,7 +49,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_write.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_write.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_write.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -55,7 +55,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writealign.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writealign.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writealign.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -52,7 +52,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2002 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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20020719</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writeclear.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writeclear.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writeclear.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -49,7 +49,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writecopy.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writecopy.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writecopy.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -56,7 +56,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2002 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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20020719</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writeinit.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writeinit.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writeinit.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -49,7 +49,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writetrunc.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writetrunc.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/oggpack_writetrunc.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -13,7 +13,7 @@
 </tr>
 </table>
 
-<h1>oggpack_write</h1>
+<h1>oggpack_writetrunc</h1>
 
 <p><i>declared in "ogg/ogg.h";</i></p>
 
@@ -52,7 +52,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2002 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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20020719</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/overview.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/overview.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/overview.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -32,7 +32,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2000 xiph.org</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>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg release 1.0 - 20000615</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/reference.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/reference.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/reference.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -26,9 +26,9 @@
 <b>Bitpacking</b><br>
 <a href="oggpack_writeinit.html">oggpack_writeinit()</a><br>
 <a href="oggpack_reset.html">oggpack_reset()</a><br>
-<a href="oggpack_writeclear.html">oggpack_writetrunc()</a><br>
-<a href="oggpack_writeclear.html">oggpack_writealign()</a><br>
-<a href="oggpack_writeclear.html">oggpack_writecopy()</a><br>
+<a href="oggpack_writetrunc.html">oggpack_writetrunc()</a><br>
+<a href="oggpack_writealign.html">oggpack_writealign()</a><br>
+<a href="oggpack_writecopy.html">oggpack_writecopy()</a><br>
 <a href="oggpack_writeclear.html">oggpack_writeclear()</a><br>
 <a href="oggpack_readinit.html">oggpack_readinit()</a><br>
 <a href="oggpack_write.html">oggpack_write()</a><br>
@@ -81,7 +81,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2002 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 vorbis.org">team at vorbis.org</a></p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>libogg documentation</p></td>
 <td align=right><p class=tiny>libogg - 20020719</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/vorbis_comment.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/vorbis_comment.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/vorbis_comment.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -58,7 +58,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2002 Xiph.org Foundation</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
 <td align=right><p class=tiny>libVorbisfile version 1.65 - 20020719</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/vorbis_info.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/vorbis_info.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/ogg/vorbis_info.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -68,7 +68,7 @@
 <table border=0 width=100%>
 <tr valign=top>
 <td><p class=tiny>copyright &copy; 2002 Xiph.org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
 </tr><tr>
 <td><p class=tiny>Vorbisfile documentation</p></td>
 <td align=right><p class=tiny>libVorbisfile version 1.65 - 20020702</p></td>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/oggstream.html
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/doc/oggstream.html	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/doc/oggstream.html	2008-06-14 00:01:33 UTC (rev 15030)
@@ -1,196 +1,234 @@
-<HTML><HEAD><TITLE>xiph.org: Ogg Vorbis documentation</TITLE>
-<BODY bgcolor="#ffffff" text="#202020" link="#006666" vlink="#000000">
-<nobr><a href="http://www.xiph.org/ogg/index.html"><img src="white-ogg.png" border=0><img 
-src="vorbisword2.png" border=0></a></nobr><p>
-
-
-<h1><font color=#000070>
-Ogg logical and physical bitstream overview
-</font></h1>
-
-<em>Last update to this document: July 14, 2002</em><br> 
-
-<h2>Ogg bitstreams</h2>
-
-Ogg codecs use octet vectors of raw, compressed data
-(<em>packets</em>). These compressed packets do not have any
-high-level structure or boundary information; strung together, they
-appear to be streams of random bytes with no landmarks.<p>
-
-Raw packets may be used directly by transport mechanisms that provide
-their own framing and packet-separation mechanisms (such as UDP
-datagrams).  For stream based storage (such as files) and transport
-(such as TCP streams or pipes), Vorbis and other future Ogg codecs use
-the Ogg bitstream format to provide framing/sync, sync recapture
-after error, landmarks during seeking, and enough information to
-properly separate data back into packets at the original packet
-boundaries without relying on decoding to find packet boundaries.<p>
-
-<h2>Logical and physical bitstreams</h2>
-
-Raw packets are grouped and encoded into contiguous pages of
-structured bitstream data called <em>logical bitstreams</em>.  A
-logical bitstream consists of pages, in order, belonging to a single
-codec instance.  Each page is a self contained entity (although it is
-possible that a packet may be split and encoded across one or more
-pages); that is, the page decode mechanism is designed to recognize,
-verify and handle single pages at a time from the overall bitstream.<p>
-
-Multiple logical bitstreams can be combined (with restrictions) into a
-single <em>physical bitstream</em>.  A physical bitstream consists of
-multiple logical bitstreams multiplexed at the page level and may
-include a 'meta-header' at the beginning of the multiplexed logical
-stream that serves as identification magic. Whole pages are taken in
-order from multiple logical bitstreams and combined into a single
-physical stream of pages. The decoder reconstructs the original
-logical bitstreams from the physical bitstream by taking the pages in
-order from the physical bitstream and redirecting them into the
-appropriate logical decoding entity. The simplest physical bitstream
-is a single, unmultiplexed logical bitstream with no meta-header; this
-is referred to as a 'degenerate stream'.  <p>
-
-<a href=framing.html>Ogg Logical Bitstream Framing</a> discusses
-the page format of an Ogg bitstream, the packet coding process
-and logical bitstreams in detail.  The remainder of this document
-specifies requirements for constructing finished, physical Ogg
-bitstreams.<p>
-
-<h2>Mapping Restrictions</h2>
-
-Logical bitstreams may not be mapped/multiplexed into physical
-bitstreams without restriction.  Here we discuss design restrictions
-on Ogg physical bitstreams in general, mostly to introduce
-design rationale. Each 'media' format defines its own (generally more
-restrictive) mapping.  An '<a href="vorbis-ogg.html">Ogg Vorbis
-Audio Bitstream</a>', for example, has a <a
-href="vorbis-ogg.html">specific physical bitstream structure</a>.
-An 'Ogg A/V' bitstream (not currently specified) will also mandate a
-specific, restricted physical bitstream format.<p>
-
-<h3>additional end-to-end structure</h3>
-
-The <a href="framing.html">framing specification</a> defines
-'beginning of stream' and 'end of stream' page markers via a header
-flag (it is possible for a stream to consist of a single page).  A
-stream always consists of an integer number of pages, an easy
-requirement given the variable size nature of pages.<p>
-
-In addition to the header flag marking the first and last pages of a
-logical bitstream, the first page of an Ogg bitstream obeys
-additional restrictions.  Each individual media mapping specifies its
-own implementation details regarding these restrictions.<p>
-
-The first page of a logical Ogg bitstream consists of a single,
-small 'initial header' packet that includes sufficient information to
-identify the exact CODEC type and media requirements of the logical
-bitstream.  The intent of this restriction is to simplify identifying
-the bitstream type and content; for a given media type (or across all
-Ogg media types) we can know that we only need a small, fixed
-amount of data to uniquely identify the bitstream type.<p>
-
-As an example, Ogg Vorbis places the name and revision of the Vorbis
-CODEC, the audio rate and the audio quality into this initial header,
-thus simplifying vastly the certain identification of an Ogg Vorbis
-audio bitstream.<p>
-
-<h3>sequential multiplexing (chaining)</h3>
-
-The simplest form of logical bitstream multiplexing is concatenation
-(<em>chaining</em>).  Complete logical bitstreams are strung
-one-after-another in order.  The bitstreams do not overlap; the final
-page of a given logical bitstream is immediately followed by the
-initial page of the next.  Chaining is the only logical->physical
-mapping allowed by Ogg Vorbis.<p>
-
-Each chained logical bitstream must have a unique serial number within
-the scope of the physical bitstream.<p>
-
-<h3>concurrent multiplexing (grouping)</h3>
-
-Logical bitstreams may also be multiplexed 'in parallel'
-(<em>grouped</em>).  An example of grouping would be to allow
-streaming of separate audio and video streams, using different codecs
-and different logical bitstreams, in the same physical bitstream.
-Whole pages from multiple logical bitstreams are mixed together.<p>
-
-The initial pages of each logical bitstream must appear first; the
-media mapping specifies the order of the initial pages.  For example,
-Ogg A/V will eventually specify an Ogg video bitstream with
-audio.  The mapping may specify that the physical bitstream must begin
-with the initial page of a logical video bitstream, followed by the
-initial page of an audio stream.  Unlike initial pages, terminal pages
-for the logical bitstreams need not all occur contiguously (although a
-specific media mapping may require this; it is not mandated by the
-generic Ogg stream spec).  Terminal pages may be 'nil' pages,
-that is, pages containing no content but simply a page header with
-position information and the 'last page of bitstream' flag set in the
-page header.<p>
-
-Each grouped bitstream must have a unique serial number within the
-scope of the physical bitstream.<p>
-
-<h3>sequential and concurrent multiplexing</h3>
-
-Groups of concurrently multiplexed bitstreams may be chained
-consecutively.  Such a physical bitstream obeys all the rules of both
-grouped and chained multiplexed streams; the groups, when unchained ,
-must stand on their own as a valid concurrently multiplexed
-bitstream.<p>
-
-<h3>multiplexing example</h3>
-
-Below, we present an example of a grouped and chained bitstream:<p>
-
-<img src=stream.png><p>
-
-In this example, we see pages from five total logical bitstreams
-multiplexed into a physical bitstream.  Note the following
-characteristics:
-
-<ol><li>Grouped bitstreams begin together; all of the initial pages
-must appear before any data pages.  When concurrently multiplexed
-groups are chained, the new group does not begin until all the
-bitstreams in the previous group have terminated.<p>
-
-<li>The pages of concurrently multiplexed bitstreams need not conform
-to a regular order; the only requirement is that page <tt>n</tt> of a
-logical bitstream follow page <tt>n-1</tt> in the physical bitstream.
-There are no restrictions on intervening pages belonging to other
-logical bitstreams.  (Tying page appearance to bitrate demands is one
-logical strategy, ie, the page appears at the chronological point
-where decode requires more information).
-
-</ol>
-
-<hr>
-<a href="http://www.xiph.org/">
-<img src="white-xifish.png" align=left border=0>
-</a>
-<font size=-2 color=#505050>
-
-Ogg is a <a href="http://www.xiph.org">Xiph.org Foundation</a> effort
-to protect essential tenets of Internet multimedia from corporate
-hostage-taking; Open Source is the net's greatest tool to keep
-everyone honest. See <a href="http://www.xiph.org/about.html">About
-the Xiph.org Foundation</a> for details.
-<p>
-
-Ogg Vorbis is the first Ogg audio CODEC.  Anyone may freely use and
-distribute the Ogg and Vorbis specification, whether in a private,
-public or corporate capacity.  However, the Xiph.org Foundation and
-the Ogg project (xiph.org) reserve the right to set the Ogg Vorbis
-specification and certify specification compliance.<p>
-
-Xiph.org's Vorbis software CODEC implementation is distributed under a
-BSD-like license.  This does not restrict third parties from
-distributing independent implementations of Vorbis software under
-other licenses.<p>
-
-Ogg, Vorbis, Xiph.org Foundation and their logos are trademarks (tm)
-of the <a href="http://www.xiph.org/">Xiph.org Foundation</a>.  These
-pages are copyright (C) 1994-2002 Xiph.org Foundation. All rights
-reserved.<p>
-
-</body>
-
-
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"/>
+<title>Ogg Documentation</title>
+
+<style type="text/css">
+body {
+  margin: 0 18px 0 18px;
+  padding-bottom: 30px;
+  font-family: Verdana, Arial, Helvetica, sans-serif;
+  color: #333333;
+  font-size: .8em;
+}
+
+a {
+  color: #3366cc;
+}
+
+img {
+  border: 0;
+}
+
+#xiphlogo {
+  margin: 30px 0 16px 0;
+}
+
+#content p {
+  line-height: 1.4;
+}
+
+h1, h1 a, h2, h2 a, h3, h3 a {
+  font-weight: bold;
+  color: #ff9900;
+  margin: 1.3em 0 8px 0;
+}
+
+h1 {
+  font-size: 1.3em;
+}
+
+h2 {
+  font-size: 1.2em;
+}
+
+h3 {
+  font-size: 1.1em;
+}
+
+li {
+  line-height: 1.4;
+}
+
+#copyright {
+  margin-top: 30px;
+  line-height: 1.5em;
+  text-align: center;
+  font-size: .8em;
+  color: #888888;
+  clear: both;
+}
+</style>
+
+</head>
+
+<body>
+
+<div id="xiphlogo">
+  <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.org"/></a>
+</div>
+
+<h1>Ogg logical and physical bitstream overview</h1>
+
+<h2>Ogg bitstreams</h2>
+
+<p>Ogg codecs use octet vectors of raw, compressed data
+(<em>packets</em>). These compressed packets do not have any
+high-level structure or boundary information; strung together, they
+appear to be streams of random bytes with no landmarks.</p>
+
+<p>Raw packets may be used directly by transport mechanisms that provide
+their own framing and packet-separation mechanisms (such as UDP
+datagrams). For stream based storage (such as files) and transport
+(such as TCP streams or pipes), Vorbis and other future Ogg codecs use
+the Ogg bitstream format to provide framing/sync, sync recapture
+after error, landmarks during seeking, and enough information to
+properly separate data back into packets at the original packet
+boundaries without relying on decoding to find packet boundaries.</p>
+
+<h2>Logical and physical bitstreams</h2>
+
+<p>Raw packets are grouped and encoded into contiguous pages of
+structured bitstream data called <em>logical bitstreams</em>. A
+logical bitstream consists of pages, in order, belonging to a single
+codec instance. Each page is a self contained entity (although it is
+possible that a packet may be split and encoded across one or more
+pages); that is, the page decode mechanism is designed to recognize,
+verify and handle single pages at a time from the overall bitstream.</p>
+
+<p>Multiple logical bitstreams can be combined (with restrictions) into a
+single <em>physical bitstream</em>. A physical bitstream consists of
+multiple logical bitstreams multiplexed at the page level and may
+include a 'meta-header' at the beginning of the multiplexed logical
+stream that serves as identification magic. Whole pages are taken in
+order from multiple logical bitstreams and combined into a single
+physical stream of pages. The decoder reconstructs the original
+logical bitstreams from the physical bitstream by taking the pages in
+order from the physical bitstream and redirecting them into the
+appropriate logical decoding entity. The simplest physical bitstream
+is a single, unmultiplexed logical bitstream with no meta-header; this
+is referred to as a 'degenerate stream'.</p>
+
+<p><a href="framing.html">Ogg Logical Bitstream Framing</a> discusses
+the page format of an Ogg bitstream, the packet coding process
+and logical bitstreams in detail. The remainder of this document
+specifies requirements for constructing finished, physical Ogg
+bitstreams.</p>
+
+<h2>Mapping Restrictions</h2>
+
+<p>Logical bitstreams may not be mapped/multiplexed into physical
+bitstreams without restriction. Here we discuss design restrictions
+on Ogg physical bitstreams in general, mostly to introduce
+design rationale. Each 'media' format defines its own (generally more
+restrictive) mapping. An 'Ogg Vorbis Audio Bitstream', for example, has a
+specific physical bitstream structure.
+An 'Ogg A/V' bitstream (not currently specified) will also mandate a
+specific, restricted physical bitstream format.</p>
+
+<h3>additional end-to-end structure</h3>
+
+<p>The <a href="framing.html">framing specification</a> defines
+'beginning of stream' and 'end of stream' page markers via a header
+flag (it is possible for a stream to consist of a single page). A
+stream always consists of an integer number of pages, an easy
+requirement given the variable size nature of pages.</p>
+
+<p>In addition to the header flag marking the first and last pages of a
+logical bitstream, the first page of an Ogg bitstream obeys
+additional restrictions. Each individual media mapping specifies its
+own implementation details regarding these restrictions.</p>
+
+<p>The first page of a logical Ogg bitstream consists of a single,
+small 'initial header' packet that includes sufficient information to
+identify the exact CODEC type and media requirements of the logical
+bitstream. The intent of this restriction is to simplify identifying
+the bitstream type and content; for a given media type (or across all
+Ogg media types) we can know that we only need a small, fixed
+amount of data to uniquely identify the bitstream type.</p>
+
+<p>As an example, Ogg Vorbis places the name and revision of the Vorbis
+CODEC, the audio rate and the audio quality into this initial header,
+thus simplifying vastly the certain identification of an Ogg Vorbis
+audio bitstream.</p>
+
+<h3>sequential multiplexing (chaining)</h3>
+
+<p>The simplest form of logical bitstream multiplexing is concatenation
+(<em>chaining</em>). Complete logical bitstreams are strung
+one-after-another in order. The bitstreams do not overlap; the final
+page of a given logical bitstream is immediately followed by the
+initial page of the next. Chaining is the only logical->physical
+mapping allowed by Ogg Vorbis.</p>
+
+<p>Each chained logical bitstream must have a unique serial number within
+the scope of the physical bitstream.</p>
+
+<h3>concurrent multiplexing (grouping)</h3>
+
+<p>Logical bitstreams may also be multiplexed 'in parallel'
+(<em>grouped</em>). An example of grouping would be to allow
+streaming of separate audio and video streams, using different codecs
+and different logical bitstreams, in the same physical bitstream.
+Whole pages from multiple logical bitstreams are mixed together.</p>
+
+<p>The initial pages of each logical bitstream must appear first; the
+media mapping specifies the order of the initial pages. For example,
+Ogg A/V will eventually specify an Ogg video bitstream with
+audio. The mapping may specify that the physical bitstream must begin
+with the initial page of a logical video bitstream, followed by the
+initial page of an audio stream. Unlike initial pages, terminal pages
+for the logical bitstreams need not all occur contiguously (although a
+specific media mapping may require this; it is not mandated by the
+generic Ogg stream spec). Terminal pages may be 'nil' pages,
+that is, pages containing no content but simply a page header with
+position information and the 'last page of bitstream' flag set in the
+page header.</p>
+
+<p>Each grouped bitstream must have a unique serial number within the
+scope of the physical bitstream.</p>
+
+<h3>sequential and concurrent multiplexing</h3>
+
+<p>Groups of concurrently multiplexed bitstreams may be chained
+consecutively. Such a physical bitstream obeys all the rules of both
+grouped and chained multiplexed streams; the groups, when unchained ,
+must stand on their own as a valid concurrently multiplexed
+bitstream.</p>
+
+<h3>multiplexing example</h3>
+
+<p>Below, we present an example of a grouped and chained bitstream:</p>
+
+<p><img src="stream.png" alt="stream"/></p>
+
+<p>In this example, we see pages from five total logical bitstreams
+multiplexed into a physical bitstream. Note the following
+characteristics:</p>
+
+<ol>
+<li>Grouped bitstreams begin together; all of the initial pages
+must appear before any data pages. When concurrently multiplexed
+groups are chained, the new group does not begin until all the
+bitstreams in the previous group have terminated.</li>
+
+<li>The pages of concurrently multiplexed bitstreams need not conform
+to a regular order; the only requirement is that page <tt>n</tt> of a
+logical bitstream follow page <tt>n-1</tt> in the physical bitstream.
+There are no restrictions on intervening pages belonging to other
+logical bitstreams. (Tying page appearance to bitrate demands is one
+logical strategy, ie, the page appears at the chronological point
+where decode requires more information).</li>
+</ol>
+
+<div id="copyright">
+  The Xiph Fish Logo is a
+  trademark (&trade;) of Xiph.Org.<br/>
+
+  These pages &copy; 1994 - 2005 Xiph.Org. All rights reserved.
+</div>
+
+</body>
+</html>

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/doc/stream.png
===================================================================
(Binary files differ)

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/include/ogg/ogg.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/include/ogg/ogg.h	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/include/ogg/ogg.h	2008-06-14 00:01:33 UTC (rev 15030)
@@ -5,13 +5,13 @@
  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  *                                                                  *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007             *
  * by the Xiph.Org Foundation http://www.xiph.org/                  *
  *                                                                  *
  ********************************************************************
 
  function: toplevel libogg include
- last mod: $Id: ogg.h 7188 2004-07-20 07:26:04Z xiphmont $
+ last mod: $Id: ogg.h 14463 2008-02-09 11:16:55Z erikd $
 
  ********************************************************************/
 #ifndef _OGG_H
@@ -24,6 +24,11 @@
 #include <ogg/os_types.h>
 
 typedef struct {
+  void *iov_base; 
+  size_t iov_len;
+} ogg_iovec_t;
+
+typedef struct {
   long endbyte;
   int  endbit;
 
@@ -148,6 +153,8 @@
 /* Ogg BITSTREAM PRIMITIVES: encoding **************************/
 
 extern int      ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op);
+extern int      ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov,
+				   int count, long e_o_s, ogg_int64_t granulepos);
 extern int      ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
 extern int      ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
 
@@ -177,14 +184,14 @@
 
 extern void     ogg_page_checksum_set(ogg_page *og);
 
-extern int      ogg_page_version(ogg_page *og);
-extern int      ogg_page_continued(ogg_page *og);
-extern int      ogg_page_bos(ogg_page *og);
-extern int      ogg_page_eos(ogg_page *og);
-extern ogg_int64_t  ogg_page_granulepos(ogg_page *og);
-extern int      ogg_page_serialno(ogg_page *og);
-extern long     ogg_page_pageno(ogg_page *og);
-extern int      ogg_page_packets(ogg_page *og);
+extern int      ogg_page_version(const ogg_page *og);
+extern int      ogg_page_continued(const ogg_page *og);
+extern int      ogg_page_bos(const ogg_page *og);
+extern int      ogg_page_eos(const ogg_page *og);
+extern ogg_int64_t  ogg_page_granulepos(const ogg_page *og);
+extern int      ogg_page_serialno(const ogg_page *og);
+extern long     ogg_page_pageno(const ogg_page *og);
+extern int      ogg_page_packets(const ogg_page *og);
 
 extern void     ogg_packet_clear(ogg_packet *op);
 

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/include/ogg/os_types.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/include/ogg/os_types.h	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/include/ogg/os_types.h	2008-06-14 00:01:33 UTC (rev 15030)
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: #ifdef jail to whip a few platforms into the UNIX ideal.
- last mod: $Id: os_types.h 7524 2004-08-11 04:20:36Z conrad $
+ last mod: $Id: os_types.h 14997 2008-06-04 03:27:18Z ivo $
 
  ********************************************************************/
 #ifndef _OS_TYPES_H
@@ -27,19 +27,21 @@
 #if defined(_WIN32) 
 
 #  if defined(__CYGWIN__)
-#    include <_G_config.h>
-     typedef _G_int64_t ogg_int64_t;
-     typedef _G_int32_t ogg_int32_t;
-     typedef _G_uint32_t ogg_uint32_t;
-     typedef _G_int16_t ogg_int16_t;
-     typedef _G_uint16_t ogg_uint16_t;
+#    include <stdint.h>
+     typedef int16_t ogg_int16_t;
+     typedef uint16_t ogg_uint16_t;
+     typedef int32_t ogg_int32_t;
+     typedef uint32_t ogg_uint32_t;
+     typedef int64_t ogg_int64_t;
+     typedef uint64_t ogg_uint64_t;
 #  elif defined(__MINGW32__)
-     typedef short ogg_int16_t;                                                                             
-     typedef unsigned short ogg_uint16_t;                                                                   
-     typedef int ogg_int32_t;                                                                               
-     typedef unsigned int ogg_uint32_t;                                                                     
-     typedef long long ogg_int64_t;                                                                         
-     typedef unsigned long long ogg_uint64_t;  
+#    include <sys/types.h>
+     typedef short ogg_int16_t;
+     typedef unsigned short ogg_uint16_t;
+     typedef int ogg_int32_t;
+     typedef unsigned int ogg_uint32_t;
+     typedef long long ogg_int64_t;
+     typedef unsigned long long ogg_uint64_t;
 #  elif defined(__MWERKS__)
      typedef long long ogg_int64_t;
      typedef int ogg_int32_t;
@@ -64,7 +66,7 @@
    typedef UInt32 ogg_uint32_t;
    typedef SInt64 ogg_int64_t;
 
-#elif defined(__MACOSX__) /* MacOS X Framework build */
+#elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */
 
 #  include <sys/types.h>
    typedef int16_t ogg_int16_t;
@@ -73,6 +75,16 @@
    typedef u_int32_t ogg_uint32_t;
    typedef int64_t ogg_int64_t;
 
+#elif defined(__HAIKU__)
+
+  /* Haiku */
+#  include <sys/types.h>
+   typedef short ogg_int16_t;
+   typedef unsigned short ogg_uint16_t;
+   typedef int ogg_int32_t;
+   typedef unsigned int ogg_uint32_t;
+   typedef long long ogg_int64_t;
+
 #elif defined(__BEOS__)
 
    /* Be */

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/libogg.spec.in
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/libogg.spec.in	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/libogg.spec.in	2008-06-14 00:01:33 UTC (rev 15030)
@@ -67,8 +67,8 @@
 %doc doc/white-ogg.png
 %doc doc/white-xifish.png
 %doc doc/stream.png
-%doc doc/ogg/*.html
-%doc doc/ogg/style.css
+%doc doc/libogg/*.html
+%doc doc/libogg/style.css
 %dir %{_includedir}/ogg
 %{_includedir}/ogg/ogg.h
 %{_includedir}/ogg/os_types.h
@@ -80,6 +80,9 @@
 %{_datadir}/aclocal/ogg.m4
 
 %changelog
+* Thu Nov 08 2007 Conrad Parker <conrad at metadecks.org>
+- update doc dir (reported by thosmos on #vorbis)
+
 * Thu Jun 10 2004 Thomas Vander Stichele <thomas at apestaart dot org>
 - autogenerate from configure
 - fix download location

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/macosx/English.lproj/InfoPlist.strings
===================================================================
(Binary files differ)

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/ogg.m4
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/ogg.m4	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/ogg.m4	2008-06-14 00:01:33 UTC (rev 15030)
@@ -9,23 +9,29 @@
 [dnl 
 dnl Get the cflags and libraries
 dnl
-AC_ARG_WITH(ogg,[  --with-ogg=PFX   Prefix where libogg is installed (optional)], ogg_prefix="$withval", ogg_prefix="")
-AC_ARG_WITH(ogg-libraries,[  --with-ogg-libraries=DIR   Directory where libogg library is installed (optional)], ogg_libraries="$withval", ogg_libraries="")
-AC_ARG_WITH(ogg-includes,[  --with-ogg-includes=DIR   Directory where libogg header files are installed (optional)], ogg_includes="$withval", ogg_includes="")
-AC_ARG_ENABLE(oggtest, [  --disable-oggtest       Do not try to compile and run a test Ogg program],, enable_oggtest=yes)
+AC_ARG_WITH(ogg,AC_HELP_STRING([--with-ogg=PFX],[Prefix where libogg is installed (optional)]), ogg_prefix="$withval", ogg_prefix="")
+AC_ARG_WITH(ogg-libraries,AC_HELP_STRING([--with-ogg-libraries=DIR],[Directory where libogg library is installed (optional)]), ogg_libraries="$withval", ogg_libraries="")
+AC_ARG_WITH(ogg-includes,AC_HELP_STRING([--with-ogg-includes=DIR],[Directory where libogg header files are installed (optional)]), ogg_includes="$withval", ogg_includes="")
+AC_ARG_ENABLE(oggtest,AC_HELP_STRING([--disable-oggtest],[Do not try to compile and run a test Ogg program]),, enable_oggtest=yes)
 
   if test "x$ogg_libraries" != "x" ; then
     OGG_LIBS="-L$ogg_libraries"
+  elif test "x$ogg_prefix" = "xno" || test "x$ogg_prefix" = "xyes" ; then
+    OGG_LIBS=""
   elif test "x$ogg_prefix" != "x" ; then
     OGG_LIBS="-L$ogg_prefix/lib"
   elif test "x$prefix" != "xNONE" ; then
     OGG_LIBS="-L$prefix/lib"
   fi
 
-  OGG_LIBS="$OGG_LIBS -logg"
+  if test "x$ogg_prefix" != "xno" ; then
+    OGG_LIBS="$OGG_LIBS -logg"
+  fi
 
   if test "x$ogg_includes" != "x" ; then
     OGG_CFLAGS="-I$ogg_includes"
+  elif test "x$ogg_prefix" = "xno" || test "x$ogg_prefix" = "xyes" ; then
+    OGG_CFLAGS=""
   elif test "x$ogg_prefix" != "x" ; then
     OGG_CFLAGS="-I$ogg_prefix/include"
   elif test "x$prefix" != "xNONE"; then
@@ -33,7 +39,12 @@
   fi
 
   AC_MSG_CHECKING(for Ogg)
-  no_ogg=""
+  if test "x$ogg_prefix" = "xno" ; then
+    no_ogg="disabled"
+    enable_oggtest="no"
+  else
+    no_ogg=""
+  fi
 
 
   if test "x$enable_oggtest" = "xyes" ; then
@@ -62,9 +73,12 @@
        LIBS="$ac_save_LIBS"
   fi
 
-  if test "x$no_ogg" = "x" ; then
+  if test "x$no_ogg" = "xdisabled" ; then
+     AC_MSG_RESULT(no)
+     ifelse([$2], , :, [$2])
+  elif test "x$no_ogg" = "x" ; then
      AC_MSG_RESULT(yes)
-     ifelse([$1], , :, [$1])     
+     ifelse([$1], , :, [$1])
   else
      AC_MSG_RESULT(no)
      if test -f conf.oggtest ; then

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/src/Makefile.am
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/src/Makefile.am	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/src/Makefile.am	2008-06-14 00:01:33 UTC (rev 15030)
@@ -17,9 +17,9 @@
 test_framing_SOURCES = framing.c
 test_framing_CFLAGS = -D_V_SELFTEST
 
-check: test_bitwise test_framing
-	./test_bitwise
-	./test_framing
+check: $(noinst_PROGRAMS)
+	./test_bitwise$(EXEEXT)
+	./test_framing$(EXEEXT)
 
 debug:
 	$(MAKE) all CFLAGS="@DEBUG@"

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/src/bitwise.c
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/src/bitwise.c	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/src/bitwise.c	2008-06-14 00:01:33 UTC (rev 15030)
@@ -11,7 +11,7 @@
  ********************************************************************
 
   function: packing variable sized words into an octet stream
-  last mod: $Id: bitwise.c 7675 2004-09-01 00:34:39Z xiphmont $
+  last mod: $Id: bitwise.c 14546 2008-02-29 01:14:05Z tterribe $
 
  ********************************************************************/
 
@@ -355,6 +355,9 @@
     /* not the main path */
     ret=-1L;
     if(b->endbyte*8+bits>b->storage*8)goto overflow;
+    /* special case to avoid reading b->ptr[0], which might be past the end of
+        the buffer; also skips some useless accounting */
+    else if(!bits)return(0L);
   }
   
   ret=b->ptr[0]<<(24+b->endbit);

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/src/framing.c
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/src/framing.c	2008-06-13 23:59:37 UTC (rev 15029)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/src/framing.c	2008-06-14 00:01:33 UTC (rev 15030)
@@ -5,14 +5,14 @@
  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  *                                                                  *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007             *
  * by the Xiph.Org Foundation http://www.xiph.org/                  *
  *                                                                  *
  ********************************************************************
 
  function: code raw [Vorbis] packets into framed OggSquish stream and
            decode Ogg streams back into raw packets
- last mod: $Id: framing.c 7835 2004-09-22 20:57:09Z xiphmont $
+ last mod: $Id: framing.c 14463 2008-02-09 11:16:55Z erikd $
 
  note: The CRC code is directly derived from public domain code by
  Ross Williams (ross at guest.adelaide.edu.au).  See docs/framing.html
@@ -26,23 +26,23 @@
 
 /* A complete description of Ogg framing exists in docs/framing.html */
 
-int ogg_page_version(ogg_page *og){
+int ogg_page_version(const ogg_page *og){
   return((int)(og->header[4]));
 }
 
-int ogg_page_continued(ogg_page *og){
+int ogg_page_continued(const ogg_page *og){
   return((int)(og->header[5]&0x01));
 }
 
-int ogg_page_bos(ogg_page *og){
+int ogg_page_bos(const ogg_page *og){
   return((int)(og->header[5]&0x02));
 }
 
-int ogg_page_eos(ogg_page *og){
+int ogg_page_eos(const ogg_page *og){
   return((int)(og->header[5]&0x04));
 }
 
-ogg_int64_t ogg_page_granulepos(ogg_page *og){
+ogg_int64_t ogg_page_granulepos(const ogg_page *og){
   unsigned char *page=og->header;
   ogg_int64_t granulepos=page[13]&(0xff);
   granulepos= (granulepos<<8)|(page[12]&0xff);
@@ -55,14 +55,14 @@
   return(granulepos);
 }
 
-int ogg_page_serialno(ogg_page *og){
+int ogg_page_serialno(const ogg_page *og){
   return(og->header[14] |
 	 (og->header[15]<<8) |
 	 (og->header[16]<<16) |
 	 (og->header[17]<<24));
 }
  
-long ogg_page_pageno(ogg_page *og){
+long ogg_page_pageno(const ogg_page *og){
   return(og->header[18] |
 	 (og->header[19]<<8) |
 	 (og->header[20]<<16) |
@@ -88,7 +88,7 @@
   ogg_page_continued(page) !=0
 */
 
-int ogg_page_packets(ogg_page *og){
+int ogg_page_packets(const ogg_page *og){
   int i,n=og->header[26],count=0;
   for(i=0;i<n;i++)
     if(og->header[27+i]<255)count++;
@@ -117,7 +117,7 @@
 }
 #endif
 
-static const ogg_uint32_t crc_lookup[256]={
+static const ogg_uint32_t crc_lookup[256]={
   0x00000000,0x04c11db7,0x09823b6e,0x0d4326d9,
   0x130476dc,0x17c56b6b,0x1a864db2,0x1e475005,
   0x2608edb8,0x22c9f00f,0x2f8ad6d6,0x2b4bcb61,
@@ -260,17 +260,21 @@
     for(i=0;i<og->body_len;i++)
       crc_reg=(crc_reg<<8)^crc_lookup[((crc_reg >> 24)&0xff)^og->body[i]];
     
-    og->header[22]=(unsigned char)(crc_reg&0xff);
-    og->header[23]=(unsigned char)((crc_reg>>8)&0xff);
-    og->header[24]=(unsigned char)((crc_reg>>16)&0xff);
-    og->header[25]=(unsigned char)((crc_reg>>24)&0xff);
+    og->header[22]=(unsigned char)(crc_reg&0xff);
+    og->header[23]=(unsigned char)((crc_reg>>8)&0xff);
+    og->header[24]=(unsigned char)((crc_reg>>16)&0xff);
+    og->header[25]=(unsigned char)((crc_reg>>24)&0xff);
   }
 }
 
 /* submit data to the internal buffer of the framing engine */
-int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op){
-  int lacing_vals=op->bytes/255+1,i;
+int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count,
+                       long e_o_s, ogg_int64_t granulepos){
 
+  int bytes = 0, lacing_vals, i;
+  for (i = 0; i < count; ++i) bytes += (int)iov[i].iov_len;
+  lacing_vals=bytes/255+1;
+
   if(os->body_returned){
     /* advance packet data according to the body_returned pointer. We
        had to keep it around to return a pointer into the buffer last
@@ -284,7 +288,7 @@
   }
  
   /* make sure we have the buffer storage */
-  _os_body_expand(os,op->bytes);
+  _os_body_expand(os,bytes);
   _os_lacing_expand(os,lacing_vals);
 
   /* Copy in the submitted packet.  Yes, the copy is a waste; this is
@@ -292,16 +296,18 @@
      will actually be fairly easy to eliminate the extra copy in the
      future */
 
-  memcpy(os->body_data+os->body_fill,op->packet,op->bytes);
-  os->body_fill+=op->bytes;
+  for (i = 0; i < count; ++i) {
+    memcpy(os->body_data+os->body_fill, iov[i].iov_base, iov[i].iov_len);
+    os->body_fill += (int)iov[i].iov_len;
+  }
 
   /* Store lacing vals for this packet */
   for(i=0;i<lacing_vals-1;i++){
     os->lacing_vals[os->lacing_fill+i]=255;
     os->granule_vals[os->lacing_fill+i]=os->granulepos;
   }
-  os->lacing_vals[os->lacing_fill+i]=(op->bytes)%255;
-  os->granulepos=os->granule_vals[os->lacing_fill+i]=op->granulepos;
+  os->lacing_vals[os->lacing_fill+i]=bytes%255;
+  os->granulepos=os->granule_vals[os->lacing_fill+i]=granulepos;
 
   /* flag the first segment as the beginning of the packet */
   os->lacing_vals[os->lacing_fill]|= 0x100;
@@ -311,11 +317,18 @@
   /* for the sake of completeness */
   os->packetno++;
 
-  if(op->e_o_s)os->e_o_s=1;
+  if(e_o_s)os->e_o_s=1;
 
   return(0);
 }
 
+int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op){
+  ogg_iovec_t iov;
+  iov.iov_base = op->packet;
+  iov.iov_len = op->bytes;
+  return ogg_stream_iovecin(os, &iov, 1, op->e_o_s, op->granulepos);
+}
+
 /* This will flush remaining packets into a page (returning nonzero),
    even if there is not enough data to trigger a flush normally
    (undersized page). If there are no packets or partial packets to
@@ -336,7 +349,7 @@
   int maxvals=(os->lacing_fill>255?255:os->lacing_fill);
   int bytes=0;
   long acc=0;
-  ogg_int64_t granule_pos=os->granule_vals[0];
+  ogg_int64_t granule_pos=-1;
 
   if(maxvals==0)return(0);
   
@@ -357,7 +370,8 @@
     for(vals=0;vals<maxvals;vals++){
       if(acc>4096)break;
       acc+=os->lacing_vals[vals]&0x0ff;
-      granule_pos=os->granule_vals[vals];
+      if((os->lacing_vals[vals]&0xff)<255)
+        granule_pos=os->granule_vals[vals];
     }
   }
   
@@ -378,7 +392,7 @@
 
   /* 64 bits of PCM position */
   for(i=6;i<14;i++){
-    os->header[i]=(unsigned char)(granule_pos&0xff);
+    os->header[i]=(unsigned char)(granule_pos&0xff);
     granule_pos>>=8;
   }
 
@@ -386,7 +400,7 @@
   {
     long serialno=os->serialno;
     for(i=14;i<18;i++){
-      os->header[i]=(unsigned char)(serialno&0xff);
+      os->header[i]=(unsigned char)(serialno&0xff);
       serialno>>=8;
     }
   }
@@ -401,7 +415,7 @@
   {
     long pageno=os->pageno++;
     for(i=18;i<22;i++){
-      os->header[i]=(unsigned char)(pageno&0xff);
+      os->header[i]=(unsigned char)(pageno&0xff);
       pageno>>=8;
     }
   }
@@ -413,9 +427,9 @@
   os->header[25]=0;
   
   /* segment table */
-  os->header[26]=(unsigned char)(vals&0xff);
+  os->header[26]=(unsigned char)(vals&0xff);
   for(i=0;i<vals;i++)
-    bytes+=os->header[i+27]=(unsigned char)(os->lacing_vals[i]&0xff);
+    bytes+=os->header[i+27]=(unsigned char)(os->lacing_vals[i]&0xff);
   
   /* set pointers in the ogg_page struct */
   og->header=os->header;
@@ -474,8 +488,7 @@
    ogg_stream_pagein() along with the appropriate
    ogg_stream_state* (ie, matching serialno).  We then get raw
    packets out calling ogg_stream_packetout() with a
-   ogg_stream_state.  See the 'frame-prog.txt' docs for details and
-   example code. */
+   ogg_stream_state. */
 
 /* initialize the struct to a known state */
 int ogg_sync_init(ogg_sync_state *oy){
@@ -624,8 +637,8 @@
   if(!next)
     next=oy->data+oy->fill;
 
-  oy->returned=next-oy->data;
-  return(-(next-page));
+  oy->returned=(int)(next-oy->data);
+  return((long)-(next-page));
 }
 
 /* sync the stream and get a page.  Keep trying until we find a page.
@@ -645,7 +658,7 @@
      buffer.  If it doesn't verify, we look for the next potential
      frame */
 
-  for(;;){
+  for(;;){
     long ret=ogg_sync_pageseek(oy,og);
     if(ret>0){
       /* have a page */
@@ -1079,9 +1092,9 @@
 		       0};
 
 const int head2_4[] = {0x4f,0x67,0x67,0x53,0,0x00,
-		       0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+		       0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 		       0x01,0x02,0x03,0x04,1,0,0,0,
-		       0x34,0x24,0xd5,0x29,
+		       0x54,0x05,0x51,0xc8,
 		       17,
 		       255,255,255,255,255,255,255,255,
 		       255,255,255,255,255,255,255,255,255};
@@ -1165,9 +1178,9 @@
 		       255,255,255,255,255,255,255,255};
 
 const int head3_6[] = {0x4f,0x67,0x67,0x53,0,0x01,
-		       0x07,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
+		       0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 		       0x01,0x02,0x03,0x04,2,0,0,0,
-		       0xbd,0xd5,0xb5,0x8b,
+		       0x01,0xd2,0xe5,0xe5,
 		       17,
 		       255,255,255,255,255,255,255,255,
 		       255,255,255,255,255,255,255,255,255};



More information about the commits mailing list