From f49beca1438135e247e96b3feef7b0750c9340d9 Mon Sep 17 00:00:00 2001 From: Jack Moffitt Date: Sun, 3 Sep 2000 05:54:26 +0000 Subject: Initial revision svn path=/trunk/ogg/; revision=618 --- doc/Makefile.am | 9 ++ doc/framing.html | 384 +++++++++++++++++++++++++++++++++++++++++++++++++++ doc/index.html | 3 + doc/oggstream.html | 192 ++++++++++++++++++++++++++ doc/stream.png | Bin 0 -> 2327 bytes doc/white-ogg.png | Bin 0 -> 1181 bytes doc/white-xifish.png | Bin 0 -> 965 bytes 7 files changed, 588 insertions(+) create mode 100644 doc/Makefile.am create mode 100644 doc/framing.html create mode 100644 doc/index.html create mode 100644 doc/oggstream.html create mode 100644 doc/stream.png create mode 100644 doc/white-ogg.png create mode 100644 doc/white-xifish.png (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..8893207 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,9 @@ +## Process this with automake to create Makefile.in + +AUTOMAKE_OPTIONS = foreign + +docdir = $(prefix)/doc/$(PACKAGE)-$(VERSION) + +doc_DATA = index.html framing.html oggstream.html white-xifish.png stream.png white-ogg.png + +EXTRA_DIST = $(doc_DATA) diff --git a/doc/framing.html b/doc/framing.html new file mode 100644 index 0000000..51054c7 --- /dev/null +++ b/doc/framing.html @@ -0,0 +1,384 @@ +xiph.org: Ogg Vorbis documentation + +

+ +

+Ogg logical bitstream framing +

+ +Last update to this document: July 15, 1999
+ +

Ogg bitstreams

+ +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-seperation +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 seperate data back into packets at the original packet +boundaries without relying on decoding to find packet boundaries.

+ +

Design constraints for Ogg bitstreams

+ +
  1. True streaming; we must not need to seek to build a 100% + complete bitstream. + +
  2. Use no more than approximately 1-2% of bitstream bandwidth for + packet boundary marking, high-level framing, sync and seeking. + +
  3. Specification of absolute position within the original sample + stream. + +
  4. Simple mechanism to ease limited editing, such as a simplified + concatenation mechanism. + +
  5. Detection of corruption, recapture after error and direct, random + access to data at arbitrary positions in the bitstream. +
+ +

Logical and Physical Bitstreams

+ +A logical Ogg bitstream is a contiguous stream of +sequential pages belonging only to the logical bitstream. A +physical 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 +Ogg bitstream overview. The exact +mapping of raw Vorbis packets into a valid Ogg Vorbis physical +bitstream is described in Vorbis +bitstream mapping. + +

Bitstream structure

+ +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 preceeded 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.

+ +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.

+ +

Packet segmentation

+ +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.

+ +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.

+ +An example should make the basic concept clear:

+ +

+
+raw packet:
+  ___________________________________________
+ |______________packet data__________________| 753 bytes
+
+lacing values for page header segment table: 255,255,243
+
+
+ +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.

+ +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:

+ +


+raw packet:
+  _______________________________
+ |________packet data____________|          255 bytes
+
+lacing values: 255, 0
+
+ +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.

+ +

Packets spanning pages

+ +Packets are not resticted 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 forseen as being useful for +initialization data at the beginning of a logical bitstream).

+ +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).

+ +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 +preceeding 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 +preceeding page, implying that the previous page's segment table +cannot be trusted.

+ +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.

+ +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).

+ +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.

+ +

Page header

+ +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.

+ +

capture_pattern

+ + 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 inadvertant coincidence in the byte stream).

+ +


+ byte value
+
+  0  0x4f 'O'
+  1  0x67 'g'
+  2  0x67 'g'
+  3  0x53 'S'  
+
+ +

stream_structure_version

+ + The capture pattern is followed by the stream structure revision: + +

+ byte value
+
+  4  0x00
+
+ +

header_type_flag

+ + The header type flag identifies this page's context in the bitstream: + +

+ 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)
+
+ +

PCM absolute position

+ + (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 be the frame number). 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 thenext page do not count). The rationale here is + that the position specified in the frame header of the last page + tells how long the PCM data coded by the bitstream is. A truncated + stream will still return the proper number of samples that can be + decoded fully. + +

+ byte value
+
+  6  0xXX LSB
+  7  0xXX
+  8  0xXX
+  9  0xXX
+ 10  0xXX
+ 11  0xXX
+ 12  0xXX
+ 13  0xXX MSB
+
+ +

stream serial number

+ + Ogg allows for seperate 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 seperate 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: + +

+ byte value
+
+ 14  0xXX LSB
+ 15  0xXX
+ 16  0xXX
+ 17  0xXX MSB
+
+ +

page sequence no

+ + Page counter; lets us know if a page is lost (useful where packets + span page boundaries). + +

+ byte value
+
+ 18  0xXX LSB
+ 19  0xXX
+ 20  0xXX
+ 21  0xXX MSB
+
+ +

page checksum

+ + 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.

+ + (A thorough discussion of CRC algorithms can be found in "A + Painless Guide to CRC Error Detection Algorithms" by Ross + Williams ross@guest.adelaide.edu.au.) + +


+ byte value
+
+ 22  0xXX LSB
+ 23  0xXX
+ 24  0xXX
+ 25  0xXX MSB
+
+ +

page_segments

+ + 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).

+ +


+ byte value
+
+ 26 0x00-0xff (0-255)
+
+ +

segment_table (containing packet lacing values)

+ + The lacing values for each packet segment physically appearing in + this page are listed in contiguous order. + +

+ byte value
+
+ 27 0x00-0xff (0-255)
+ [...]
+ n  0x00-0xff (0-255, n=page_segments+26)
+
+ +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.

+ +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.

+ +


+ + + + + +Ogg is a Xiphophorus 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 About +Xiphophorus for details. +

+ +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, +Xiphophorus and the Ogg project (xiph.org) reserve the right to set +the Ogg/Vorbis specification and certify specification compliance.

+ +Xiphophorus's Vorbis software CODEC implementation is distributed +under the Lessr/Library GNU Public License. This does not restrict +third parties from distributing independent implementations of Vorbis +software under other licenses.

+ +OggSquish, Vorbis, Xiphophorus and their logos are trademarks (tm) of +Xiphophorus. These pages are +copyright (C) 1994-2000 Xiphophorus. All rights reserved.

+ + + + diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..9b4232b --- /dev/null +++ b/doc/index.html @@ -0,0 +1,3 @@ +Ogg logical and physical bitstream overview
+Ogg logical bitstream framing
+ diff --git a/doc/oggstream.html b/doc/oggstream.html new file mode 100644 index 0000000..46a221c --- /dev/null +++ b/doc/oggstream.html @@ -0,0 +1,192 @@ +xiph.org: Ogg Vorbis documentation + +

+ + +

+Ogg logical and physical bitstream overview +

+ +Last update to this document: July 18, 1999
+ +

Ogg bitstreams

+ +Ogg codecs use octet vectors of raw, compressed data +(packets). 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.

+ +Raw packets may be used directly by transport mechanisms that provide +their own framing and packet-seperation 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 seperate data back into packets at the original packet +boundaries without relying on decoding to find packet boundaries.

+ +

Logical and physical bitstreams

+ +Raw packets are grouped and encoded into contiguous pages of +structured bitstream data called logical bitstreams. 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.

+ +Multiple logical bitstreams can be combined (with restricctions) into +a single physical bitstream. A physical bitstream consists +of multiple logical bitstreams multiplexed at the page level. 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 fromt he physical bitstream and redirecting them into +the appropriate logical decoding entitiy. The simplest physical +bitstream is a single, unmultiplexed logical bitstream.

+ +Ogg Logical Bitstream Framing 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.

+ +

Mapping Restrictions

+ +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.

+ +

additional end-to-end structure

+ +The framing specification 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.

+ +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.

+ +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.

+ +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.

+ +

sequential multiplexing (chaining)

+ +The simplest form of logical bitstream multiplexing is concatenation +(chaining). 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.

+ +Each chained logical bitstream must have a unique serial number within +the scope of the physical bitstream.

+ +

concurrent multiplexing (grouping)

+ +Logical bitstreams may also be multiplexed 'in parallel' +(grouped). An example of grouping would be to allow +streaming of seperate audio and video streams, using differnt codecs +and different logical bitstreams, in the same physical bitstream. +Whole pages from multiple logical bitstreams are mixed together.

+ +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.

+ +Each grouped bitstream must have a unique serial number within the +scope of the physical bitstream.

+ +

sequential and concurrent multiplexing

+ +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.

+ +

multiplexing example

+ +Below, we present an example of a grouped and chained bitstream:

+ +

+ +In this example, we see pages from five total logical bitstreams +multiplexed into a physical bitstream. Note the following +characteristics: + +

  1. 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.

    + +

  2. The pages of concurrently multiplexed bitstreams need not conform +to a regular order; the only requirement is that page n of a +logical bitstream follow page n-1 in the physical bitstream. +There are no restrictions on intervening pages belonging to other +logical bitstreams. (Tying page appearence to bitrate demands is one +logical strategy, ie, the page appears at the chronological point +where decode requires more information). + +
+ +
+ + + + + +Ogg is a Xiphophorus 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 About +Xiphophorus for details. +

+ +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, +Xiphophorus and the Ogg project (xiph.org) reserve the right to set +the Ogg/Vorbis specification and certify specification compliance.

+ +Xiphophorus's Vorbis software CODEC implementation is distributed +under the Lesser/Library GNU Public License. This does not restrict +third parties from distributing independent implementations of Vorbis +software under other licenses.

+ +OggSquish, Vorbis, Xiphophorus and their logos are trademarks (tm) of +Xiphophorus. These pages are +copyright (C) 1994-2000 Xiphophorus. All rights reserved.

+ + + + diff --git a/doc/stream.png b/doc/stream.png new file mode 100644 index 0000000..6e9dca8 Binary files /dev/null and b/doc/stream.png differ diff --git a/doc/white-ogg.png b/doc/white-ogg.png new file mode 100644 index 0000000..45dc0ac Binary files /dev/null and b/doc/white-ogg.png differ diff --git a/doc/white-xifish.png b/doc/white-xifish.png new file mode 100644 index 0000000..ab25cc8 Binary files /dev/null and b/doc/white-xifish.png differ -- cgit v1.2.3 From 17e09ce301f4b75777e5fc7fb9e8c3c85351557e Mon Sep 17 00:00:00 2001 From: Jack Moffitt Date: Sun, 3 Sep 2000 22:13:04 +0000 Subject: and the .cvsignores for the subdirs svn path=/trunk/ogg/; revision=632 --- doc/.cvsignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 doc/.cvsignore (limited to 'doc') diff --git a/doc/.cvsignore b/doc/.cvsignore new file mode 100644 index 0000000..282522d --- /dev/null +++ b/doc/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in -- cgit v1.2.3 From 3fb315be515dd189c833deaeb2620ca5aea068b1 Mon Sep 17 00:00:00 2001 From: Jack Moffitt Date: Sat, 18 Nov 2000 05:14:36 +0000 Subject: oops! svn path=/trunk/ogg/; revision=1088 --- doc/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index 8893207..fc3c413 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS = foreign -docdir = $(prefix)/doc/$(PACKAGE)-$(VERSION) +docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) doc_DATA = index.html framing.html oggstream.html white-xifish.png stream.png white-ogg.png -- cgit v1.2.3 From 192a64b86d166bc881c888ac4761a2d0cb4381b5 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Sun, 18 Feb 2001 20:53:51 +0000 Subject: document the special value '-1' in the granulepos field. svn path=/trunk/ogg/; revision=1295 --- doc/framing.html | 3 +++ 1 file changed, 3 insertions(+) (limited to 'doc') diff --git a/doc/framing.html b/doc/framing.html index 51054c7..a36be0b 100644 --- a/doc/framing.html +++ b/doc/framing.html @@ -241,6 +241,9 @@ buffered packet segments.

tells how long the PCM data coded by the bitstream is. A truncated stream will still return the proper number of samples that can be decoded fully. +

+ A special value of '-1' (in two's complement) indicates that no packets + finish on this page.


  byte value
-- 
cgit v1.2.3


From cb308640c42134def46147b366c535b116c25457 Mon Sep 17 00:00:00 2001
From: Ralph Giles 
Date: Sun, 18 Feb 2001 21:38:21 +0000
Subject: forgot to touch the mod date

svn path=/trunk/ogg/; revision=1296
---
 doc/framing.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'doc')

diff --git a/doc/framing.html b/doc/framing.html
index a36be0b..64e8953 100644
--- a/doc/framing.html
+++ b/doc/framing.html
@@ -7,7 +7,7 @@ src="vorbisword2.png" border=0>

Ogg logical bitstream framing -Last update to this document: July 15, 1999
+Last update to this document: February 18, 2001

Ogg bitstreams

@@ -380,7 +380,7 @@ software under other licenses.

OggSquish, Vorbis, Xiphophorus and their logos are trademarks (tm) of Xiphophorus. These pages are -copyright (C) 1994-2000 Xiphophorus. All rights reserved.

+copyright (C) 1994-2001 Xiphophorus. All rights reserved.

-- cgit v1.2.3 From 280386f219ab5d2c24bece35c483b8319b06b4f0 Mon Sep 17 00:00:00 2001 From: Jack Moffitt Date: Mon, 26 Feb 2001 04:06:26 +0000 Subject: Added Kim's libogg docs svn path=/trunk/ogg/; revision=1335 --- doc/ogg/bitpacking.html | 107 +++++++++++++++++++++++++++++++++ doc/ogg/datastructures.html | 59 +++++++++++++++++++ doc/ogg/decoding.html | 95 ++++++++++++++++++++++++++++++ doc/ogg/encoding.html | 64 ++++++++++++++++++++ doc/ogg/general.html | 93 +++++++++++++++++++++++++++++ doc/ogg/index.html | 39 ++++++++++++ doc/ogg/ogg_packet.html | 78 ++++++++++++++++++++++++ doc/ogg/ogg_page.html | 69 ++++++++++++++++++++++ doc/ogg/ogg_page_bos.html | 65 ++++++++++++++++++++ doc/ogg/ogg_page_continued.html | 64 ++++++++++++++++++++ doc/ogg/ogg_page_eos.html | 65 ++++++++++++++++++++ doc/ogg/ogg_page_granulepos.html | 65 ++++++++++++++++++++ doc/ogg/ogg_page_pageno.html | 63 ++++++++++++++++++++ doc/ogg/ogg_page_serialno.html | 63 ++++++++++++++++++++ doc/ogg/ogg_page_version.html | 63 ++++++++++++++++++++ doc/ogg/ogg_stream_clear.html | 61 +++++++++++++++++++ doc/ogg/ogg_stream_destroy.html | 62 +++++++++++++++++++ doc/ogg/ogg_stream_eof.html | 62 +++++++++++++++++++ doc/ogg/ogg_stream_eos.html | 62 +++++++++++++++++++ doc/ogg/ogg_stream_flush.html | 67 +++++++++++++++++++++ doc/ogg/ogg_stream_init.html | 66 +++++++++++++++++++++ doc/ogg/ogg_stream_packetin.html | 65 ++++++++++++++++++++ doc/ogg/ogg_stream_packetout.html | 66 +++++++++++++++++++++ doc/ogg/ogg_stream_pagein.html | 67 +++++++++++++++++++++ doc/ogg/ogg_stream_pageout.html | 67 +++++++++++++++++++++ doc/ogg/ogg_stream_reset.html | 61 +++++++++++++++++++ doc/ogg/ogg_stream_state.html | 121 ++++++++++++++++++++++++++++++++++++++ doc/ogg/ogg_sync_buffer.html | 67 +++++++++++++++++++++ doc/ogg/ogg_sync_clear.html | 62 +++++++++++++++++++ doc/ogg/ogg_sync_destroy.html | 62 +++++++++++++++++++ doc/ogg/ogg_sync_init.html | 63 ++++++++++++++++++++ doc/ogg/ogg_sync_pageout.html | 79 +++++++++++++++++++++++++ doc/ogg/ogg_sync_pageseek.html | 68 +++++++++++++++++++++ doc/ogg/ogg_sync_reset.html | 63 ++++++++++++++++++++ doc/ogg/ogg_sync_state.html | 67 +++++++++++++++++++++ doc/ogg/ogg_sync_wrote.html | 63 ++++++++++++++++++++ doc/ogg/oggpack_adv.html | 65 ++++++++++++++++++++ doc/ogg/oggpack_adv1.html | 62 +++++++++++++++++++ doc/ogg/oggpack_adv_huff.html | 67 +++++++++++++++++++++ doc/ogg/oggpack_bits.html | 62 +++++++++++++++++++ doc/ogg/oggpack_buffer.html | 66 +++++++++++++++++++++ doc/ogg/oggpack_bytes.html | 62 +++++++++++++++++++ doc/ogg/oggpack_get_buffer.html | 62 +++++++++++++++++++ doc/ogg/oggpack_look.html | 67 +++++++++++++++++++++ doc/ogg/oggpack_look1.html | 63 ++++++++++++++++++++ doc/ogg/oggpack_look_huff.html | 68 +++++++++++++++++++++ doc/ogg/oggpack_read.html | 65 ++++++++++++++++++++ doc/ogg/oggpack_read1.html | 63 ++++++++++++++++++++ doc/ogg/oggpack_readinit.html | 64 ++++++++++++++++++++ doc/ogg/oggpack_reset.html | 62 +++++++++++++++++++ doc/ogg/oggpack_write.html | 68 +++++++++++++++++++++ doc/ogg/oggpack_writeclear.html | 62 +++++++++++++++++++ doc/ogg/oggpack_writeinit.html | 62 +++++++++++++++++++ doc/ogg/overview.html | 44 ++++++++++++++ doc/ogg/reference.html | 88 +++++++++++++++++++++++++++ doc/ogg/style.css | 7 +++ doc/ogg/vorbis_comment.html | 67 +++++++++++++++++++++ doc/ogg/vorbis_info.html | 102 ++++++++++++++++++++++++++++++++ 58 files changed, 3871 insertions(+) create mode 100644 doc/ogg/bitpacking.html create mode 100644 doc/ogg/datastructures.html create mode 100644 doc/ogg/decoding.html create mode 100644 doc/ogg/encoding.html create mode 100644 doc/ogg/general.html create mode 100644 doc/ogg/index.html create mode 100644 doc/ogg/ogg_packet.html create mode 100644 doc/ogg/ogg_page.html create mode 100644 doc/ogg/ogg_page_bos.html create mode 100644 doc/ogg/ogg_page_continued.html create mode 100644 doc/ogg/ogg_page_eos.html create mode 100644 doc/ogg/ogg_page_granulepos.html create mode 100644 doc/ogg/ogg_page_pageno.html create mode 100644 doc/ogg/ogg_page_serialno.html create mode 100644 doc/ogg/ogg_page_version.html create mode 100644 doc/ogg/ogg_stream_clear.html create mode 100644 doc/ogg/ogg_stream_destroy.html create mode 100644 doc/ogg/ogg_stream_eof.html create mode 100644 doc/ogg/ogg_stream_eos.html create mode 100644 doc/ogg/ogg_stream_flush.html create mode 100644 doc/ogg/ogg_stream_init.html create mode 100644 doc/ogg/ogg_stream_packetin.html create mode 100644 doc/ogg/ogg_stream_packetout.html create mode 100644 doc/ogg/ogg_stream_pagein.html create mode 100644 doc/ogg/ogg_stream_pageout.html create mode 100644 doc/ogg/ogg_stream_reset.html create mode 100644 doc/ogg/ogg_stream_state.html create mode 100644 doc/ogg/ogg_sync_buffer.html create mode 100644 doc/ogg/ogg_sync_clear.html create mode 100644 doc/ogg/ogg_sync_destroy.html create mode 100644 doc/ogg/ogg_sync_init.html create mode 100644 doc/ogg/ogg_sync_pageout.html create mode 100644 doc/ogg/ogg_sync_pageseek.html create mode 100644 doc/ogg/ogg_sync_reset.html create mode 100644 doc/ogg/ogg_sync_state.html create mode 100644 doc/ogg/ogg_sync_wrote.html create mode 100644 doc/ogg/oggpack_adv.html create mode 100644 doc/ogg/oggpack_adv1.html create mode 100644 doc/ogg/oggpack_adv_huff.html create mode 100644 doc/ogg/oggpack_bits.html create mode 100644 doc/ogg/oggpack_buffer.html create mode 100644 doc/ogg/oggpack_bytes.html create mode 100644 doc/ogg/oggpack_get_buffer.html create mode 100644 doc/ogg/oggpack_look.html create mode 100644 doc/ogg/oggpack_look1.html create mode 100644 doc/ogg/oggpack_look_huff.html create mode 100644 doc/ogg/oggpack_read.html create mode 100644 doc/ogg/oggpack_read1.html create mode 100644 doc/ogg/oggpack_readinit.html create mode 100644 doc/ogg/oggpack_reset.html create mode 100644 doc/ogg/oggpack_write.html create mode 100644 doc/ogg/oggpack_writeclear.html create mode 100644 doc/ogg/oggpack_writeinit.html create mode 100644 doc/ogg/overview.html create mode 100644 doc/ogg/reference.html create mode 100644 doc/ogg/style.css create mode 100644 doc/ogg/vorbis_comment.html create mode 100644 doc/ogg/vorbis_info.html (limited to 'doc') diff --git a/doc/ogg/bitpacking.html b/doc/ogg/bitpacking.html new file mode 100644 index 0000000..90fc608 --- /dev/null +++ b/doc/ogg/bitpacking.html @@ -0,0 +1,107 @@ + + + +libogg - Bitpacking Functions + + + + + + + + + +

libogg documentation

libogg version 1.25 - 20000615

+ +

Bitpacking Functions

+

Libogg contains a basic bitpacking library that is useful for manipulating data within a buffer. +

+All the libogg specific functions are declared in "ogg/ogg.h". +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
functionpurpose
oggpack_writeinitInitializes a buffer for writing using this bitpacking library.
oggpack_resetClears and resets the buffer to the initial position.
oggpack_writeclearFrees the memory used by the buffer.
oggpack_readinitInitializes a buffer for reading using this bitpacking library.
oggpack_writeWrites bytes to the specified location within the buffer.
oggpack_lookLook at a specified number of bits, <=32, without advancing the location pointer.
oggpack_look_huffLook at a specified number of bits, <=8, without advancing the location pointer.
oggpack_look1Looks at one bit without advancing the location pointer.
oggpack_advAdvances the location pointer by a specified number of bits.
oggpack_adv_huffAdvances the location pointer by a specified number of bits, and checks for buffer overflow.
oggpack_adv1Advances the location pointer by one bit.
oggpack_readReads a specified number of bits from the buffer.
oggpack_read1Reads one bit from the buffer.
oggpack_bytesReturns the total number of bytes contained within the buffer.
oggpack_bitsReturns the total number of bits contained within the buffer.
oggpack_get_bufferReturns a pointer to the buffer encapsulated within the oggpack_buffer struct.
+ +

+


+ + + + + + + + +

copyright © 2000 xiph.org

Ogg Vorbis
team@xiph.org

libogg documentation

libogg version 1.25 - 20000615

+ + + + diff --git a/doc/ogg/datastructures.html b/doc/ogg/datastructures.html new file mode 100644 index 0000000..263594a --- /dev/null +++ b/doc/ogg/datastructures.html @@ -0,0 +1,59 @@ + + + +libogg - Base Data Structures + + + + + + + + + +

libogg documentation

libogg version 1.25 - 20000615

+ +

Base Data Structures

+

Libogg uses several data structures to hold data and state information. +

+All the libogg specific data structures are declared in "ogg/ogg.h". +

+ + + + + + + + + + + + + + + + + + + + + + +
datatypepurpose
ogg_pageThis structure encapsulates data into one ogg bitstream page.
ogg_stream_stateThis structure contains current encode/decode data for a logical bitstream.
ogg_packetThis structure encapsulates the data and metadata for a single raw Ogg Vorbis packet.
ogg_sync_stateContains bitstream synchronization information.
+ +

+


+ + + + + + + + +

copyright © 2000 xiph.org

Ogg Vorbis
team@xiph.org

libogg documentation

libogg version 1.25 - 20000615

+ + + + diff --git a/doc/ogg/decoding.html b/doc/ogg/decoding.html new file mode 100644 index 0000000..38f1449 --- /dev/null +++ b/doc/ogg/decoding.html @@ -0,0 +1,95 @@ + + + +libogg - Decoding + + + + + + + + + +

libogg documentation

libogg version 1.25 - 20000615

+ +

Decoding

+

Libogg contains a set of functions used in the decoding process. +

+All the libogg specific functions are declared in "ogg/ogg.h". +

+

Decoding is based around the ogg synchronization layer. The ogg_sync_state struct coordinates between incoming data and the decoder. We read data into the synchronization layer, submit the data to the stream, and output raw packets to the decoder. +

Decoding through the Ogg layer follows a specific logical sequence. A read loop follows these logical steps: +

+

In practice, streams are more complex, and Ogg also must handle headers, incomplete or dropped pages, and other errors in input. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
functionpurpose
ogg_sync_initInitializes an Ogg bitstream.
ogg_sync_clearClears the status information from the synchronization struct. +
ogg_sync_resetResets the synchronization status to initial values.
ogg_sync_destroyFrees the synchronization struct.
ogg_sync_bufferExposes a buffer from the synchronization layer in order to read data.
ogg_sync_wroteTells the synchronization layer how many bytes were written into the buffer.
ogg_sync_pageseekFinds the borders of pages and resynchronizes the stream.
ogg_sync_pageoutOutputs a page from the synchronization layer.
ogg_stream_pageinSubmits a complete page to the stream layer.
ogg_stream_packetoutOutputs a packet to the codec-specific decoding engine.
+ +

+


+ + + + + + + + +

copyright © 2000 xiph.org

Ogg Vorbis
team@xiph.org

libogg documentation

libogg version 1.25 - 20000615

+ + + + diff --git a/doc/ogg/encoding.html b/doc/ogg/encoding.html new file mode 100644 index 0000000..79891c7 --- /dev/null +++ b/doc/ogg/encoding.html @@ -0,0 +1,64 @@ + + + +libogg - Encoding + + + + + + + + + +

libogg documentation

libogg version 1.25 - 20000615

+ +

Encoding

+

Libogg contains a set of functions used in the encoding process. +

+All the libogg specific functions are declared in "ogg/ogg.h". +

+

When encoding, the encoding engine will output raw packets which must be placed into an Ogg bitstream. +

Raw packets are inserted into the stream, and an ogg_page is output when enough packets have been written to create a full page. The pages output are pointers to buffered packet segments, and can then be written out and saved as an ogg stream. +

There are a couple of basic steps: +

    +
  • Use the encoding engine to produce a raw packet of data. +
  • Call ogg_stream_packetin to submit a raw packet to the stream. +
  • Use ogg_stream_pageout to output a page, if enough data has been submitted. Otherwise, continue submitting data. +
+

+ + + + + + + + + + + + + + + + +
functionpurpose
ogg_stream_packetinSubmits a raw packet to the streaming layer, so that it can be formed into a page.
ogg_stream_pageoutOutputs a completed page if the stream contains enough packets to form a full page. +
ogg_stream_flushForces any remaining packets in the stream to be returned as a page of any size. +
+ +

+
+ + + + + + + + +

copyright © 2000 xiph.org

Ogg Vorbis
team@xiph.org

libogg documentation

libogg version 1.25 - 20000615

+ + + + diff --git a/doc/ogg/general.html b/doc/ogg/general.html new file mode 100644 index 0000000..6c26bab --- /dev/null +++ b/doc/ogg/general.html @@ -0,0 +1,93 @@ + + + +libogg - General Functions + + + + + + + + + +

libogg documentation

libogg version 1.25 - 20000615

+ +

General Functions

+

Libogg contains several functions which are generally useful when using Ogg streaming, whether encoding or decoding. +

+All the libogg specific functions are declared in "ogg/ogg.h". +

+

These functions can be used to manipulate some of the basic elements of Ogg - streams and pages. Streams and pages are important during both the encode and decode process. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
functionpurpose
ogg_stream_initInitializes an Ogg bitstream.
ogg_stream_clearClears the storage within the Ogg stream, but does not free the stream itself. +
ogg_stream_resetResets the stream status to its initial position.
ogg_stream_destroyFrees the entire Ogg stream.
ogg_stream_eosIndicates whether we are at the end of the stream.
ogg_page_versionReturns the version of ogg_page that this stream/page uses
ogg_page_continuedIndicates if the current page contains a continued packet from the last page.
ogg_page_bosIndicates if the current page is the beginning of the stream.
ogg_page_eosIndicates if the current page is the end of the stream.
ogg_page_granuleposReturns the precise playback location of this page.
ogg_page_serialnoReturns the unique serial number of the logical bitstream associated with this page.
ogg_page_pagenoReturns the sequential page number for this page.
+ +

+


+ + + + + + + + +

copyright © 2000 xiph.org

Ogg Vorbis
team@xiph.org

libogg documentation

libogg version 1.25 - 20000615

+ + + + diff --git a/doc/ogg/index.html b/doc/ogg/index.html new file mode 100644 index 0000000..ae59186 --- /dev/null +++ b/doc/ogg/index.html @@ -0,0 +1,39 @@ + + + +libogg - Documentation + + + + + + + + + +

libogg documentation

libogg version 1.25 - 20000615

+ +

Libogg Documentation

+ +

+Libogg contains necessary functionality to create, decode, and work with Ogg bitstreams. +

This document explains how to use the libogg API in detail. +

+libogg api overview
+libogg api reference
+ +

+


+ + + + + + + + +

copyright © 2000 xiph.org

Ogg Vorbis
team@vorbis.org

libogg documentation

libogg version 1.25 - 20000615

+ + + + diff --git a/doc/ogg/ogg_packet.html b/doc/ogg/ogg_packet.html new file mode 100644 index 0000000..1cbfae1 --- /dev/null +++ b/doc/ogg/ogg_packet.html @@ -0,0 +1,78 @@ + + + +libogg - datatype - ogg_packet + + + + + + + + + +

libogg documentation

libogg version 1.25 - 20000615

+ +

ogg_packet

+ +

declared in "ogg/ogg.h"

+ +

+The ogg_packet struct encapsulates the data for a single raw packet of data. +

+ + + + + +
+

+typedef struct {
+  unsigned char *packet;
+  long  bytes;
+  long  b_o_s;
+  long  e_o_s;
+
+  ogg_int64_t  frameno;
+  ogg_int64_t  packetno;       /* sequence number for decode; the framing
+                             knows where there's a hole in the data,
+                             but we need coupling so that the codec
+                             (which is in a seperate abstraction
+                             layer) also knows about the gap */
+
+} ogg_packet;
+
+
+ +

Relevant Struct Members

+
+
packet
+
Pointer to data in form of a packet.
+
bytes
+
Indicates size in bytes of the data within this page. Pages can be of arbitrary size.
+
b_o_s
+
Flag indicating whether this page is at the beginning of a bitstream. 1 indicates beginning page, 0 indicates any other position in the stream.
+
e_o_s
+
Flag indicating whether this page is at the end of a bitstream. 1 indicates ending page, 0 indicates any other position in the stream.
+
frameno
+
Sequential number indicating precise position within stream.
+
packetno
+
Sequential number of this packet. Used within the decoder for internal ordering.
+
+ + +

+
+ + + + + + + + +

copyright © 2000 xiph.org

Ogg Vorbis
team@xiph.org

libogg documentation

libogg version 1.25 - 20000615

+ + + + diff --git a/doc/ogg/ogg_page.html b/doc/ogg/ogg_page.html new file mode 100644 index 0000000..88d1703 --- /dev/null +++ b/doc/ogg/ogg_page.html @@ -0,0 +1,69 @@ + + + +libogg - datatype - ogg_page + + + + + + + + + +

libogg documentation

libogg version 1.25 - 20000615

+ +

ogg_page

+ +

declared in "ogg/ogg.h"

+ +

+The ogg_page struct encapsulates the data for an Ogg page. +

+Ogg pages are of arbitrary length, with an approximate maximum size of 6kB. They are made up of packet segments of 255 bytes each. There can be as many as 255 packet segments per page. +

+

For a complete description of ogg pages and headers, please refer to the framing document. + + + + + +
+

+typedef struct {
+  unsigned char *header;
+  long header_len;
+  unsigned char *body;
+  long body_len;
+} ogg_page;
+
+
+ +

Relevant Struct Members

+
+
header
+
Pointer to the page header for this page. The exact contents of this header are defined in the framing spec document.
+
header_len
+
Length in bytes of the page header. +
body
+
Pointer to the data for this page.
+
body_len
+
Length in bytes of the body.
+
+ + +

+
+ + + + + + + + +

copyright © 2000 xiph.org

Ogg Vorbis
team@xiph.org

libogg documentation

libogg version 1.25 - 20000615

+ + + + diff --git a/doc/ogg/ogg_page_bos.html b/doc/ogg/ogg_page_bos.html new file mode 100644 index 0000000..dcfbb33 --- /dev/null +++ b/doc/ogg/ogg_page_bos.html @@ -0,0 +1,65 @@ + + + +libogg - function - ogg_page_bos + + + + + + + + + +

libogg documentation

libogg version 1.25 - 20000615

+ +

ogg_page_bos

+ +

declared in "ogg/ogg.h";

+ +

Indicates whether this page is at the beginning of the logical bitstream. +

+

+ + + + +
+

+int ogg_page_bos(ogg_page *og);
+
+
+
+ +

Parameters

+
+
og
+
Pointer to the current ogg_page struct.
+
+ + +

Return Values

+
+
  • +1 if this page is the beginning of a bitstream.
  • +
  • +0 if this page is from any other location in the stream.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_page_continued.html b/doc/ogg/ogg_page_continued.html new file mode 100644 index 0000000..9bb8396 --- /dev/null +++ b/doc/ogg/ogg_page_continued.html @@ -0,0 +1,64 @@ + + + +libogg - function - ogg_page_version + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_page_continued

    + +

    declared in "ogg/ogg.h";

    + +

    Indicates whether this page contains packet data which has been continued from the previous page. +

    + + + + +
    +
    
    +int ogg_page_continued(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +1 if this page contains packet data continued from the last page.
  • +
  • +0 if this page does not contain continued data.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_page_eos.html b/doc/ogg/ogg_page_eos.html new file mode 100644 index 0000000..729386d --- /dev/null +++ b/doc/ogg/ogg_page_eos.html @@ -0,0 +1,65 @@ + + + +libogg - function - ogg_page_eos + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_page_eos

    + +

    declared in "ogg/ogg.h";

    + +

    Indicates whether this page is at the end of the logical bitstream. +

    +

    + + + + +
    +
    
    +int ogg_page_eos(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +1 if this page contains the end of a bitstream.
  • +
  • +0 if this page is from any other location in the stream.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_page_granulepos.html b/doc/ogg/ogg_page_granulepos.html new file mode 100644 index 0000000..1a44df6 --- /dev/null +++ b/doc/ogg/ogg_page_granulepos.html @@ -0,0 +1,65 @@ + + + +libogg - function - ogg_page_granulepos + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_page_granulepos

    + +

    declared in "ogg/ogg.h";

    + +

    Returns the exact granular position of the packet data contained at the end of this page. +

    This is useful for tracking location when seeking or decoding. +

    For example, in audio codecs this position is the pcm sample number and in video this is the frame number. +

    +

    + + + + +
    +
    
    +int ogg_page_granulepos(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +n is the specific last granular position of the decoded data contained in the page.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_page_pageno.html b/doc/ogg/ogg_page_pageno.html new file mode 100644 index 0000000..2e1a16e --- /dev/null +++ b/doc/ogg/ogg_page_pageno.html @@ -0,0 +1,63 @@ + + + +libogg - function - ogg_page_pageno + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_page_pageno

    + +

    declared in "ogg/ogg.h";

    + +

    Returns the sequential page number. +

    This is useful for ordering pages or determining when pages have been lost. +

    + + + + +
    +
    
    +int ogg_page_pageno(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +n is the page number for this page.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_page_serialno.html b/doc/ogg/ogg_page_serialno.html new file mode 100644 index 0000000..f8edef0 --- /dev/null +++ b/doc/ogg/ogg_page_serialno.html @@ -0,0 +1,63 @@ + + + +libogg - function - ogg_page_serialno + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_page_serialno

    + +

    declared in "ogg/ogg.h";

    + +

    Returns the unique serial number for the logical bitstream of this page. Each page contains the serial number for the logical bitstream that it belongs to. +

    +

    + + + + +
    +
    
    +int ogg_page_serialno(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +n is the serial number for this page.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_page_version.html b/doc/ogg/ogg_page_version.html new file mode 100644 index 0000000..e27affc --- /dev/null +++ b/doc/ogg/ogg_page_version.html @@ -0,0 +1,63 @@ + + + +libogg - function - ogg_page_version + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_page_version

    + +

    declared in "ogg/ogg.h";

    + +

    This function returns the version of ogg_page used in this page. +

    In current versions of libogg, all ogg_page structs have the same version, so 0 should always be returned. +

    + + + + +
    +
    
    +int ogg_page_version(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +n is the version number. In the current version of Ogg, the version number is always 0. Nonzero return values indicate an error in page encoding.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_stream_clear.html b/doc/ogg/ogg_stream_clear.html new file mode 100644 index 0000000..8e1a72b --- /dev/null +++ b/doc/ogg/ogg_stream_clear.html @@ -0,0 +1,61 @@ + + + +libogg - function - ogg_stream_clear + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_stream_clear

    + +

    declared in "ogg/ogg.h";

    + +

    This function clears the memory used by the ogg_stream_state struct, but does not free it. +

    + + + + +
    +
    
    +int ogg_stream_clear(ogg_stream_state *os);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the ogg_stream_state struct to be cleared.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_stream_destroy.html b/doc/ogg/ogg_stream_destroy.html new file mode 100644 index 0000000..18589b8 --- /dev/null +++ b/doc/ogg/ogg_stream_destroy.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_stream_destroy + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_stream_destroy

    + +

    declared in "ogg/ogg.h";

    + +

    This function frees the memory used by the ogg_stream_state struct. +

    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. +

    + + + + +
    +
    
    +int ogg_stream_destroy(ogg_stream_state *os);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the ogg_stream_state struct to be destroyed.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_stream_eof.html b/doc/ogg/ogg_stream_eof.html new file mode 100644 index 0000000..20fc389 --- /dev/null +++ b/doc/ogg/ogg_stream_eof.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_stream_destroy + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_stream_eof

    + +

    declared in "ogg/ogg.h";

    + +

    This function indicates whether we have reached the end of the stream or not. +

    + + + + +
    +
    
    +int ogg_stream_eof(ogg_stream_state *os);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the current ogg_stream_state struct.
    +
    + + +

    Return Values

    +
    +
  • 1 if we are at the end of the stream.
  • +
  • +0 if we have not yet reached the end of the stream.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_stream_eos.html b/doc/ogg/ogg_stream_eos.html new file mode 100644 index 0000000..996a4e8 --- /dev/null +++ b/doc/ogg/ogg_stream_eos.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_stream_eos + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_stream_eos

    + +

    declared in "ogg/ogg.h";

    + +

    This function indicates whether we have reached the end of the stream or not. +

    + + + + +
    +
    
    +int ogg_stream_eos(ogg_stream_state *os);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the current ogg_stream_state struct.
    +
    + + +

    Return Values

    +
    +
  • 1 if we are at the end of the stream.
  • +
  • +0 if we have not yet reached the end of the stream.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_stream_flush.html b/doc/ogg/ogg_stream_flush.html new file mode 100644 index 0000000..b192ccc --- /dev/null +++ b/doc/ogg/ogg_stream_flush.html @@ -0,0 +1,67 @@ + + + +libogg - function - ogg_stream_flush + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_stream_flush

    + +

    declared in "ogg/ogg.h";

    + +

    This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page. +

    This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout should always be used. +

    This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. + +

    + + + + +
    +
    
    +int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to a previously declared ogg_stream_state struct, which represents the current logical bitstream.
    +
    og
    +
    Pointer to a page of data. The remaining packets in the stream will be placed into this page, if any remain. +
    + + +

    Return Values

    +
    +
  • 0 means that all packet data has already been flushed into pages, and there are no packets to put into the page.
  • +
  • +Nonzero means that remaining packets have successfully been flushed into the page.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_stream_init.html b/doc/ogg/ogg_stream_init.html new file mode 100644 index 0000000..bf40b6b --- /dev/null +++ b/doc/ogg/ogg_stream_init.html @@ -0,0 +1,66 @@ + + + +libogg - function - ogg_stream_init + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_stream_init

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to initialize an ogg_stream_state struct and allocates appropriate memory in preparation for encoding or decoding. +

    It also assigns the stream a given serial number. +

    + + + + +
    +
    
    +int ogg_stream_init(ogg_stream_state *os,int serialno);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the ogg_stream_state struct that we will be initializing.
    +
    serialno
    +
    Serial number that we will attach to this stream.
    +
    + + +

    Return Values

    +
    +
  • +0 if successful
  • +
  • +-1 if unsuccessful. If this fails, the ogg_stream_state was not properly declared before calling this function.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_stream_packetin.html b/doc/ogg/ogg_stream_packetin.html new file mode 100644 index 0000000..55f5f65 --- /dev/null +++ b/doc/ogg/ogg_stream_packetin.html @@ -0,0 +1,65 @@ + + + +libogg - function - ogg_stream_packetin + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_stream_packetin

    + +

    declared in "ogg/ogg.h";

    + +

    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. +

    In a typical decoding situation, this should be used after filling a packet with data + +

    + + + + +
    +
    
    +int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to a previously declared ogg_stream_state struct.
    +
    op
    +
    Pointer to the packet we are putting into the bitstream. +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_stream_packetout.html b/doc/ogg/ogg_stream_packetout.html new file mode 100644 index 0000000..9c59356 --- /dev/null +++ b/doc/ogg/ogg_stream_packetout.html @@ -0,0 +1,66 @@ + + + +libogg - function - ogg_stream_packetout + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_stream_packetout

    + +

    declared in "ogg/ogg.h";

    + +

    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. +

    In a typical decoding situation, this should be used after calling to submit a page of data to the bitstream. + +

    + + + + +
    +
    
    +int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to a previously declared ogg_stream_state struct. Before this function is called, an ogg_page should be submitted to the stream using ogg_stream_pagein.
    +
    op
    +
    Pointer to the packet that will be submitted to the decoding layer after this function is called. +
    + + +

    Return Values

    +
    +
  • -1 if we are out of sync and there is a gap in the data. Usually this will not be a fatal error. +
  • +1 in all other cases.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_stream_pagein.html b/doc/ogg/ogg_stream_pagein.html new file mode 100644 index 0000000..81ce5db --- /dev/null +++ b/doc/ogg/ogg_stream_pagein.html @@ -0,0 +1,67 @@ + + + +libogg - function - ogg_stream_pagein + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_stream_pagein

    + +

    declared in "ogg/ogg.h";

    + +

    This function adds a complete page to the bitstream. +

    In a typical decoding situation, this function would be called after using ogg_sync_pageout to create a valid ogg_page struct. +

    Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer. + +

    + + + + +
    +
    
    +int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
    +
    og
    +
    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. +
    + + +

    Return Values

    +
    +
  • -1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, or that the page version was incorrect.
  • +
  • +0 means that the page was successfully submitted to the bitstream.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_stream_pageout.html b/doc/ogg/ogg_stream_pageout.html new file mode 100644 index 0000000..ec597f9 --- /dev/null +++ b/doc/ogg/ogg_stream_pageout.html @@ -0,0 +1,67 @@ + + + +libogg - function - ogg_stream_pageout + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_stream_pageout

    + +

    declared in "ogg/ogg.h";

    + +

    This function forms packets into pages. If +

    In a typical encoding situation, this would be called after using ogg_stream_packetin to submit data packets to the bitstream. +

    Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer. + +

    + + + + +
    +
    
    +int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
    +
    og
    +
    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. +
    + + +

    Return Values

    +
    +
  • 0 means that there is not enough data yet to form a page.
  • +
  • +0 means that the page was successfully submitted to the bitstream.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_stream_reset.html b/doc/ogg/ogg_stream_reset.html new file mode 100644 index 0000000..1e59b94 --- /dev/null +++ b/doc/ogg/ogg_stream_reset.html @@ -0,0 +1,61 @@ + + + +libogg - function - ogg_stream_reset + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_stream_reset

    + +

    declared in "ogg/ogg.h";

    + +

    This function sets values in the ogg_stream_state struct back to initial values. +

    + + + + +
    +
    
    +int ogg_stream_reset(ogg_stream_state *os);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the ogg_stream_state struct to be cleared.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_stream_state.html b/doc/ogg/ogg_stream_state.html new file mode 100644 index 0000000..7a29daa --- /dev/null +++ b/doc/ogg/ogg_stream_state.html @@ -0,0 +1,121 @@ + + + +libogg - datatype - ogg_stream_state + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_stream_state

    + +

    declared in "ogg/ogg.h"

    + +

    +The ogg_stream_state struct tracks the current encode/decode state of the current logical bitstream. +

    + + + + + +
    +
    
    +typedef struct {
    +  unsigned char   *body_data;    /* bytes from packet bodies */
    +  long    body_storage;          /* storage elements allocated */
    +  long    body_fill;             /* elements stored; fill mark */
    +  long    body_returned;         /* elements of fill returned */
    +
    +
    +  int     *lacing_vals;    /* The values that will go to the segment table */
    +  ogg_int64_t *granule_vals;      /* granulepos values for headers. Not compact
    +                             this way, but it is simple coupled to the
    +                             lacing fifo */
    +  long    lacing_storage;
    +  long    lacing_fill;
    +  long    lacing_packet;
    +  long    lacing_returned;
    +
    +  unsigned char    header[282];      /* working space for header encode */
    +  int              header_fill;
    +
    +  int     e_o_s;          /* set when we have buffered the last packet in the
    +                             logical bitstream */
    +  int     b_o_s;          /* set after we've written the initial page
    +                             of a logical bitstream */
    +  long     serialno;
    +  int      pageno;
    +  ogg_int64_t  packetno;      /* sequence number for decode; the framing
    +                             knows where there's a hole in the data,
    +                             but we need coupling so that the codec
    +                             (which is in a seperate abstraction
    +                             layer) also knows about the gap */
    +  ogg_int64_t   granulepos;
    +
    +} ogg_stream_state;
    +
    +
    + +

    Relevant Struct Members

    +
    +
    body_data
    +
    Pointer to data from packet bodies.
    +
    body_storage
    +
    Storage allocated for bodies in bytes (filled or unfilled).
    +
    body_fill
    +
    Amount of storage filled with stored packet bodies.
    +
    body_returned
    +
    Number of elements returned from storage.
    +
    lacing_vals
    +
    String of lacing values for the packet segments within the current page. Each value is a byte, indicating packet segment length.
    +
    granule_vals
    +
    Pointer to the lacing values for the packet segments within the current page.
    +
    lacing_storage
    +
    Total amount of storage (in bytes) allocated for storing lacing values.
    +
    lacing_fill
    +
    Fill marker for the current vs. total allocated storage of lacing values for the page.
    +
    lacing_packet
    +
    Lacing value for current packet segment.
    +
    lacing_returned
    +
    Number of lacing values returned from lacing_storage.
    +
    header
    +
    Temporary storage for page header during encode process, while the header is being created.
    +
    header_fill
    +
    Fill marker for header storage allocation. Used during the header creation process.
    +
    e_o_s
    +
    Marker set when the last packet of the logical bitstream has been buffered.
    +
    b_o_s
    +
    Marker set after we have written the first page in the logical bitstream.
    +
    serialno
    +
    Serial number of this logical bitstream.
    +
    pageno
    +
    Number of the current page within the stream.
    +
    packetno
    +
    Number of the current packet.
    +
    granulepos
    +
    Exact position of decoding/encoding process.
    +
    + + +

    +
    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + diff --git a/doc/ogg/ogg_sync_buffer.html b/doc/ogg/ogg_sync_buffer.html new file mode 100644 index 0000000..998b3ea --- /dev/null +++ b/doc/ogg/ogg_sync_buffer.html @@ -0,0 +1,67 @@ + + + +libogg - function - ogg_sync_buffer + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_sync_buffer

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to provide a properly-sized buffer for writing. +

    Buffer space which has already been returned is cleared, and the buffer is extended as necessary by the size plus some additional bytes. Within the current implementation, an extra 4096 bytes are allocated, but applications should not rely on this additional buffer space. +

    The buffer exposed by this function is empty internal storage from the ogg_sync_state struct, beginning at the fill mark within the struct. +

    A pointer to this buffer is returned to be used by the calling application. + +

    + + + + +
    +
    
    +char *ogg_sync_buffer(ogg_sync_state *oy, long size);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct.
    +
    size
    +
    Size of the desired buffer. The actual size of the buffer returned will be this size plus some extra bytes (currently 4096). +
    + + +

    Return Values

    +
    +
  • +Returns a pointer to the newly allocated buffer.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_sync_clear.html b/doc/ogg/ogg_sync_clear.html new file mode 100644 index 0000000..cad7ed2 --- /dev/null +++ b/doc/ogg/ogg_sync_clear.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_sync_clear + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_sync_clear

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to free the internal storage of an ogg_sync_state struct and resets the struct to the initial state. To free the entire struct, ogg_sync_destroy should be used instead. In situations where the struct needs to be reset but the internal storage does not need to be freed, ogg_sync_reset should be used. + +

    + + + + +
    +
    
    +int ogg_sync_clear(ogg_sync_state *oy);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_sync_destroy.html b/doc/ogg/ogg_sync_destroy.html new file mode 100644 index 0000000..7d22d38 --- /dev/null +++ b/doc/ogg/ogg_sync_destroy.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_sync_destroy + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_sync_destroy

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to destroy an ogg_sync_state struct and free all memory used. + +

    + + + + +
    +
    
    +int ogg_sync_destroy(ogg_sync_state *oy);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_sync_init.html b/doc/ogg/ogg_sync_init.html new file mode 100644 index 0000000..6bd030c --- /dev/null +++ b/doc/ogg/ogg_sync_init.html @@ -0,0 +1,63 @@ + + + +libogg - function - ogg_sync_init + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_sync_init

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to initialize an ogg_sync_state struct to a known initial value in preparation for manipulation of an Ogg bitstream. +

    The ogg_sync struct is important when decoding, as it synchronizes retrieval and return of data. + +

    + + + + +
    +
    
    +int ogg_sync_init(ogg_sync_state *oy);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct. After this function call, this struct has been initialized.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_sync_pageout.html b/doc/ogg/ogg_sync_pageout.html new file mode 100644 index 0000000..381f560 --- /dev/null +++ b/doc/ogg/ogg_sync_pageout.html @@ -0,0 +1,79 @@ + + + +libogg - function - ogg_sync_pageout + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_sync_pageout

    + +

    declared in "ogg/ogg.h";

    + +

    This function takes the data stored in the buffer of the ogg_sync_state struct and inserts them into an ogg_page. + +

    In an actual decoding loop, this function should be called first to ensure that the buffer is cleared. The example code below illustrates a clean reading loop which will fill and output pages. +

    Caution:This function should be called before reading into the buffer to ensure that data does not remain in the ogg_sync_state struct. Failing to do so may result in a memory leak. See the example code below for details. + +

    + + + + +
    +
    
    +int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct. Normally, the internal storage of this struct should be filled with newly read data and verified using ogg_sync_wrote.
    +
    og
    +
    Pointer to page struct filled by this function. +
    + + +

    Return Values

    +
    +
  • -1 if we were not properly synced and had to skip some bytes.
  • +
  • +0 if we need more data to verify a page.
  • +
  • +1 if we have a page.
  • +
    +

    + +

    Example Usage

    +
    +if (ogg_sync_pageout(&oy, &og) != 1) {
    +	buffer = ogg_sync_buffer(&oy, 8192);
    +	bytes = fread(buffer, 1, 8192, stdin);
    +	ogg_sync_wrote(&oy, bytes);
    +}
    +
    + +

    +
    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_sync_pageseek.html b/doc/ogg/ogg_sync_pageseek.html new file mode 100644 index 0000000..17e4518 --- /dev/null +++ b/doc/ogg/ogg_sync_pageseek.html @@ -0,0 +1,68 @@ + + + +libogg - function - ogg_sync_pageseek + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_sync_pageseek

    + +

    declared in "ogg/ogg.h";

    + +

    This function synchronizes the ogg_sync_state struct to the next ogg_page. +

    This is useful when seeking within a bitstream. ogg_sync_pageseek will synchronize to the next page in the bitstream and return information about how many bytes we advanced or skipped in order to do so. + +

    + + + + +
    +
    
    +int ogg_sync_pageseek(ogg_sync_state *oy, ogg_page *og);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct.
    +
    og
    +
    Pointer to a page (or an incomplete page) of data. This is the page we are attempting to sync. +
    + + +

    Return Values

    +
    +
  • -n means that we skipped n bytes within the bitstream.
  • +
  • +0 means that the page isn't ready and we need more data. No bytes have been skipped.
  • +
  • +n means that the page was synced at the current location, with a page length of n bytes. +
  • +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_sync_reset.html b/doc/ogg/ogg_sync_reset.html new file mode 100644 index 0000000..0f2cb47 --- /dev/null +++ b/doc/ogg/ogg_sync_reset.html @@ -0,0 +1,63 @@ + + + +libogg - function - ogg_sync_reset + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_sync_reset

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to reset the internal counters of the ogg_sync_state struct to initial values. +

    It is a good idea to call this before seeking within a bitstream. + +

    + + + + +
    +
    
    +int ogg_sync_reset(ogg_sync_state *oy);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/ogg_sync_state.html b/doc/ogg/ogg_sync_state.html new file mode 100644 index 0000000..a109d56 --- /dev/null +++ b/doc/ogg/ogg_sync_state.html @@ -0,0 +1,67 @@ + + + +libogg - datatype - ogg_sync_state + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_sync_state

    + +

    declared in "ogg/ogg.h"

    + +

    +The ogg_sync_state struct tracks the synchronization of the current page. +

    It is used during decoding to track the status of data as it is read in and +

    + + + + + +
    +
    
    +typedef struct {
    +  unsigned char *data;
    +  int storage;
    +  int fill;
    +  int returned;
    +
    +  int unsynced;
    +  int headerbytes;
    +  int bodybytes;
    +} ogg_sync_state;
    +
    +
    + +

    Relevant Struct Members

    +
    +
    data
    +
    Pointer to data from packet bodies.
    +
    storage
    +
    Pointer to data from packet bodies.
    +
    + + +

    +
    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + diff --git a/doc/ogg/ogg_sync_wrote.html b/doc/ogg/ogg_sync_wrote.html new file mode 100644 index 0000000..a7df0d4 --- /dev/null +++ b/doc/ogg/ogg_sync_wrote.html @@ -0,0 +1,63 @@ + + + +libogg - function - ogg_sync_wrote + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    ogg_sync_wrote

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to tell the ogg_sync_state struct how many bytes we wrote into the buffer. + +

    + + + + +
    +
    
    +int ogg_sync_destroy(ogg_sync_state *oy);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct.
    +
    + + +

    Return Values

    +
    +
  • -1 if the number of bytes written overflows the internal storage of the ogg_sync_state struct. +
  • +0 in all other cases.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_adv.html b/doc/ogg/oggpack_adv.html new file mode 100644 index 0000000..273672f --- /dev/null +++ b/doc/ogg/oggpack_adv.html @@ -0,0 +1,65 @@ + + + +libogg - function - oggpack_adv + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_adv

    + +

    declared in "ogg/ogg.h";

    + +

    This function advances the location pointer by the specified number of bits without reading any data. +

    To also check for overflow while advancing, use oggpack_adv_huff instead. + +

    + + + + +
    +
    
    +void  oggpack_adv(oggpack_buffer *b,int bits);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to the current oggpack_buffer.
    +
    bits
    +
    Number of bits to advance.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_adv1.html b/doc/ogg/oggpack_adv1.html new file mode 100644 index 0000000..c730827 --- /dev/null +++ b/doc/ogg/oggpack_adv1.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_adv1 + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_adv1

    + +

    declared in "ogg/ogg.h";

    + +

    This function advances the location pointer by one bit without reading any data. + +

    + + + + +
    +
    
    +void  oggpack_adv1(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to the current oggpack_buffer.
    +
    + + +

    Return Values

    +
    +
  • No values are returned. +
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_adv_huff.html b/doc/ogg/oggpack_adv_huff.html new file mode 100644 index 0000000..361d127 --- /dev/null +++ b/doc/ogg/oggpack_adv_huff.html @@ -0,0 +1,67 @@ + + + +libogg - function - oggpack_adv_huff + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_adv_huff

    + +

    declared in "ogg/ogg.h";

    + +

    This function advances the location pointer by the specified number of bits without reading any data. +

    This also checks for buffer overflow. + +

    + + + + +
    +
    
    +int oggpack_adv_huff(oggpack_buffer *b,int bits);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to the current oggpack_buffer.
    +
    bits
    +
    Number of bits to advance.
    +
    + + +

    Return Values

    +
    +
  • +-1 on buffer overflow.
  • +
  • +0 in all other cases.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_bits.html b/doc/ogg/oggpack_bits.html new file mode 100644 index 0000000..df48261 --- /dev/null +++ b/doc/ogg/oggpack_bits.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_bits + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_bits

    + +

    declared in "ogg/ogg.h";

    + +

    This function returns the total number of bits currently in the oggpack_buffer's internal buffer. + +

    + + + + +
    +
    
    +long oggpack_bits(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    oggpack_buffer struct to be .
    +
    + + +

    Return Values

    +
    +
  • +n is the total number of bits within the current buffer.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_buffer.html b/doc/ogg/oggpack_buffer.html new file mode 100644 index 0000000..2bb952b --- /dev/null +++ b/doc/ogg/oggpack_buffer.html @@ -0,0 +1,66 @@ + + + +libogg - datatype - oggpack_buffer + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_buffer

    + +

    declared in "ogg/ogg.h"

    + +

    +The oggpack_buffer struct is used with libogg's bitpacking functions. You should never need to directly access anything in this structure. +

    + + + + + +
    +
    
    +typedef struct {
    +  long endbyte;
    +  int  endbit;
    +
    +  unsigned char *buffer;
    +  unsigned char *ptr;
    +  long storage;
    +} oggpack_buffer;
    +
    +
    + +

    Relevant Struct Members

    +
    +
    buffer
    +
    Pointer to data being manipulated.
    +
    ptr
    +
    Location pointer to mark which data has been read.
    +
    storage
    +
    Size of buffer. +
    + + +

    +
    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + diff --git a/doc/ogg/oggpack_bytes.html b/doc/ogg/oggpack_bytes.html new file mode 100644 index 0000000..d7cafcc --- /dev/null +++ b/doc/ogg/oggpack_bytes.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_bytes + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_bytes

    + +

    declared in "ogg/ogg.h";

    + +

    This function returns the total number of bytes currently in the oggpack_buffer's internal buffer. +

    The return value is the number of complete bytes in the buffer. There may be extra (<8) bits. +

    + + + + +
    +
    
    +long oggpack_bytes(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    oggpack_buffer struct to be .
    +
    + + +

    Return Values

    +
    +
  • +n is the total number of bytes within the current buffer.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_get_buffer.html b/doc/ogg/oggpack_get_buffer.html new file mode 100644 index 0000000..ae08619 --- /dev/null +++ b/doc/ogg/oggpack_get_buffer.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_get_buffer + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_get_buffer

    + +

    declared in "ogg/ogg.h";

    + +

    This function returns a pointer to the data buffer within the given oggpack_buffer struct. + +

    + + + + +
    +
    
    +unsigned char *oggpack_get_buffer(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to the current oggpack_buffer.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_look.html b/doc/ogg/oggpack_look.html new file mode 100644 index 0000000..b31f4e0 --- /dev/null +++ b/doc/ogg/oggpack_look.html @@ -0,0 +1,67 @@ + + + +libogg - function - oggpack_look + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_look

    + +

    declared in "ogg/ogg.h";

    + +

    This function looks at a specified number of bits inside the buffer without advancing the location pointer. +

    The specified number of bits are read, starting from the location pointer. +

    This function can be used to read 32 or fewer bits. +

    oggpack_look_huff() can be used instead to read 8 or fewer bits. + +

    + + + + +
    +
    
    +long  oggpack_look(oggpack_buffer *b,int bits);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to oggpack_buffer to be read.
    +
    bits
    +
    Number of bits to look at. For this function, must be 32 or fewer.
    +
    + + +

    Return Values

    +
    +
  • +n represents the requested bits.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_look1.html b/doc/ogg/oggpack_look1.html new file mode 100644 index 0000000..72e4bfc --- /dev/null +++ b/doc/ogg/oggpack_look1.html @@ -0,0 +1,63 @@ + + + +libogg - function - oggpack_look1 + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_look1

    + +

    declared in "ogg/ogg.h";

    + +

    This function looks at the next bit without advancing the location pointer. +

    The next bit is read starting from the location pointer. + +

    + + + + +
    +
    
    +long  oggpack_look1(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to an oggpack_buffer struct containing our buffer.
    +
    + + +

    Return Values

    +
    +
  • +n represents the value of the next bit after the location pointer.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_look_huff.html b/doc/ogg/oggpack_look_huff.html new file mode 100644 index 0000000..faca0ea --- /dev/null +++ b/doc/ogg/oggpack_look_huff.html @@ -0,0 +1,68 @@ + + + +libogg - function - oggpack_look_huff + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_look_huff

    + +

    declared in "ogg/ogg.h";

    + +

    This function looks at a specified number of bits inside the buffer without advancing the location pointer. +

    The specified number of bits are read, starting from the location pointer. +

    This function can be used to look at 8 or fewer bits. +

    To look at more bits, oggpack_look can be used instead to read 32 or fewer bits. + + +

    + + + + +
    +
    
    +long  oggpack_look_huff(oggpack_buffer *b,int bits);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to oggpack_buffer to be read.
    +
    bits
    +
    Number of bits to look at. For this function, must be 8 or fewer.
    +
    + + +

    Return Values

    +
    +
  • +n represents the requested bits.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_read.html b/doc/ogg/oggpack_read.html new file mode 100644 index 0000000..11bd6a4 --- /dev/null +++ b/doc/ogg/oggpack_read.html @@ -0,0 +1,65 @@ + + + +libogg - function - oggpack_read + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_read

    + +

    declared in "ogg/ogg.h";

    + +

    This function reads the requested number of bits from the buffer and advances the location pointer. +

    Before reading, the buffer should be initialized using oggpack_readinit. + +

    + + + + +
    +
    
    +long oggpack_read(oggpack_buffer *b,int bits);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to an oggpack_buffer struct containing buffered data to be read.
    +
    bits
    +
    Number of bits to read.
    +
    + + +

    Return Values

    +
    +
  • +n represents the requested bits.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_read1.html b/doc/ogg/oggpack_read1.html new file mode 100644 index 0000000..1f1058e --- /dev/null +++ b/doc/ogg/oggpack_read1.html @@ -0,0 +1,63 @@ + + + +libogg - function - oggpack_read1 + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_read1

    + +

    declared in "ogg/ogg.h";

    + +

    This function reads one bit from the oggpack_buffer data buffer and advances the location pointer. +

    Before reading, the buffer should be initialized using oggpack_readinit. + +

    + + + + +
    +
    
    +long  oggpack_read1(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to an oggpack_buffer struct containing buffered data to be read.
    +
    + + +

    Return Values

    +
    +
  • +n is the bit read by this function.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_readinit.html b/doc/ogg/oggpack_readinit.html new file mode 100644 index 0000000..d8eb527 --- /dev/null +++ b/doc/ogg/oggpack_readinit.html @@ -0,0 +1,64 @@ + + + +libogg - function - oggpack_readinit + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_readinit

    + +

    declared in "ogg/ogg.h";

    + +

    This function takes an ordinary buffer and prepares an oggpack_buffer for reading using the Ogg bitpacking functions. + +

    + + + + +
    +
    
    +void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to oggpack_buffer to be initialized with some extra markers to ease bit navigation and manipulation.
    +
    buf
    +
    Original data buffer, to be inserted into the oggpack_buffer so that it can be read using bitpacking functions. +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_reset.html b/doc/ogg/oggpack_reset.html new file mode 100644 index 0000000..ab04f62 --- /dev/null +++ b/doc/ogg/oggpack_reset.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_reset + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_reset

    + +

    declared in "ogg/ogg.h";

    + +

    This function resets the contents of an oggpack_buffer to their original state but does not free the memory used. + +

    + + + + +
    +
    
    +void  oggpack_reset(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    oggpack_buffer to be reset.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_write.html b/doc/ogg/oggpack_write.html new file mode 100644 index 0000000..b484b1f --- /dev/null +++ b/doc/ogg/oggpack_write.html @@ -0,0 +1,68 @@ + + + +libogg - function - oggpack_write + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_write

    + +

    declared in "ogg/ogg.h";

    + +

    This function writes bits into an oggpack_buffer. +

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit. +

    Only 32 bits can be written at a time. + +

    + + + + +
    +
    
    +void  oggpack_write(oggpack_buffer *b,unsigned long value,int bits);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Buffer to be used for writing.
    +
    value
    +
    The data to be written into the buffer. This must be 32 bits or fewer.
    +
    bits
    +
    The number of bits being written into the buffer.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_writeclear.html b/doc/ogg/oggpack_writeclear.html new file mode 100644 index 0000000..6596808 --- /dev/null +++ b/doc/ogg/oggpack_writeclear.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_reset + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_writeclear

    + +

    declared in "ogg/ogg.h";

    + +

    This function clears the buffer after writing and frees the memory used by the oggpack_buffer. + +

    + + + + +
    +
    
    +void oggpack_writeclear(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Our oggpack_buffer. This is an ordinary data buffer with some extra markers to ease bit navigation and manipulation.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/oggpack_writeinit.html b/doc/ogg/oggpack_writeinit.html new file mode 100644 index 0000000..4c6742e --- /dev/null +++ b/doc/ogg/oggpack_writeinit.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_writeinit + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    oggpack_writeinit

    + +

    declared in "ogg/ogg.h";

    + +

    This function initializes an oggpack_buffer for writing using the Ogg bitpacking functions. + +

    + + + + +
    +
    
    +void  oggpack_writeinit(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Buffer to be used for writing. This is an ordinary data buffer with some extra markers to ease bit navigation and manipulation.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + + diff --git a/doc/ogg/overview.html b/doc/ogg/overview.html new file mode 100644 index 0000000..841e099 --- /dev/null +++ b/doc/ogg/overview.html @@ -0,0 +1,44 @@ + + + +libogg - API Overview + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    Libogg API Overview

    + +

    +The libogg API consists of the following functional categories: +

    +

    + +

    +
    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + diff --git a/doc/ogg/reference.html b/doc/ogg/reference.html new file mode 100644 index 0000000..0d3639d --- /dev/null +++ b/doc/ogg/reference.html @@ -0,0 +1,88 @@ + + + +Libogg API Reference + + + + + + + + + +

    libogg documentation

    libogg version 1.25 - 20000615

    + +

    Libogg API Reference

    + +

    +Data Structures
    +oggpack_buffer
    +ogg_page
    +ogg_stream_state
    +ogg_packet
    +ogg_sync_state
    +
    +Bitpacking
    +oggpack_writeinit()
    +oggpack_reset()
    +oggpack_writeclear()
    +oggpack_readinit()
    +oggpack_write()
    +oggpack_look()
    +oggpack_look_huff()
    +oggpack_look1()
    +oggpack_adv()
    +oggpack_adv_huff()
    +oggpack_adv1()
    +oggpack_read()
    +oggpack_read1()
    +oggpack_bytes()
    +oggpack_bits()
    +oggpack_get_buffer()
    +
    +Decoding-Related
    +ogg_sync_init()
    +ogg_sync_clear()
    +ogg_sync_destroy()
    +ogg_sync_reset()
    +ogg_sync_buffer()
    +ogg_sync_wrote()
    +ogg_sync_pageseek()
    +ogg_sync_pageout()
    +ogg_stream_pagein()
    +ogg_stream_packetout()
    +
    +Encoding-Related
    +ogg_stream_packetin()
    +ogg_stream_pageout()
    +ogg_stream_flush()
    +
    +General
    +ogg_stream_init()
    +ogg_stream_clear()
    +ogg_stream_reset()
    +ogg_stream_destroy()
    +ogg_stream_eof()
    +ogg_page_version()
    +ogg_page_continued()
    +ogg_page_bos()
    +ogg_page_eos()
    +ogg_page_granulepos()
    +ogg_page_serialno()
    +ogg_page_pageno()
    +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@vorbis.org

    libogg documentation

    libogg version 1.25 - 20000615

    + + + + diff --git a/doc/ogg/style.css b/doc/ogg/style.css new file mode 100644 index 0000000..332f809 --- /dev/null +++ b/doc/ogg/style.css @@ -0,0 +1,7 @@ +BODY { font-family: helvetica, sans-serif } +TD { font-family: helvetica, sans-serif } +P { font-family: helvetica, sans-serif } +H1 { font-family: helvetica, sans-serif } +H2 { font-family: helvetica, sans-serif } +H4 { font-family: helvetica, sans-serif } +P.tiny { font-size: 8pt } diff --git a/doc/ogg/vorbis_comment.html b/doc/ogg/vorbis_comment.html new file mode 100644 index 0000000..53f5b74 --- /dev/null +++ b/doc/ogg/vorbis_comment.html @@ -0,0 +1,67 @@ + + + +vorbisfile - datatype - vorbis_comment + + + + + + + + + +

    vorbisfile documentation

    vorbisfile version 1.25 - 20000615

    + +

    vorbis_comment

    + +

    declared in "vorbis/codec.h"

    + +

    +The vorbis_comment structure defines an Ogg Vorbis comment. +

    +Only the fields the program needs must be defined. If a field isn't +defined by the application, it will either be blank (if it's a string value) +or set to some reasonable default (usually 0). +

    + + + + + +
    +
    typedef struct vorbis_comment{
    +  /* unlimited user comment fields. */
    +  char **user_comments;
    +  int    comments;
    +  char  *vendor;
    +
    +} vorbis_comment;
    +
    + +

    Parameters

    +
    +
    user_comments
    +
    Unlimited user comment array. Comments stored in normal C 0-terminated strings.
    +
    comments
    +
    Int signifying number of user comments in user_comments field.
    +
    vendor
    +
    Information about the creator of the file. Stored in a standard C 0-terminated string.
    +
    + + +

    +
    + + + + + + + + +

    copyright © 2000 vorbis team

    Ogg Vorbis
    team@vorbis.org

    vorbisfile documentation

    vorbisfile version 1.25 - 20000615

    + + + + diff --git a/doc/ogg/vorbis_info.html b/doc/ogg/vorbis_info.html new file mode 100644 index 0000000..13f0aaf --- /dev/null +++ b/doc/ogg/vorbis_info.html @@ -0,0 +1,102 @@ + + + +libvorbis - datatype - vorbis_info + + + + + + + + + +

    libvorbis documentation

    libvorbis version 1.25 - 20000615

    + +

    vorbis_info

    + +

    declared in "vorbis/codec.h"

    + +

    +The vorbis_info structure contains information about a vorbis bitstream. Most of the information in this struct is more complex and in-depth than we need for vorbisfile decoding. However, the info's there if we need or want it. + +

    + + + + + +
    +
    typedef struct vorbis_info{
    +  int version;
    +  int channels;
    +  long rate;
    +  
    +  long bitrate_upper;
    +  long bitrate_nominal;
    +  long bitrate_lower;
    +
    +  long blocksizes[2];
    +
    +  int        modes;
    +  int        maps;
    +  int        times;
    +  int        floors;
    +  int        residues;
    +  int        books;
    +  int        psys;     /* encode only */
    +
    +  vorbis_info_mode    *mode_param[64];
    +  int                  map_type[64];
    +  vorbis_info_mapping *map_param[64];
    +  int                  time_type[64];
    +  vorbis_info_time    *time_param[64];
    +  int                  floor_type[64];
    +  vorbis_info_floor   *floor_param[64];
    +  int                  residue_type[64];
    +  vorbis_info_residue *residue_param[64];
    +  static_codebook     *book_param[256];
    +  vorbis_info_psy     *psy_param[64]; /* encode only */
    +  
    +  /* for block long/sort tuning; encode only */
    +  int        envelopesa;
    +  double     preecho_thresh;
    +  double     preecho_clamp;
    +
    +} vorbis_info;
    +
    + +

    Relevant Struct Members

    +
    +
    version
    +
    Vorbis encoder version used to create this bitstream.
    +
    channels
    +
    Int signifying number of channels in bitstream.
    +
    rate
    +
    Sampling rate of the bitstream.
    +
    bitrate_upper
    +
    Specifies the upper limit in a VBR bitstream. If the value matches the bitrate_nominal and bitrate_lower parameters, the stream is fixed bitrate. May be unset if no limit exists.
    +
    bitrate_nominal
    +
    Specifies the average bitrate for a VBR bitstream. May be unset. If the bitrate_upper and bitrate_lower parameters match, the stream is fixed bitrate.
    +
    bitrate_lower
    +
    Specifies the lower limit in a VBR bitstream. If the value matches the bitrate_nominal and bitrate_upper parameters, the stream is fixed bitrate. May be unset if no limit exists.
    +
    blocksizes[2]
    +
    Contains the sizes of the long and short blocks for this particular bitstream. These are variable and can be set by the encoder. Vorbis only supports two sizes, long and short.
    +
    + + +

    +
    + + + + + + + + +

    copyright © 2000 vorbis team

    Ogg Vorbis
    team@vorbis.org

    vorbisfile documentation

    vorbisfile version 1.25 - 20000615

    + + + + -- cgit v1.2.3 From 027e2b31d30edfba493628d022abc64be852c34e Mon Sep 17 00:00:00 2001 From: Jack Moffitt Date: Mon, 26 Feb 2001 04:22:22 +0000 Subject: update build system for new docs svn path=/trunk/ogg/; revision=1336 --- doc/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index fc3c413..4a224c0 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -2,6 +2,8 @@ AUTOMAKE_OPTIONS = foreign +SUBDIRS = ogg + docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) doc_DATA = index.html framing.html oggstream.html white-xifish.png stream.png white-ogg.png -- cgit v1.2.3 From 58eaaed2204e52c13a1b03b59a1782e48fc96674 Mon Sep 17 00:00:00 2001 From: Jack Moffitt Date: Mon, 26 Feb 2001 04:22:40 +0000 Subject: forgot this in the last commit svn path=/trunk/ogg/; revision=1337 --- doc/ogg/Makefile.am | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 doc/ogg/Makefile.am (limited to 'doc') diff --git a/doc/ogg/Makefile.am b/doc/ogg/Makefile.am new file mode 100644 index 0000000..1e52f6c --- /dev/null +++ b/doc/ogg/Makefile.am @@ -0,0 +1,27 @@ +## Process this file with automake to produce Makefile.in + +AUTOMAKE_OPTIONS = foreign + +docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/ogg + +doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ + general.html index.html ogg_packet.html ogg_page.html\ + ogg_page_bos.html ogg_page_continued.html ogg_page_eos.html\ + ogg_page_granulepos.html ogg_page_pageno.html ogg_page_serialno.html\ + ogg_page_version.html ogg_stream_clear.html ogg_stream_destroy.html\ + ogg_stream_eof.html ogg_stream_eos.html ogg_stream_flush.html\ + ogg_stream_init.html ogg_stream_packetin.html ogg_stream_packetout.html\ + ogg_stream_pagein.html ogg_stream_pageout.html ogg_stream_reset.html\ + ogg_stream_state.html ogg_sync_buffer.html ogg_sync_clear.html\ + ogg_sync_destroy.html ogg_sync_init.html ogg_sync_pageout.html\ + ogg_sync_pageseek.html ogg_sync_reset.html ogg_sync_state.html\ + ogg_sync_wrote.html oggpack_adv.html oggpack_adv1.html\ + oggpack_adv_huff.html oggpack_bits.html oggpack_buffer.html\ + oggpack_bytes.html oggpack_get_buffer.html oggpack_look.html\ + oggpack_look1.html oggpack_look_huff.html oggpack_read.html\ + oggpack_read1.html oggpack_readinit.html oggpack_reset.html\ + oggpack_write.html oggpack_writeclear.html oggpack_writeinit.html\ + overview.html reference.html style.css vorbis_comment.html\ + vorbis_info.html + +EXTRA_DIST = $(doc_DATA) -- cgit v1.2.3 From df0892e2af3bbb8f7d6729d6ad789adf67d04bb2 Mon Sep 17 00:00:00 2001 From: Jack Moffitt Date: Mon, 26 Feb 2001 04:23:30 +0000 Subject: updated cvsignores svn path=/trunk/ogg/; revision=1338 --- doc/ogg/.cvsignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 doc/ogg/.cvsignore (limited to 'doc') diff --git a/doc/ogg/.cvsignore b/doc/ogg/.cvsignore new file mode 100644 index 0000000..282522d --- /dev/null +++ b/doc/ogg/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in -- cgit v1.2.3 From c0519bed066646927c9a5cbb6d9e55417f683abf Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Mon, 28 May 2001 05:30:19 +0000 Subject: added documentation for the ogg_stream_packetpeek() function plus small cleanups svn path=/trunk/ogg/; revision=1465 --- doc/ogg/decoding.html | 47 +++++++++++---------- doc/ogg/ogg_stream_packetout.html | 24 ++++++----- doc/ogg/ogg_stream_packetpeek.html | 85 ++++++++++++++++++++++++++++++++++++++ doc/ogg/reference.html | 1 + 4 files changed, 125 insertions(+), 32 deletions(-) create mode 100644 doc/ogg/ogg_stream_packetpeek.html (limited to 'doc') diff --git a/doc/ogg/decoding.html b/doc/ogg/decoding.html index 38f1449..4a876b3 100644 --- a/doc/ogg/decoding.html +++ b/doc/ogg/decoding.html @@ -17,20 +17,20 @@

    Libogg contains a set of functions used in the decoding process.

    All the libogg specific functions are declared in "ogg/ogg.h". -

    +

    Decoding is based around the ogg synchronization layer. The ogg_sync_state struct coordinates between incoming data and the decoder. We read data into the synchronization layer, submit the data to the stream, and output raw packets to the decoder.

    Decoding through the Ogg layer follows a specific logical sequence. A read loop follows these logical steps: -

      -
    • Expose a buffer using ogg_sync_buffer(). -
    • Read data into the buffer, using fread() or a similar function. -
    • Call ogg_sync_wrote() to tell the synchronization layer how many bytes you wrote into the buffer. -
    • Write out the data using ogg_sync_pageout. -
    • Submit the completed page to the streaming layer with ogg_stream_pagein. + -

      In practice, streams are more complex, and Ogg also must handle headers, incomplete or dropped pages, and other errors in input. -

      - +

    +

    In practice, streams are more complex, and Ogg also must handle headers, incomplete or dropped pages, and other errors in input. +

    + @@ -39,43 +39,48 @@ All the libogg specific functions are declared in "ogg/ogg.h". - + + - + - + - + - + - + - + - + - + + + + +
    function
    ogg_sync_init Initializes an Ogg bitstream.
    ogg_sync_clear Clears the status information from the synchronization struct. -
    ogg_sync_reset Resets the synchronization status to initial values.
    ogg_sync_destroy Frees the synchronization struct.
    ogg_sync_buffer Exposes a buffer from the synchronization layer in order to read data.
    ogg_sync_wrote Tells the synchronization layer how many bytes were written into the buffer.
    ogg_sync_pageseek Finds the borders of pages and resynchronizes the stream.
    ogg_sync_pageout Outputs a page from the synchronization layer.
    ogg_stream_pagein Submits a complete page to the stream layer.
    ogg_stream_packetout Outputs a packet to the codec-specific decoding engine.
    ogg_stream_packetpeekProvides access to the next packet in the bitstream without +advancing decoding.


    diff --git a/doc/ogg/ogg_stream_packetout.html b/doc/ogg/ogg_stream_packetout.html index 9c59356..bd127fd 100644 --- a/doc/ogg/ogg_stream_packetout.html +++ b/doc/ogg/ogg_stream_packetout.html @@ -17,15 +17,15 @@

    declared in "ogg/ogg.h";

    -

    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. -

    In a typical decoding situation, this should be used after calling to submit a page of data to the bitstream. +

    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.

    +

    In a typical decoding situation, this should be used after calling ogg_stream_pagein() to submit a page of data to the bitstream.



    @@ -34,22 +34,25 @@ int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);

    Parameters

    os
    -
    Pointer to a previously declared ogg_stream_state struct. Before this function is called, an ogg_page should be submitted to the stream using ogg_stream_pagein.
    -
    op
    -
    Pointer to the packet that will be submitted to the decoding layer after this function is called. +
    Pointer to a previously declared ogg_stream_state struct. Before this function is called, an ogg_page should be submitted to the stream using ogg_stream_pagein().
    +
    op
    +
    Pointer to the packet that will be submitted to the decoding layer after this function is called.

    Return Values

    -
  • -1 if we are out of sync and there is a gap in the data. Usually this will not be a fatal error. -
  • -1 in all other cases.
  • +
      +
    • -1 if we are out of sync and there is a gap in the data. Usually this will not be a fatal error.
    • +
    • 1 in all other cases.
    • +
    -



    +


    +
    
    -int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
    +int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
     
    @@ -60,7 +63,6 @@ int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);

    copyright © 2000 xiph.org

    - diff --git a/doc/ogg/ogg_stream_packetpeek.html b/doc/ogg/ogg_stream_packetpeek.html new file mode 100644 index 0000000..892977b --- /dev/null +++ b/doc/ogg/ogg_stream_packetpeek.html @@ -0,0 +1,85 @@ + + + +libogg - function - ogg_stream_packetpeek + + + + + + + + + +

    libogg documentation

    libogg version 1.26 - 20010527

    + +

    ogg_stream_packetout

    + +

    declared in "ogg/ogg.h";

    + +

    This function attempts to assemble a raw data packet and returns +it without advancing decoding.

    + +

    In a typical situation, this would be called +speculatively after ogg_stream_pagein() to check +the packet contents before handing it off to a codec for +decompression. To advance page decoding and remove +the packet from the sync structure, call +ogg_stream_packetout().

    + +

    + + + + + +
    +
    
    +int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to a previously declared +ogg_stream_state struct. Before this +function is called, an ogg_page should be +submitted to the stream using +ogg_stream_pagein().
    +
    op
    +
    Pointer to the next packet available in the bitstream, if +any. A NULL value may be passed in the case of a simple "is there a +packet?" check.
    +
    + + +

    Return Values

    +
    +
      +
    • -1 if there's no packet available due to lost sync or a hole +in the data.
    • +
    • 1 if a packet is available.
    • +
    +
    + + +

    + +
    + + + + + + + + + +

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.26 - 20010527

    + + + + + diff --git a/doc/ogg/reference.html b/doc/ogg/reference.html index 0d3639d..fecb075 100644 --- a/doc/ogg/reference.html +++ b/doc/ogg/reference.html @@ -52,6 +52,7 @@ ogg_sync_pageout()
    ogg_stream_pagein()
    ogg_stream_packetout()
    +ogg_stream_packetpeek()

    Encoding-Related
    ogg_stream_packetin()
    -- cgit v1.2.3 From 2ab9374c45d91613e8fa246033572281729ac6af Mon Sep 17 00:00:00 2001 From: Stan Seibert Date: Sun, 5 Aug 2001 20:54:23 +0000 Subject: Removing incorrectly checked-in binary files. (Will check in correct files in a second.) svn path=/trunk/ogg/; revision=1686 --- doc/stream.png | Bin 2327 -> 0 bytes doc/white-ogg.png | Bin 1181 -> 0 bytes doc/white-xifish.png | Bin 965 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/stream.png delete mode 100644 doc/white-ogg.png delete mode 100644 doc/white-xifish.png (limited to 'doc') diff --git a/doc/stream.png b/doc/stream.png deleted file mode 100644 index 6e9dca8..0000000 Binary files a/doc/stream.png and /dev/null differ diff --git a/doc/white-ogg.png b/doc/white-ogg.png deleted file mode 100644 index 45dc0ac..0000000 Binary files a/doc/white-ogg.png and /dev/null differ diff --git a/doc/white-xifish.png b/doc/white-xifish.png deleted file mode 100644 index ab25cc8..0000000 Binary files a/doc/white-xifish.png and /dev/null differ -- cgit v1.2.3 From b8caacedeb0ea85429b618af776ae8b916421c9b Mon Sep 17 00:00:00 2001 From: Stan Seibert Date: Sun, 5 Aug 2001 20:55:22 +0000 Subject: Adding files with -kb flag so they checkout correctly on Windows boxen. svn path=/trunk/ogg/; revision=1687 --- doc/stream.png | Bin 0 -> 2327 bytes doc/white-ogg.png | Bin 0 -> 1181 bytes doc/white-xifish.png | Bin 0 -> 965 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/stream.png create mode 100644 doc/white-ogg.png create mode 100644 doc/white-xifish.png (limited to 'doc') diff --git a/doc/stream.png b/doc/stream.png new file mode 100644 index 0000000..6e9dca8 Binary files /dev/null and b/doc/stream.png differ diff --git a/doc/white-ogg.png b/doc/white-ogg.png new file mode 100644 index 0000000..45dc0ac Binary files /dev/null and b/doc/white-ogg.png differ diff --git a/doc/white-xifish.png b/doc/white-xifish.png new file mode 100644 index 0000000..ab25cc8 Binary files /dev/null and b/doc/white-xifish.png differ -- cgit v1.2.3 From da636af32b49b42c9586d1a2a46a275dcbdcaec5 Mon Sep 17 00:00:00 2001 From: Stan Seibert Date: Fri, 31 Aug 2001 21:22:47 +0000 Subject: Fixed dead link. svn path=/trunk/ogg/; revision=1945 --- doc/ogg/ogg_page.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/ogg/ogg_page.html b/doc/ogg/ogg_page.html index 88d1703..66e259d 100644 --- a/doc/ogg/ogg_page.html +++ b/doc/ogg/ogg_page.html @@ -22,7 +22,7 @@ The ogg_page struct encapsulates the data for an Ogg page.

    Ogg pages are of arbitrary length, with an approximate maximum size of 6kB. They are made up of packet segments of 255 bytes each. There can be as many as 255 packet segments per page.

    -

    For a complete description of ogg pages and headers, please refer to the framing document. +

    For a complete description of ogg pages and headers, please refer to the framing document. -- cgit v1.2.3 From bb9e0f58794d6e9d3b37c30dcb044310997e3d16 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Mon, 15 Oct 2001 09:12:41 +0000 Subject: fixed some very out of date info about the page and packet structures. svn path=/trunk/ogg/; revision=2144 --- doc/ogg/ogg_packet.html | 49 +++++++++++++++++++++++-------------------------- doc/ogg/ogg_page.html | 47 ++++++++++++++++++++++++++--------------------- 2 files changed, 49 insertions(+), 47 deletions(-) (limited to 'doc') diff --git a/doc/ogg/ogg_packet.html b/doc/ogg/ogg_packet.html index 1cbfae1..c9324ef 100644 --- a/doc/ogg/ogg_packet.html +++ b/doc/ogg/ogg_packet.html @@ -9,7 +9,7 @@
    - +

    libogg documentation

    libogg version 1.25 - 20000615

    libogg - 20011015

    @@ -18,27 +18,24 @@

    declared in "ogg/ogg.h"

    -The ogg_packet struct encapsulates the data for a single raw packet of data. +The ogg_packet struct encapsulates the data for a single raw packet of data +and is used to transfer data between the ogg framing layer and the handling codec.

    @@ -47,17 +44,17 @@ typedef struct {

    Relevant Struct Members

    packet
    -
    Pointer to data in form of a packet.
    +
    Pointer to the packet's data. This is treated as an opaque type by the ogg layer.
    bytes
    -
    Indicates size in bytes of the data within this page. Pages can be of arbitrary size.
    +
    Indicates the size of the packet data in bytes. Packets can be of arbitrary size.
    b_o_s
    -
    Flag indicating whether this page is at the beginning of a bitstream. 1 indicates beginning page, 0 indicates any other position in the stream.
    +
    Flag indicating whether this packet begins a logical bitstream. 1 indicates this is the first packet, 0 indicates any other position in the stream.
    e_o_s
    -
    Flag indicating whether this page is at the end of a bitstream. 1 indicates ending page, 0 indicates any other position in the stream.
    -
    frameno
    -
    Sequential number indicating precise position within stream.
    +
    Flag indicating whether this packet ends a bitstream. 1 indicates the last packet, 0 indicates any other position in the stream.
    +
    granulepos
    +
    Sequential number indicating the position of this packet in the decoded data. This is the last sample, frame or other unit of information ('granule') that can be completely decoded from this packet.
    packetno
    -
    Sequential number of this packet. Used within the decoder for internal ordering.
    +
    Sequential number of this packet in the ogg bitstream.
    @@ -65,11 +62,11 @@ typedef struct {
    -
    
    -typedef struct {
    -  unsigned char *packet;
    -  long  bytes;
    -  long  b_o_s;
    -  long  e_o_s;
    -
    -  ogg_int64_t  frameno;
    -  ogg_int64_t  packetno;       /* sequence number for decode; the framing
    -                             knows where there's a hole in the data,
    -                             but we need coupling so that the codec
    -                             (which is in a seperate abstraction
    -                             layer) also knows about the gap */
    -
    -} ogg_packet;
    +
    
    +typedef struct {
    +  unsigned char *packet;
    +  long  bytes;
    +  long  b_o_s;
    +  long  e_o_s;
    +
    +  ogg_int64_t  granulepos;
    +  ogg_int64_t  packetno; 
    +
    +} ogg_packet;
     
    - + - +

    copyright © 2000 xiph.org

    copyright © 2001 xiph.org foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    libogg - 20011015

    diff --git a/doc/ogg/ogg_page.html b/doc/ogg/ogg_page.html index 66e259d..8fdccc2 100644 --- a/doc/ogg/ogg_page.html +++ b/doc/ogg/ogg_page.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg version 1.25 - 20000615

    libogg - 200011015

    @@ -18,22 +18,27 @@

    declared in "ogg/ogg.h"

    -The ogg_page struct encapsulates the data for an Ogg page. -

    -Ogg pages are of arbitrary length, with an approximate maximum size of 6kB. They are made up of packet segments of 255 bytes each. There can be as many as 255 packet segments per page. -

    +The ogg_page struct encapsulates the data for an Ogg page. +

    +Ogg pages are the fundamental unit of framing and interleave in an ogg bitstream. +They are made up of packet segments of 255 bytes each. There can be as many as +255 packet segments per page, for a maximum page size of a little under 64 kB. +This is not a practical limitation as the segments can be joined across +page boundaries allowing packets of arbitrary size. In practice pages are +usually around 4 kB. +

    For a complete description of ogg pages and headers, please refer to the framing document. @@ -42,13 +47,13 @@ typedef struct {

    Relevant Struct Members

    header
    -
    Pointer to the page header for this page. The exact contents of this header are defined in the framing spec document.
    -
    header_len
    -
    Length in bytes of the page header. -
    body
    -
    Pointer to the data for this page.
    -
    body_len
    -
    Length in bytes of the body.
    +
    Pointer to the page header for this page. The exact contents of this header are defined in the framing spec document.
    +
    header_len
    +
    Length of the page header in bytes. +
    body
    +
    Pointer to the data for this page.
    +
    body_len
    +
    Length of the body data in bytes.
    @@ -56,11 +61,11 @@ typedef struct {
    -
    
    -typedef struct {
    -  unsigned char *header;
    -  long header_len;
    -  unsigned char *body;
    -  long body_len;
    -} ogg_page;
    +
    
    +typedef struct {
    +  unsigned char *header;
    +  long           header_len;
    +  unsigned char *body;
    +  long           body_len;
    +} ogg_page;
     
    - + - +

    copyright © 2000 xiph.org

    copyright © 2001 xiph.org foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    libogg version - 20011015

    -- cgit v1.2.3 From 5e59264c0ab95cf0879966838cb2eabe0e05478f Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Mon, 15 Oct 2001 09:27:31 +0000 Subject: Michael pointed out the granulepos entries aren't really 'sequential'. svn path=/trunk/ogg/; revision=2145 --- doc/ogg/ogg_packet.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/ogg/ogg_packet.html b/doc/ogg/ogg_packet.html index c9324ef..0dab54e 100644 --- a/doc/ogg/ogg_packet.html +++ b/doc/ogg/ogg_packet.html @@ -52,7 +52,7 @@ typedef struct {

    e_o_s
    Flag indicating whether this packet ends a bitstream. 1 indicates the last packet, 0 indicates any other position in the stream.
    granulepos
    -
    Sequential number indicating the position of this packet in the decoded data. This is the last sample, frame or other unit of information ('granule') that can be completely decoded from this packet.
    +
    A number indicating the position of this packet in the decoded data. This is the last sample, frame or other unit of information ('granule') that can be completely decoded from this packet.
    packetno
    Sequential number of this packet in the ogg bitstream.
    -- cgit v1.2.3 From 5b4c74a368d8cc75d3a7ca450800942d5ddee2b4 Mon Sep 17 00:00:00 2001 From: Monty Date: Sat, 24 Nov 2001 06:55:22 +0000 Subject: Documentation correction pointed out by Time Janik svn path=/trunk/ogg/; revision=2403 --- doc/ogg/ogg_page_bos.html | 2 +- doc/ogg/ogg_page_eos.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/ogg/ogg_page_bos.html b/doc/ogg/ogg_page_bos.html index dcfbb33..767b505 100644 --- a/doc/ogg/ogg_page_bos.html +++ b/doc/ogg/ogg_page_bos.html @@ -41,7 +41,7 @@ int ogg_page_bos(ogg_page *og);

    Return Values

  • -1 if this page is the beginning of a bitstream.
  • +greater than 0 if this page is the beginning of a bitstream.
  • 0 if this page is from any other location in the stream.
  • diff --git a/doc/ogg/ogg_page_eos.html b/doc/ogg/ogg_page_eos.html index 729386d..10cf0de 100644 --- a/doc/ogg/ogg_page_eos.html +++ b/doc/ogg/ogg_page_eos.html @@ -41,7 +41,7 @@ int ogg_page_eos(ogg_page *og);

    Return Values

  • -1 if this page contains the end of a bitstream.
  • +greater than zero if this page contains the end of a bitstream.
  • 0 if this page is from any other location in the stream.
  • -- cgit v1.2.3 From 5f8e1e6678d5e21b5ea3c830f10a2c92850c77c6 Mon Sep 17 00:00:00 2001 From: Jack Moffitt Date: Wed, 19 Dec 2001 00:47:18 +0000 Subject: Documentations updates for RC3 release. svn path=/trunk/ogg/; revision=2821 --- doc/ogg/Makefile.am | 4 +-- doc/ogg/general.html | 14 +++++++- doc/ogg/ogg_page_packets.html | 75 +++++++++++++++++++++++++++++++++++++++++++ doc/ogg/ogg_stream_eof.html | 62 ----------------------------------- doc/ogg/reference.html | 10 +++--- 5 files changed, 96 insertions(+), 69 deletions(-) create mode 100644 doc/ogg/ogg_page_packets.html delete mode 100644 doc/ogg/ogg_stream_eof.html (limited to 'doc') diff --git a/doc/ogg/Makefile.am b/doc/ogg/Makefile.am index 1e52f6c..e27e33a 100644 --- a/doc/ogg/Makefile.am +++ b/doc/ogg/Makefile.am @@ -9,7 +9,7 @@ doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ ogg_page_bos.html ogg_page_continued.html ogg_page_eos.html\ ogg_page_granulepos.html ogg_page_pageno.html ogg_page_serialno.html\ ogg_page_version.html ogg_stream_clear.html ogg_stream_destroy.html\ - ogg_stream_eof.html ogg_stream_eos.html ogg_stream_flush.html\ + ogg_page_packets.html ogg_stream_eos.html ogg_stream_flush.html\ ogg_stream_init.html ogg_stream_packetin.html ogg_stream_packetout.html\ ogg_stream_pagein.html ogg_stream_pageout.html ogg_stream_reset.html\ ogg_stream_state.html ogg_sync_buffer.html ogg_sync_clear.html\ @@ -22,6 +22,6 @@ doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ oggpack_read1.html oggpack_readinit.html oggpack_reset.html\ oggpack_write.html oggpack_writeclear.html oggpack_writeinit.html\ overview.html reference.html style.css vorbis_comment.html\ - vorbis_info.html + vorbis_info.html ogg_packet_clear.html ogg_page_checksum_set.html EXTRA_DIST = $(doc_DATA) diff --git a/doc/ogg/general.html b/doc/ogg/general.html index 6c26bab..48ff51b 100644 --- a/doc/ogg/general.html +++ b/doc/ogg/general.html @@ -53,7 +53,11 @@ All the libogg specific functions are declared in "ogg/ogg.h". ogg_page_continued Indicates if the current page contains a continued packet from the last page. - + + +ogg_page_packets + Indicates the number of packets contained in a page. + ogg_page_bos Indicates if the current page is the beginning of the stream. @@ -74,6 +78,14 @@ All the libogg specific functions are declared in "ogg/ogg.h". ogg_page_pageno Returns the sequential page number for this page. + +ogg_packet_clear + Clears the ogg_packet structure. + + +ogg_page_checksum_set + Checksums an ogg_page. +

    diff --git a/doc/ogg/ogg_page_packets.html b/doc/ogg/ogg_page_packets.html new file mode 100644 index 0000000..bc4f04f --- /dev/null +++ b/doc/ogg/ogg_page_packets.html @@ -0,0 +1,75 @@ + + + +libogg - function - ogg_page_packets + + + + + + + + + +

    libogg documentation

    libogg - 20011218

    + +

    ogg_page_packets

    + +

    declared in "ogg/ogg.h";

    + +

    Returns the number of packets that are completed on this page. If the +leading packet is begun on a previous page, but ends on this page, it's +counted. +

    +

    + + + + +
    +
    
    +int ogg_page_packets(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +If a page consists of a packet begun on a previous page, and a new packet +begun (but not completed) on this page, the return will be:
    +
    +ogg_page_packets(page) will return 1,
    +ogg_page_continued(paged) will return non-zero.
    +

    +If a page happens to be a single packet that was begun on a previous page, and +spans to the next page (in the case of a three or more page packet), the +return will be:
    +
    +ogg_page_packets(page) will return 0,
    +ogg_page_continued(page) will return non-zero.
    +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg - 20011218

    + + + + + diff --git a/doc/ogg/ogg_stream_eof.html b/doc/ogg/ogg_stream_eof.html deleted file mode 100644 index 20fc389..0000000 --- a/doc/ogg/ogg_stream_eof.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - ogg_stream_destroy - - - - - - - - - -

    libogg documentation

    libogg version 1.25 - 20000615

    - -

    ogg_stream_eof

    - -

    declared in "ogg/ogg.h";

    - -

    This function indicates whether we have reached the end of the stream or not. -

    - - - - -
    -
    
    -int ogg_stream_eof(ogg_stream_state *os);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the current ogg_stream_state struct.
    -
    - - -

    Return Values

    -
    -
  • 1 if we are at the end of the stream.
  • -
  • -0 if we have not yet reached the end of the stream.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.25 - 20000615

    - - - - - diff --git a/doc/ogg/reference.html b/doc/ogg/reference.html index fecb075..d3decc8 100644 --- a/doc/ogg/reference.html +++ b/doc/ogg/reference.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg version 1.25 - 20000615

    libogg - 20011218

    @@ -64,23 +64,25 @@ ogg_stream_clear()
    ogg_stream_reset()
    ogg_stream_destroy()
    -ogg_stream_eof()
    ogg_page_version()
    ogg_page_continued()
    +ogg_page_packets()
    ogg_page_bos()
    ogg_page_eos()
    ogg_page_granulepos()
    ogg_page_serialno()
    ogg_page_pageno()
    +ogg_packet_clear()
    +ogg_page_checksum_set()



    - + - +

    copyright © 2000 xiph.org

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@vorbis.org

    libogg documentation

    libogg version 1.25 - 20000615

    libogg - 20011218

    -- cgit v1.2.3 From 98c131eed15103ac3a6a1952e6b9ecde060e884d Mon Sep 17 00:00:00 2001 From: Jack Moffitt Date: Wed, 19 Dec 2001 01:25:01 +0000 Subject: Shame on me for forgetting these. svn path=/trunk/ogg/; revision=2831 --- doc/ogg/ogg_packet_clear.html | 62 ++++++++++++++++++++++++++++++++++++++ doc/ogg/ogg_page_checksum_set.html | 62 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 doc/ogg/ogg_packet_clear.html create mode 100644 doc/ogg/ogg_page_checksum_set.html (limited to 'doc') diff --git a/doc/ogg/ogg_packet_clear.html b/doc/ogg/ogg_packet_clear.html new file mode 100644 index 0000000..5e0bdf3 --- /dev/null +++ b/doc/ogg/ogg_packet_clear.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_packet_clear + + + + + + + + + +

    libogg documentation

    libogg - 20011218

    + +

    ogg_packet_clear

    + +

    declared in "ogg/ogg.h";

    + +

    This function clears the memory used by the ogg_packet struct, and frees the internal allocated memory, but does not free +the structure itself. +

    + + + + +
    +
    
    +int ogg_packet_clear(ogg_packet *op);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the ogg_packet struct to be cleared.
    +
    + + +

    Return Values

    +
    +
  • +None.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg - 20011218

    + + + + + diff --git a/doc/ogg/ogg_page_checksum_set.html b/doc/ogg/ogg_page_checksum_set.html new file mode 100644 index 0000000..72780d0 --- /dev/null +++ b/doc/ogg/ogg_page_checksum_set.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_page_checksum_set + + + + + + + + + +

    libogg documentation

    libogg - 20011218

    + +

    ogg_page_checksum_set

    + +

    declared in "ogg/ogg.h";

    + +

    Checksums an ogg_page. +

    +

    + + + + +
    +
    
    +int ogg_page_checksum_set(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to an ogg_page struct.
    +
    + + +

    Return Values

    +
    +None. +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg - 20011218

    + + + + + -- cgit v1.2.3 From 08dbd66e649fc8c130bc12575b857113e9dde921 Mon Sep 17 00:00:00 2001 From: Segher Boessenkool Date: Thu, 20 Dec 2001 00:58:45 +0000 Subject: lots of extremely minor fixes svn path=/trunk/ogg/; revision=2867 --- doc/ogg/bitpacking.html | 30 +++++------ doc/ogg/decoding.html | 4 +- doc/ogg/encoding.html | 28 +++++------ doc/ogg/general.html | 28 +++++------ doc/ogg/ogg_page_bos.html | 12 ++--- doc/ogg/ogg_page_continued.html | 10 ++-- doc/ogg/ogg_page_eos.html | 12 ++--- doc/ogg/ogg_page_granulepos.html | 12 ++--- doc/ogg/ogg_page_packets.html | 2 +- doc/ogg/ogg_page_pageno.html | 8 +-- doc/ogg/ogg_page_serialno.html | 8 +-- doc/ogg/ogg_page_version.html | 6 +-- doc/ogg/ogg_stream_destroy.html | 2 +- doc/ogg/ogg_stream_eos.html | 2 +- doc/ogg/ogg_stream_flush.html | 10 ++-- doc/ogg/ogg_stream_init.html | 4 +- doc/ogg/ogg_stream_packetin.html | 10 ++-- doc/ogg/ogg_stream_pagein.html | 10 ++-- doc/ogg/ogg_stream_pageout.html | 10 ++-- doc/ogg/ogg_stream_state.html | 104 +++++++++++++++++++-------------------- doc/ogg/ogg_sync_buffer.html | 12 ++--- doc/ogg/ogg_sync_init.html | 2 +- doc/ogg/ogg_sync_pageout.html | 36 +++++++------- doc/ogg/ogg_sync_pageseek.html | 12 ++--- doc/ogg/ogg_sync_reset.html | 2 +- doc/ogg/ogg_sync_state.html | 28 +++++------ doc/ogg/ogg_sync_wrote.html | 2 +- doc/ogg/oggpack_adv.html | 6 +-- doc/ogg/oggpack_adv1.html | 2 +- doc/ogg/oggpack_adv_huff.html | 8 +-- doc/ogg/oggpack_bits.html | 2 +- doc/ogg/oggpack_buffer.html | 26 +++++----- doc/ogg/oggpack_bytes.html | 2 +- doc/ogg/oggpack_get_buffer.html | 2 +- doc/ogg/oggpack_look.html | 10 ++-- doc/ogg/oggpack_look1.html | 4 +- doc/ogg/oggpack_look_huff.html | 12 ++--- doc/ogg/oggpack_read.html | 6 +-- doc/ogg/oggpack_read1.html | 4 +- doc/ogg/oggpack_readinit.html | 6 +-- doc/ogg/oggpack_reset.html | 2 +- doc/ogg/oggpack_write.html | 14 +++--- doc/ogg/oggpack_writeclear.html | 2 +- doc/ogg/oggpack_writeinit.html | 2 +- doc/ogg/style.css | 12 ++--- 45 files changed, 264 insertions(+), 264 deletions(-) (limited to 'doc') diff --git a/doc/ogg/bitpacking.html b/doc/ogg/bitpacking.html index 90fc608..cc5ec3c 100644 --- a/doc/ogg/bitpacking.html +++ b/doc/ogg/bitpacking.html @@ -27,63 +27,63 @@ All the libogg specific functions are declared in "ogg/ogg.h". oggpack_writeinit Initializes a buffer for writing using this bitpacking library. - + oggpack_reset Clears and resets the buffer to the initial position. - + oggpack_writeclear Frees the memory used by the buffer. - + oggpack_readinit Initializes a buffer for reading using this bitpacking library. - + oggpack_write Writes bytes to the specified location within the buffer. - + oggpack_look Look at a specified number of bits, <=32, without advancing the location pointer. - + oggpack_look_huff Look at a specified number of bits, <=8, without advancing the location pointer. - + oggpack_look1 Looks at one bit without advancing the location pointer. - + oggpack_adv Advances the location pointer by a specified number of bits. - + oggpack_adv_huff Advances the location pointer by a specified number of bits, and checks for buffer overflow. - + oggpack_adv1 Advances the location pointer by one bit. - + oggpack_read Reads a specified number of bits from the buffer. - + oggpack_read1 Reads one bit from the buffer. - + oggpack_bytes Returns the total number of bytes contained within the buffer. - + oggpack_bits Returns the total number of bits contained within the buffer. - + oggpack_get_buffer Returns a pointer to the buffer encapsulated within the oggpack_buffer struct. diff --git a/doc/ogg/decoding.html b/doc/ogg/decoding.html index 4a876b3..a6c8b54 100644 --- a/doc/ogg/decoding.html +++ b/doc/ogg/decoding.html @@ -14,12 +14,12 @@

    Decoding

    -

    Libogg contains a set of functions used in the decoding process. +

    Libogg contains a set of functions used in the decoding process.

    All the libogg specific functions are declared in "ogg/ogg.h".

    Decoding is based around the ogg synchronization layer. The ogg_sync_state struct coordinates between incoming data and the decoder. We read data into the synchronization layer, submit the data to the stream, and output raw packets to the decoder. -

    Decoding through the Ogg layer follows a specific logical sequence. A read loop follows these logical steps: +

    Decoding through the Ogg layer follows a specific logical sequence. A read loop follows these logical steps:

    • Expose a buffer using ogg_sync_buffer().
    • Read data into the buffer, using fread() or a similar function. diff --git a/doc/ogg/encoding.html b/doc/ogg/encoding.html index 79891c7..6956bf6 100644 --- a/doc/ogg/encoding.html +++ b/doc/ogg/encoding.html @@ -14,20 +14,20 @@

      Encoding

      -

      Libogg contains a set of functions used in the encoding process. +

      Libogg contains a set of functions used in the encoding process.

      All the libogg specific functions are declared in "ogg/ogg.h". -

      +

      When encoding, the encoding engine will output raw packets which must be placed into an Ogg bitstream. -

      Raw packets are inserted into the stream, and an ogg_page is output when enough packets have been written to create a full page. The pages output are pointers to buffered packet segments, and can then be written out and saved as an ogg stream. -

      There are a couple of basic steps: -

        -
      • Use the encoding engine to produce a raw packet of data. -
      • Call ogg_stream_packetin to submit a raw packet to the stream. +

        Raw packets are inserted into the stream, and an ogg_page is output when enough packets have been written to create a full page. The pages output are pointers to buffered packet segments, and can then be written out and saved as an ogg stream. +

        There are a couple of basic steps: +

          +
        • Use the encoding engine to produce a raw packet of data. +
        • Call ogg_stream_packetin to submit a raw packet to the stream.
        • Use ogg_stream_pageout to output a page, if enough data has been submitted. Otherwise, continue submitting data. -
        -

        - +
      +

      + @@ -36,15 +36,15 @@ All the libogg specific functions are declared in "ogg/ogg.h". - - + + + +
      function
      ogg_stream_packetin Submits a raw packet to the streaming layer, so that it can be formed into a page.
      ogg_stream_pageout Outputs a completed page if the stream contains enough packets to form a full page. -
      ogg_stream_flush Forces any remaining packets in the stream to be returned as a page of any size. -


      diff --git a/doc/ogg/general.html b/doc/ogg/general.html index 48ff51b..a0e4f81 100644 --- a/doc/ogg/general.html +++ b/doc/ogg/general.html @@ -14,11 +14,11 @@

      General Functions

      -

      Libogg contains several functions which are generally useful when using Ogg streaming, whether encoding or decoding. +

      Libogg contains several functions which are generally useful when using Ogg streaming, whether encoding or decoding.

      All the libogg specific functions are declared in "ogg/ogg.h". -

      -

      These functions can be used to manipulate some of the basic elements of Ogg - streams and pages. Streams and pages are important during both the encode and decode process. +

      +

      These functions can be used to manipulate some of the basic elements of Ogg - streams and pages. Streams and pages are important during both the encode and decode process.
      @@ -29,27 +29,27 @@ All the libogg specific functions are declared in "ogg/ogg.h". - + + - + - + - + - + @@ -61,23 +61,23 @@ All the libogg specific functions are declared in "ogg/ogg.h". - + - + - + - + - + diff --git a/doc/ogg/ogg_page_bos.html b/doc/ogg/ogg_page_bos.html index 767b505..8a95207 100644 --- a/doc/ogg/ogg_page_bos.html +++ b/doc/ogg/ogg_page_bos.html @@ -17,14 +17,14 @@

      declared in "ogg/ogg.h";

      -

      Indicates whether this page is at the beginning of the logical bitstream. -

      +

      Indicates whether this page is at the beginning of the logical bitstream. +



      ogg_stream_init Initializes an Ogg bitstream.
      ogg_stream_clear Clears the storage within the Ogg stream, but does not free the stream itself. -
      ogg_stream_reset Resets the stream status to its initial position.
      ogg_stream_destroy Frees the entire Ogg stream.
      ogg_stream_eos Indicates whether we are at the end of the stream.
      ogg_page_version Returns the version of ogg_page that this stream/page uses
      ogg_page_continued Indicates if the current page contains a continued packet from the last page.
      ogg_page_bos Indicates if the current page is the beginning of the stream.
      ogg_page_eos Indicates if the current page is the end of the stream.
      ogg_page_granulepos Returns the precise playback location of this page.
      ogg_page_serialno Returns the unique serial number of the logical bitstream associated with this page.
      ogg_page_pageno Returns the sequential page number for this page.
      ogg_packet_clear Clears the ogg_packet structure.
      @@ -39,10 +39,10 @@ int ogg_page_bos(ogg_page *og);

      Return Values

      -
      +
      +
    • +greater than 0 if this page is the beginning of a bitstream.
    • -greater than 0 if this page is the beginning of a bitstream.
    • -
    • 0 if this page is from any other location in the stream.
    • diff --git a/doc/ogg/ogg_page_continued.html b/doc/ogg/ogg_page_continued.html index 9bb8396..e6bb1e2 100644 --- a/doc/ogg/ogg_page_continued.html +++ b/doc/ogg/ogg_page_continued.html @@ -17,13 +17,13 @@

      declared in "ogg/ogg.h";

      -

      Indicates whether this page contains packet data which has been continued from the previous page. +

      Indicates whether this page contains packet data which has been continued from the previous page.

      
      -int ogg_page_bos(ogg_page *og);
      +int ogg_page_bos(ogg_page *og);
       
       
      @@ -38,10 +38,10 @@ int ogg_page_continued(ogg_page *og);

      Return Values

      -
      +
      +
    • +1 if this page contains packet data continued from the last page.
    • -1 if this page contains packet data continued from the last page.
    • -
    • 0 if this page does not contain continued data.
    • diff --git a/doc/ogg/ogg_page_eos.html b/doc/ogg/ogg_page_eos.html index 10cf0de..6a37983 100644 --- a/doc/ogg/ogg_page_eos.html +++ b/doc/ogg/ogg_page_eos.html @@ -17,14 +17,14 @@

      declared in "ogg/ogg.h";

      -

      Indicates whether this page is at the end of the logical bitstream. -

      +

      Indicates whether this page is at the end of the logical bitstream. +



      
      -int ogg_page_continued(ogg_page *og);
      +int ogg_page_continued(ogg_page *og);
       
       
      @@ -39,10 +39,10 @@ int ogg_page_eos(ogg_page *og);

      Return Values

      -
      +
      +
    • +greater than zero if this page contains the end of a bitstream.
    • -greater than zero if this page contains the end of a bitstream.
    • -
    • 0 if this page is from any other location in the stream.
    • diff --git a/doc/ogg/ogg_page_granulepos.html b/doc/ogg/ogg_page_granulepos.html index 1a44df6..dbf453f 100644 --- a/doc/ogg/ogg_page_granulepos.html +++ b/doc/ogg/ogg_page_granulepos.html @@ -17,16 +17,16 @@

      declared in "ogg/ogg.h";

      -

      Returns the exact granular position of the packet data contained at the end of this page. -

      This is useful for tracking location when seeking or decoding. -

      For example, in audio codecs this position is the pcm sample number and in video this is the frame number. -

      +

      Returns the exact granular position of the packet data contained at the end of this page. +

      This is useful for tracking location when seeking or decoding. +

      For example, in audio codecs this position is the pcm sample number and in video this is the frame number. +



      
      -int ogg_page_eos(ogg_page *og);
      +int ogg_page_eos(ogg_page *og);
       
       
      @@ -41,7 +41,7 @@ int ogg_page_granulepos(ogg_page *og);

      Return Values

      -
      +
    • n is the specific last granular position of the decoded data contained in the page.
    • diff --git a/doc/ogg/ogg_page_packets.html b/doc/ogg/ogg_page_packets.html index bc4f04f..e88724c 100644 --- a/doc/ogg/ogg_page_packets.html +++ b/doc/ogg/ogg_page_packets.html @@ -26,7 +26,7 @@ counted.
      diff --git a/doc/ogg/ogg_page_pageno.html b/doc/ogg/ogg_page_pageno.html index 2e1a16e..da6626b 100644 --- a/doc/ogg/ogg_page_pageno.html +++ b/doc/ogg/ogg_page_pageno.html @@ -17,14 +17,14 @@

      declared in "ogg/ogg.h";

      -

      Returns the sequential page number. -

      This is useful for ordering pages or determining when pages have been lost. +

      Returns the sequential page number. +

      This is useful for ordering pages or determining when pages have been lost.

      
      -int ogg_page_granulepos(ogg_page *og);
      +int ogg_page_granulepos(ogg_page *og);
       
       
      
      -int ogg_page_packets(ogg_page *og);
      +int ogg_page_packets(ogg_page *og);
       
       
      @@ -39,7 +39,7 @@ int ogg_page_pageno(ogg_page *og);

      Return Values

      -
      +
    • n is the page number for this page.
    • diff --git a/doc/ogg/ogg_page_serialno.html b/doc/ogg/ogg_page_serialno.html index f8edef0..9aa703f 100644 --- a/doc/ogg/ogg_page_serialno.html +++ b/doc/ogg/ogg_page_serialno.html @@ -17,14 +17,14 @@

      declared in "ogg/ogg.h";

      -

      Returns the unique serial number for the logical bitstream of this page. Each page contains the serial number for the logical bitstream that it belongs to. -

      +

      Returns the unique serial number for the logical bitstream of this page. Each page contains the serial number for the logical bitstream that it belongs to. +



      
      -int ogg_page_pageno(ogg_page *og);
      +int ogg_page_pageno(ogg_page *og);
       
       
      @@ -39,7 +39,7 @@ int ogg_page_serialno(ogg_page *og);

      Return Values

      -
      +
    • n is the serial number for this page.
    • diff --git a/doc/ogg/ogg_page_version.html b/doc/ogg/ogg_page_version.html index e27affc..141dbd9 100644 --- a/doc/ogg/ogg_page_version.html +++ b/doc/ogg/ogg_page_version.html @@ -17,14 +17,14 @@

      declared in "ogg/ogg.h";

      -

      This function returns the version of ogg_page used in this page. +

      This function returns the version of ogg_page used in this page.

      In current versions of libogg, all ogg_page structs have the same version, so 0 should always be returned.

      
      -int ogg_page_serialno(ogg_page *og);
      +int ogg_page_serialno(ogg_page *og);
       
       
      @@ -39,7 +39,7 @@ int ogg_page_version(ogg_page *og);

      Return Values

      -
      +
    • n is the version number. In the current version of Ogg, the version number is always 0. Nonzero return values indicate an error in page encoding.
    • diff --git a/doc/ogg/ogg_stream_destroy.html b/doc/ogg/ogg_stream_destroy.html index 18589b8..5d36ba7 100644 --- a/doc/ogg/ogg_stream_destroy.html +++ b/doc/ogg/ogg_stream_destroy.html @@ -17,7 +17,7 @@

      declared in "ogg/ogg.h";

      -

      This function frees the memory used by the ogg_stream_state struct. +

      This function frees the memory used by the ogg_stream_state struct.

      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.

      
      -int ogg_page_version(ogg_page *og);
      +int ogg_page_version(ogg_page *og);
       
       
      diff --git a/doc/ogg/ogg_stream_eos.html b/doc/ogg/ogg_stream_eos.html index 996a4e8..471524c 100644 --- a/doc/ogg/ogg_stream_eos.html +++ b/doc/ogg/ogg_stream_eos.html @@ -38,7 +38,7 @@ int ogg_stream_eos(ogg_stream_state *os);

      Return Values

      -
    • 1 if we are at the end of the stream.
    • +
    • 1 if we are at the end of the stream.
    • 0 if we have not yet reached the end of the stream.
    • diff --git a/doc/ogg/ogg_stream_flush.html b/doc/ogg/ogg_stream_flush.html index b192ccc..8e2a042 100644 --- a/doc/ogg/ogg_stream_flush.html +++ b/doc/ogg/ogg_stream_flush.html @@ -17,9 +17,9 @@

      declared in "ogg/ogg.h";

      -

      This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page. +

      This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page.

      This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout should always be used. -

      This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. +

      This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page.

      @@ -35,15 +35,15 @@ int ogg_stream_pageout(ogg_stream_state *os,

      Parameters

      os
      -
      Pointer to a previously declared ogg_stream_state struct, which represents the current logical bitstream.
      -
      og
      +
      Pointer to a previously declared ogg_stream_state struct, which represents the current logical bitstream.
      +
      og
      Pointer to a page of data. The remaining packets in the stream will be placed into this page, if any remain.

      Return Values

      -
    • 0 means that all packet data has already been flushed into pages, and there are no packets to put into the page.
    • +
    • 0 means that all packet data has already been flushed into pages, and there are no packets to put into the page.
    • Nonzero means that remaining packets have successfully been flushed into the page.
    • diff --git a/doc/ogg/ogg_stream_init.html b/doc/ogg/ogg_stream_init.html index bf40b6b..64f64e6 100644 --- a/doc/ogg/ogg_stream_init.html +++ b/doc/ogg/ogg_stream_init.html @@ -33,7 +33,7 @@ int ogg_stream_init(ogg_stream_state *os,int

      Parameters

      os
      -
      Pointer to the ogg_stream_state struct that we will be initializing.
      +
      Pointer to the ogg_stream_state struct that we will be initializing.
      serialno
      Serial number that we will attach to this stream.
      @@ -42,7 +42,7 @@ int ogg_stream_init(ogg_stream_state *os,int

      Return Values

    • -0 if successful
    • +0 if successful
    • -1 if unsuccessful. If this fails, the ogg_stream_state was not properly declared before calling this function.
    • diff --git a/doc/ogg/ogg_stream_packetin.html b/doc/ogg/ogg_stream_packetin.html index 55f5f65..d1655ff 100644 --- a/doc/ogg/ogg_stream_packetin.html +++ b/doc/ogg/ogg_stream_packetin.html @@ -17,7 +17,7 @@

      declared in "ogg/ogg.h";

      -

      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. +

      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.

      In a typical decoding situation, this should be used after filling a packet with data

      @@ -25,7 +25,7 @@

      @@ -34,14 +34,14 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);

      Parameters

      os
      -
      Pointer to a previously declared ogg_stream_state struct.
      -
      op
      +
      Pointer to a previously declared ogg_stream_state struct.
      +
      op
      Pointer to the packet we are putting into the bitstream.

      Return Values

      -
      +
    • 0 is always returned.
    • diff --git a/doc/ogg/ogg_stream_pagein.html b/doc/ogg/ogg_stream_pagein.html index 81ce5db..fc5f9f4 100644 --- a/doc/ogg/ogg_stream_pagein.html +++ b/doc/ogg/ogg_stream_pagein.html @@ -17,8 +17,8 @@

      declared in "ogg/ogg.h";

      -

      This function adds a complete page to the bitstream. -

      In a typical decoding situation, this function would be called after using ogg_sync_pageout to create a valid ogg_page struct. +

      This function adds a complete page to the bitstream. +

      In a typical decoding situation, this function would be called after using ogg_sync_pageout to create a valid ogg_page struct.

      Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer.

      @@ -35,15 +35,15 @@ int ogg_stream_pagein(ogg_stream_state *os,

      Parameters

      os
      -
      Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
      -
      og
      +
      Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
      +
      og
      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.

      Return Values

      -
    • -1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, or that the page version was incorrect.
    • +
    • -1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, or that the page version was incorrect.
    • 0 means that the page was successfully submitted to the bitstream.
    • diff --git a/doc/ogg/ogg_stream_pageout.html b/doc/ogg/ogg_stream_pageout.html index ec597f9..b2a0c04 100644 --- a/doc/ogg/ogg_stream_pageout.html +++ b/doc/ogg/ogg_stream_pageout.html @@ -17,8 +17,8 @@

      declared in "ogg/ogg.h";

      -

      This function forms packets into pages. If -

      In a typical encoding situation, this would be called after using ogg_stream_packetin to submit data packets to the bitstream. +

      This function forms packets into pages. If +

      In a typical encoding situation, this would be called after using ogg_stream_packetin to submit data packets to the bitstream.

      Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer.

      @@ -35,15 +35,15 @@ int ogg_stream_pageout(ogg_stream_state *os,

      Parameters

      os
      -
      Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
      -
      og
      +
      Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
      +
      og
      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.

      Return Values

      -
    • 0 means that there is not enough data yet to form a page.
    • +
    • 0 means that there is not enough data yet to form a page.
    • 0 means that the page was successfully submitted to the bitstream.
    • diff --git a/doc/ogg/ogg_stream_state.html b/doc/ogg/ogg_stream_state.html index 7a29daa..7f5686a 100644 --- a/doc/ogg/ogg_stream_state.html +++ b/doc/ogg/ogg_stream_state.html @@ -24,40 +24,40 @@ The ogg_stream_state struct tracks the current encode/decode state of the curren
      
      -int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
      +int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
       
      @@ -66,41 +66,41 @@ typedef struct {

      Relevant Struct Members

      body_data
      -
      Pointer to data from packet bodies.
      +
      Pointer to data from packet bodies.
      body_storage
      -
      Storage allocated for bodies in bytes (filled or unfilled).
      +
      Storage allocated for bodies in bytes (filled or unfilled).
      body_fill
      -
      Amount of storage filled with stored packet bodies.
      +
      Amount of storage filled with stored packet bodies.
      body_returned
      -
      Number of elements returned from storage.
      +
      Number of elements returned from storage.
      lacing_vals
      -
      String of lacing values for the packet segments within the current page. Each value is a byte, indicating packet segment length.
      +
      String of lacing values for the packet segments within the current page. Each value is a byte, indicating packet segment length.
      granule_vals
      -
      Pointer to the lacing values for the packet segments within the current page.
      +
      Pointer to the lacing values for the packet segments within the current page.
      lacing_storage
      -
      Total amount of storage (in bytes) allocated for storing lacing values.
      +
      Total amount of storage (in bytes) allocated for storing lacing values.
      lacing_fill
      -
      Fill marker for the current vs. total allocated storage of lacing values for the page.
      +
      Fill marker for the current vs. total allocated storage of lacing values for the page.
      lacing_packet
      -
      Lacing value for current packet segment.
      +
      Lacing value for current packet segment.
      lacing_returned
      -
      Number of lacing values returned from lacing_storage.
      +
      Number of lacing values returned from lacing_storage.
      header
      -
      Temporary storage for page header during encode process, while the header is being created.
      +
      Temporary storage for page header during encode process, while the header is being created.
      header_fill
      -
      Fill marker for header storage allocation. Used during the header creation process.
      +
      Fill marker for header storage allocation. Used during the header creation process.
      e_o_s
      -
      Marker set when the last packet of the logical bitstream has been buffered.
      +
      Marker set when the last packet of the logical bitstream has been buffered.
      b_o_s
      -
      Marker set after we have written the first page in the logical bitstream.
      +
      Marker set after we have written the first page in the logical bitstream.
      serialno
      -
      Serial number of this logical bitstream.
      +
      Serial number of this logical bitstream.
      pageno
      -
      Number of the current page within the stream.
      +
      Number of the current page within the stream.
      packetno
      -
      Number of the current packet.
      +
      Number of the current packet.
      granulepos
      -
      Exact position of decoding/encoding process.
      +
      Exact position of decoding/encoding process.
      diff --git a/doc/ogg/ogg_sync_buffer.html b/doc/ogg/ogg_sync_buffer.html index 998b3ea..9c64c08 100644 --- a/doc/ogg/ogg_sync_buffer.html +++ b/doc/ogg/ogg_sync_buffer.html @@ -17,9 +17,9 @@

      declared in "ogg/ogg.h";

      -

      This function is used to provide a properly-sized buffer for writing. -

      Buffer space which has already been returned is cleared, and the buffer is extended as necessary by the size plus some additional bytes. Within the current implementation, an extra 4096 bytes are allocated, but applications should not rely on this additional buffer space. -

      The buffer exposed by this function is empty internal storage from the ogg_sync_state struct, beginning at the fill mark within the struct. +

      This function is used to provide a properly-sized buffer for writing. +

      Buffer space which has already been returned is cleared, and the buffer is extended as necessary by the size plus some additional bytes. Within the current implementation, an extra 4096 bytes are allocated, but applications should not rely on this additional buffer space. +

      The buffer exposed by this function is empty internal storage from the ogg_sync_state struct, beginning at the fill mark within the struct.

      A pointer to this buffer is returned to be used by the calling application.

      @@ -27,7 +27,7 @@

      @@ -36,8 +36,8 @@ char *ogg_sync_buffer(ogg_sync_state *oy, long size);

      Parameters

      oy
      -
      Pointer to a previously declared ogg_sync_state struct.
      -
      size
      +
      Pointer to a previously declared ogg_sync_state struct.
      +
      size
      Size of the desired buffer. The actual size of the buffer returned will be this size plus some extra bytes (currently 4096).
      diff --git a/doc/ogg/ogg_sync_init.html b/doc/ogg/ogg_sync_init.html index 6bd030c..ec1e7d2 100644 --- a/doc/ogg/ogg_sync_init.html +++ b/doc/ogg/ogg_sync_init.html @@ -17,7 +17,7 @@

      declared in "ogg/ogg.h";

      -

      This function is used to initialize an ogg_sync_state struct to a known initial value in preparation for manipulation of an Ogg bitstream. +

      This function is used to initialize an ogg_sync_state struct to a known initial value in preparation for manipulation of an Ogg bitstream.

      The ogg_sync struct is important when decoding, as it synchronizes retrieval and return of data.

      diff --git a/doc/ogg/ogg_sync_pageout.html b/doc/ogg/ogg_sync_pageout.html index 381f560..ab3dec9 100644 --- a/doc/ogg/ogg_sync_pageout.html +++ b/doc/ogg/ogg_sync_pageout.html @@ -17,9 +17,9 @@

      declared in "ogg/ogg.h";

      -

      This function takes the data stored in the buffer of the ogg_sync_state struct and inserts them into an ogg_page. - -

      In an actual decoding loop, this function should be called first to ensure that the buffer is cleared. The example code below illustrates a clean reading loop which will fill and output pages. +

      This function takes the data stored in the buffer of the ogg_sync_state struct and inserts them into an ogg_page. + +

      In an actual decoding loop, this function should be called first to ensure that the buffer is cleared. The example code below illustrates a clean reading loop which will fill and output pages.

      Caution:This function should be called before reading into the buffer to ensure that data does not remain in the ogg_sync_state struct. Failing to do so may result in a memory leak. See the example code below for details.

      @@ -27,7 +27,7 @@

      @@ -36,29 +36,29 @@ int ogg_sync_pageout(ogg_sync_state *oy, Parameters
      oy
      -
      Pointer to a previously declared ogg_sync_state struct. Normally, the internal storage of this struct should be filled with newly read data and verified using ogg_sync_wrote.
      -
      og
      +
      Pointer to a previously declared ogg_sync_state struct. Normally, the internal storage of this struct should be filled with newly read data and verified using ogg_sync_wrote.
      +
      og
      Pointer to page struct filled by this function.

      Return Values

      -
    • -1 if we were not properly synced and had to skip some bytes.
    • +
    • -1 if we were not properly synced and had to skip some bytes.
    • +
    • +0 if we need more data to verify a page.
    • -0 if we need more data to verify a page.
    • -
    • 1 if we have a page.
    • -

      - -

      Example Usage

      -
      -if (ogg_sync_pageout(&oy, &og) != 1) {
      -	buffer = ogg_sync_buffer(&oy, 8192);
      -	bytes = fread(buffer, 1, 8192, stdin);
      -	ogg_sync_wrote(&oy, bytes);
      -}
      +

      + +

      Example Usage

      +
      +if (ogg_sync_pageout(&oy, &og) != 1) {
      +	buffer = ogg_sync_buffer(&oy, 8192);
      +	bytes = fread(buffer, 1, 8192, stdin);
      +	ogg_sync_wrote(&oy, bytes);
      +}
       


      diff --git a/doc/ogg/ogg_sync_pageseek.html b/doc/ogg/ogg_sync_pageseek.html index 17e4518..48e16dd 100644 --- a/doc/ogg/ogg_sync_pageseek.html +++ b/doc/ogg/ogg_sync_pageseek.html @@ -17,7 +17,7 @@

      declared in "ogg/ogg.h";

      -

      This function synchronizes the ogg_sync_state struct to the next ogg_page. +

      This function synchronizes the ogg_sync_state struct to the next ogg_page.

      This is useful when seeking within a bitstream. ogg_sync_pageseek will synchronize to the next page in the bitstream and return information about how many bytes we advanced or skipped in order to do so.

      @@ -34,18 +34,18 @@ int ogg_sync_pageseek(ogg_sync_state *oy, Parameters

      oy
      -
      Pointer to a previously declared ogg_sync_state struct.
      -
      og
      +
      Pointer to a previously declared ogg_sync_state struct.
      +
      og
      Pointer to a page (or an incomplete page) of data. This is the page we are attempting to sync.

      Return Values

      -
    • -n means that we skipped n bytes within the bitstream.
    • +
    • -n means that we skipped n bytes within the bitstream.
    • +
    • +0 means that the page isn't ready and we need more data. No bytes have been skipped.
    • -0 means that the page isn't ready and we need more data. No bytes have been skipped.
    • -
    • n means that the page was synced at the current location, with a page length of n bytes.
    • diff --git a/doc/ogg/ogg_sync_reset.html b/doc/ogg/ogg_sync_reset.html index 0f2cb47..4586dd0 100644 --- a/doc/ogg/ogg_sync_reset.html +++ b/doc/ogg/ogg_sync_reset.html @@ -17,7 +17,7 @@

      declared in "ogg/ogg.h";

      -

      This function is used to reset the internal counters of the ogg_sync_state struct to initial values. +

      This function is used to reset the internal counters of the ogg_sync_state struct to initial values.

      It is a good idea to call this before seeking within a bitstream.

      diff --git a/doc/ogg/ogg_sync_state.html b/doc/ogg/ogg_sync_state.html index a109d56..51f4395 100644 --- a/doc/ogg/ogg_sync_state.html +++ b/doc/ogg/ogg_sync_state.html @@ -18,24 +18,24 @@

      declared in "ogg/ogg.h"

      -The ogg_sync_state struct tracks the synchronization of the current page. +The ogg_sync_state struct tracks the synchronization of the current page.

      It is used during decoding to track the status of data as it is read in and

      -
      
      -typedef struct {
      -  unsigned char   *body_data;    /* bytes from packet bodies */
      -  long    body_storage;          /* storage elements allocated */
      -  long    body_fill;             /* elements stored; fill mark */
      -  long    body_returned;         /* elements of fill returned */
      -
      -
      -  int     *lacing_vals;    /* The values that will go to the segment table */
      -  ogg_int64_t *granule_vals;      /* granulepos values for headers. Not compact
      -                             this way, but it is simple coupled to the
      -                             lacing fifo */
      -  long    lacing_storage;
      -  long    lacing_fill;
      -  long    lacing_packet;
      -  long    lacing_returned;
      -
      -  unsigned char    header[282];      /* working space for header encode */
      -  int              header_fill;
      -
      -  int     e_o_s;          /* set when we have buffered the last packet in the
      -                             logical bitstream */
      -  int     b_o_s;          /* set after we've written the initial page
      -                             of a logical bitstream */
      -  long     serialno;
      -  int      pageno;
      -  ogg_int64_t  packetno;      /* sequence number for decode; the framing
      -                             knows where there's a hole in the data,
      -                             but we need coupling so that the codec
      -                             (which is in a seperate abstraction
      -                             layer) also knows about the gap */
      -  ogg_int64_t   granulepos;
      -
      -} ogg_stream_state;
      +
      
      +typedef struct {
      +  unsigned char   *body_data;    /* bytes from packet bodies */
      +  long    body_storage;          /* storage elements allocated */
      +  long    body_fill;             /* elements stored; fill mark */
      +  long    body_returned;         /* elements of fill returned */
      +
      +
      +  int     *lacing_vals;    /* The values that will go to the segment table */
      +  ogg_int64_t *granule_vals;      /* granulepos values for headers. Not compact
      +                             this way, but it is simple coupled to the
      +                             lacing fifo */
      +  long    lacing_storage;
      +  long    lacing_fill;
      +  long    lacing_packet;
      +  long    lacing_returned;
      +
      +  unsigned char    header[282];      /* working space for header encode */
      +  int              header_fill;
      +
      +  int     e_o_s;          /* set when we have buffered the last packet in the
      +                             logical bitstream */
      +  int     b_o_s;          /* set after we've written the initial page
      +                             of a logical bitstream */
      +  long     serialno;
      +  int      pageno;
      +  ogg_int64_t  packetno;      /* sequence number for decode; the framing
      +                             knows where there's a hole in the data,
      +                             but we need coupling so that the codec
      +                             (which is in a seperate abstraction
      +                             layer) also knows about the gap */
      +  ogg_int64_t   granulepos;
      +
      +} ogg_stream_state;
       
      
      -char *ogg_sync_buffer(ogg_sync_state *oy, long size);
      +char *ogg_sync_buffer(ogg_sync_state *oy, long size);
       
      
      -int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og);
      +int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og);
       
      @@ -44,9 +44,9 @@ typedef struct {

      Relevant Struct Members

      data
      -
      Pointer to data from packet bodies.
      +
      Pointer to data from packet bodies.
      storage
      -
      Pointer to data from packet bodies.
      +
      Pointer to data from packet bodies.
      diff --git a/doc/ogg/ogg_sync_wrote.html b/doc/ogg/ogg_sync_wrote.html index a7df0d4..b3316b9 100644 --- a/doc/ogg/ogg_sync_wrote.html +++ b/doc/ogg/ogg_sync_wrote.html @@ -39,7 +39,7 @@ int ogg_sync_destroy(ogg_sync_state *oy);

      Return Values

      -
    • -1 if the number of bytes written overflows the internal storage of the ogg_sync_state struct. +
    • -1 if the number of bytes written overflows the internal storage of the ogg_sync_state struct.
    • 0 in all other cases.
    • diff --git a/doc/ogg/oggpack_adv.html b/doc/ogg/oggpack_adv.html index 273672f..14ee8e2 100644 --- a/doc/ogg/oggpack_adv.html +++ b/doc/ogg/oggpack_adv.html @@ -17,7 +17,7 @@

      declared in "ogg/ogg.h";

      -

      This function advances the location pointer by the specified number of bits without reading any data. +

      This function advances the location pointer by the specified number of bits without reading any data.

      To also check for overflow while advancing, use oggpack_adv_huff instead.

      @@ -25,7 +25,7 @@

      @@ -34,7 +34,7 @@ void oggpack_adv(oggpack_buffer *b,int bits);

      Parameters

      b
      -
      Pointer to the current oggpack_buffer.
      +
      Pointer to the current oggpack_buffer.
      bits
      Number of bits to advance.
      diff --git a/doc/ogg/oggpack_adv1.html b/doc/ogg/oggpack_adv1.html index c730827..bb08974 100644 --- a/doc/ogg/oggpack_adv1.html +++ b/doc/ogg/oggpack_adv1.html @@ -24,7 +24,7 @@ diff --git a/doc/ogg/oggpack_adv_huff.html b/doc/ogg/oggpack_adv_huff.html index 361d127..8d6fc73 100644 --- a/doc/ogg/oggpack_adv_huff.html +++ b/doc/ogg/oggpack_adv_huff.html @@ -17,7 +17,7 @@

      declared in "ogg/ogg.h";

      -

      This function advances the location pointer by the specified number of bits without reading any data. +

      This function advances the location pointer by the specified number of bits without reading any data.

      This also checks for buffer overflow.

      @@ -25,7 +25,7 @@

      @@ -34,7 +34,7 @@ int oggpack_adv_huff(oggpack_buffer *b,int bits);

      Parameters

      b
      -
      Pointer to the current oggpack_buffer.
      +
      Pointer to the current oggpack_buffer.
      bits
      Number of bits to advance.
      @@ -43,7 +43,7 @@ int oggpack_adv_huff(oggpack_buffer *b,int bits);

      Return Values

    • --1 on buffer overflow.
    • +-1 on buffer overflow.
    • 0 in all other cases.
    • diff --git a/doc/ogg/oggpack_bits.html b/doc/ogg/oggpack_bits.html index df48261..39df420 100644 --- a/doc/ogg/oggpack_bits.html +++ b/doc/ogg/oggpack_bits.html @@ -24,7 +24,7 @@ diff --git a/doc/ogg/oggpack_buffer.html b/doc/ogg/oggpack_buffer.html index 2bb952b..dc6ef77 100644 --- a/doc/ogg/oggpack_buffer.html +++ b/doc/ogg/oggpack_buffer.html @@ -24,15 +24,15 @@ The oggpack_buffer struct is used with libogg's bitpacking functions. You shoul
      -
      
      -typedef struct {
      -  unsigned char *data;
      -  int storage;
      -  int fill;
      -  int returned;
      -
      -  int unsynced;
      -  int headerbytes;
      -  int bodybytes;
      -} ogg_sync_state;
      +
      
      +typedef struct {
      +  unsigned char *data;
      +  int storage;
      +  int fill;
      +  int returned;
      +
      +  int unsynced;
      +  int headerbytes;
      +  int bodybytes;
      +} ogg_sync_state;
       
      
      -void  oggpack_adv(oggpack_buffer *b,int bits);
      +void  oggpack_adv(oggpack_buffer *b,int bits);
       
      
      -void  oggpack_adv1(oggpack_buffer *b);
      +void  oggpack_adv1(oggpack_buffer *b);
       
      
      -int oggpack_adv_huff(oggpack_buffer *b,int bits);
      +int oggpack_adv_huff(oggpack_buffer *b,int bits);
       
      
      -long oggpack_bits(oggpack_buffer *b);
      +long oggpack_bits(oggpack_buffer *b);
       
      @@ -41,10 +41,10 @@ typedef struct {

      Relevant Struct Members

      buffer
      -
      Pointer to data being manipulated.
      -
      ptr
      -
      Location pointer to mark which data has been read.
      -
      storage
      +
      Pointer to data being manipulated.
      +
      ptr
      +
      Location pointer to mark which data has been read.
      +
      storage
      Size of buffer.
      diff --git a/doc/ogg/oggpack_bytes.html b/doc/ogg/oggpack_bytes.html index d7cafcc..769a94c 100644 --- a/doc/ogg/oggpack_bytes.html +++ b/doc/ogg/oggpack_bytes.html @@ -24,7 +24,7 @@ diff --git a/doc/ogg/oggpack_get_buffer.html b/doc/ogg/oggpack_get_buffer.html index ae08619..772a4e7 100644 --- a/doc/ogg/oggpack_get_buffer.html +++ b/doc/ogg/oggpack_get_buffer.html @@ -24,7 +24,7 @@ diff --git a/doc/ogg/oggpack_look.html b/doc/ogg/oggpack_look.html index b31f4e0..e0fae99 100644 --- a/doc/ogg/oggpack_look.html +++ b/doc/ogg/oggpack_look.html @@ -17,9 +17,9 @@

      declared in "ogg/ogg.h";

      -

      This function looks at a specified number of bits inside the buffer without advancing the location pointer. -

      The specified number of bits are read, starting from the location pointer. -

      This function can be used to read 32 or fewer bits. +

      This function looks at a specified number of bits inside the buffer without advancing the location pointer. +

      The specified number of bits are read, starting from the location pointer. +

      This function can be used to read 32 or fewer bits.

      oggpack_look_huff() can be used instead to read 8 or fewer bits.

      @@ -27,7 +27,7 @@

      @@ -36,7 +36,7 @@ long oggpack_look(oggpack_buffer *b,int bits)

      Parameters

      b
      -
      Pointer to oggpack_buffer to be read.
      +
      Pointer to oggpack_buffer to be read.
      bits
      Number of bits to look at. For this function, must be 32 or fewer.
      diff --git a/doc/ogg/oggpack_look1.html b/doc/ogg/oggpack_look1.html index 72e4bfc..618bb83 100644 --- a/doc/ogg/oggpack_look1.html +++ b/doc/ogg/oggpack_look1.html @@ -17,7 +17,7 @@

      declared in "ogg/ogg.h";

      -

      This function looks at the next bit without advancing the location pointer. +

      This function looks at the next bit without advancing the location pointer.

      The next bit is read starting from the location pointer.

      @@ -25,7 +25,7 @@

      diff --git a/doc/ogg/oggpack_look_huff.html b/doc/ogg/oggpack_look_huff.html index faca0ea..b885287 100644 --- a/doc/ogg/oggpack_look_huff.html +++ b/doc/ogg/oggpack_look_huff.html @@ -17,9 +17,9 @@

      declared in "ogg/ogg.h";

      -

      This function looks at a specified number of bits inside the buffer without advancing the location pointer. -

      The specified number of bits are read, starting from the location pointer. -

      This function can be used to look at 8 or fewer bits. +

      This function looks at a specified number of bits inside the buffer without advancing the location pointer. +

      The specified number of bits are read, starting from the location pointer. +

      This function can be used to look at 8 or fewer bits.

      To look at more bits, oggpack_look can be used instead to read 32 or fewer bits. @@ -28,16 +28,16 @@

      -
      
      -typedef struct {
      -  long endbyte;
      -  int  endbit;
      -
      -  unsigned char *buffer;
      -  unsigned char *ptr;
      -  long storage;
      -} oggpack_buffer;
      +
      
      +typedef struct {
      +  long endbyte;
      +  int  endbit;
      +
      +  unsigned char *buffer;
      +  unsigned char *ptr;
      +  long storage;
      +} oggpack_buffer;
       
      
      -long oggpack_bytes(oggpack_buffer *b);
      +long oggpack_bytes(oggpack_buffer *b);
       
      
      -unsigned char *oggpack_get_buffer(oggpack_buffer *b);
      +unsigned char *oggpack_get_buffer(oggpack_buffer *b);
       
      
      -long  oggpack_look(oggpack_buffer *b,int bits);
      +long  oggpack_look(oggpack_buffer *b,int bits);
       
      
      -long  oggpack_look1(oggpack_buffer *b);
      +long  oggpack_look1(oggpack_buffer *b);
       
      
      -long  oggpack_look_huff(oggpack_buffer *b,int bits);
      +long  oggpack_look_huff(oggpack_buffer *b,int bits);
       

      Parameters

      -
      +
      b
      -
      Pointer to oggpack_buffer to be read.
      +
      Pointer to oggpack_buffer to be read.
      bits
      Number of bits to look at. For this function, must be 8 or fewer.
      diff --git a/doc/ogg/oggpack_read.html b/doc/ogg/oggpack_read.html index 11bd6a4..dfde5a1 100644 --- a/doc/ogg/oggpack_read.html +++ b/doc/ogg/oggpack_read.html @@ -17,7 +17,7 @@

      declared in "ogg/ogg.h";

      -

      This function reads the requested number of bits from the buffer and advances the location pointer. +

      This function reads the requested number of bits from the buffer and advances the location pointer.

      Before reading, the buffer should be initialized using oggpack_readinit.

      @@ -25,7 +25,7 @@

      
      -long oggpack_read(oggpack_buffer *b,int bits);
      +long oggpack_read(oggpack_buffer *b,int bits);
       
      @@ -34,7 +34,7 @@ long oggpack_read(oggpack_buffer *b,int bits);

      Parameters

      b
      -
      Pointer to an oggpack_buffer struct containing buffered data to be read.
      +
      Pointer to an oggpack_buffer struct containing buffered data to be read.
      bits
      Number of bits to read.
      diff --git a/doc/ogg/oggpack_read1.html b/doc/ogg/oggpack_read1.html index 1f1058e..3c35177 100644 --- a/doc/ogg/oggpack_read1.html +++ b/doc/ogg/oggpack_read1.html @@ -17,7 +17,7 @@

      declared in "ogg/ogg.h";

      -

      This function reads one bit from the oggpack_buffer data buffer and advances the location pointer. +

      This function reads one bit from the oggpack_buffer data buffer and advances the location pointer.

      Before reading, the buffer should be initialized using oggpack_readinit.

      @@ -25,7 +25,7 @@

      
      -long  oggpack_read1(oggpack_buffer *b);
      +long  oggpack_read1(oggpack_buffer *b);
       
      diff --git a/doc/ogg/oggpack_readinit.html b/doc/ogg/oggpack_readinit.html index d8eb527..f7bd99d 100644 --- a/doc/ogg/oggpack_readinit.html +++ b/doc/ogg/oggpack_readinit.html @@ -24,7 +24,7 @@
      
      -void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
      +void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
       
      @@ -33,8 +33,8 @@ void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);

      Parameters

      b
      -
      Pointer to oggpack_buffer to be initialized with some extra markers to ease bit navigation and manipulation.
      -
      buf
      +
      Pointer to oggpack_buffer to be initialized with some extra markers to ease bit navigation and manipulation.
      +
      buf
      Original data buffer, to be inserted into the oggpack_buffer so that it can be read using bitpacking functions.
      diff --git a/doc/ogg/oggpack_reset.html b/doc/ogg/oggpack_reset.html index ab04f62..cd435b2 100644 --- a/doc/ogg/oggpack_reset.html +++ b/doc/ogg/oggpack_reset.html @@ -24,7 +24,7 @@
      
      -void  oggpack_reset(oggpack_buffer *b);
      +void  oggpack_reset(oggpack_buffer *b);
       
      diff --git a/doc/ogg/oggpack_write.html b/doc/ogg/oggpack_write.html index b484b1f..12f4586 100644 --- a/doc/ogg/oggpack_write.html +++ b/doc/ogg/oggpack_write.html @@ -17,8 +17,8 @@

      declared in "ogg/ogg.h";

      -

      This function writes bits into an oggpack_buffer. -

      The oggpack_buffer must already be initialized for writing using oggpack_writeinit. +

      This function writes bits into an oggpack_buffer. +

      The oggpack_buffer must already be initialized for writing using oggpack_writeinit.

      Only 32 bits can be written at a time.

      @@ -26,7 +26,7 @@

      
      -void  oggpack_write(oggpack_buffer *b,unsigned long value,int bits);
      +void  oggpack_write(oggpack_buffer *b,unsigned long value,int bits);
       
      @@ -35,10 +35,10 @@ void oggpack_write(oggpack_buffer *b,unsigned long value,int bits);

      Parameters

      b
      -
      Buffer to be used for writing.
      -
      value
      -
      The data to be written into the buffer. This must be 32 bits or fewer.
      -
      bits
      +
      Buffer to be used for writing.
      +
      value
      +
      The data to be written into the buffer. This must be 32 bits or fewer.
      +
      bits
      The number of bits being written into the buffer.
      diff --git a/doc/ogg/oggpack_writeclear.html b/doc/ogg/oggpack_writeclear.html index 6596808..2584c17 100644 --- a/doc/ogg/oggpack_writeclear.html +++ b/doc/ogg/oggpack_writeclear.html @@ -24,7 +24,7 @@
      
      -void oggpack_writeclear(oggpack_buffer *b);
      +void oggpack_writeclear(oggpack_buffer *b);
       
      diff --git a/doc/ogg/oggpack_writeinit.html b/doc/ogg/oggpack_writeinit.html index 4c6742e..dd7c9c9 100644 --- a/doc/ogg/oggpack_writeinit.html +++ b/doc/ogg/oggpack_writeinit.html @@ -24,7 +24,7 @@
      
      -void  oggpack_writeinit(oggpack_buffer *b);
      +void  oggpack_writeinit(oggpack_buffer *b);
       
      diff --git a/doc/ogg/style.css b/doc/ogg/style.css index 332f809..81cf417 100644 --- a/doc/ogg/style.css +++ b/doc/ogg/style.css @@ -1,7 +1,7 @@ -BODY { font-family: helvetica, sans-serif } -TD { font-family: helvetica, sans-serif } -P { font-family: helvetica, sans-serif } -H1 { font-family: helvetica, sans-serif } -H2 { font-family: helvetica, sans-serif } -H4 { font-family: helvetica, sans-serif } +BODY { font-family: Helvetica, sans-serif } +TD { font-family: Helvetica, sans-serif } +P { font-family: Helvetica, sans-serif } +H1 { font-family: Helvetica, sans-serif } +H2 { font-family: Helvetica, sans-serif } +H4 { font-family: Helvetica, sans-serif } P.tiny { font-size: 8pt } -- cgit v1.2.3 From a5eec8c785a95597286f3375dc572c6a353d9c16 Mon Sep 17 00:00:00 2001 From: Stan Seibert Date: Wed, 3 Jul 2002 03:10:07 +0000 Subject: Naming fixes. svn path=/trunk/ogg/; revision=3501 --- doc/framing.html | 35 ++++++++++++++++++----------------- doc/oggstream.html | 35 ++++++++++++++++++----------------- 2 files changed, 36 insertions(+), 34 deletions(-) (limited to 'doc') diff --git a/doc/framing.html b/doc/framing.html index 64e8953..50bba5e 100644 --- a/doc/framing.html +++ b/doc/framing.html @@ -360,27 +360,28 @@ stereo encodings.

      -Ogg is a Xiphophorus effort to -protect essential tenets of Internet multimedia from corporate +Ogg is a Xiph.org Foundation 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 About -Xiphophorus for details. +the Xiph.org Foundation for details.

      -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, -Xiphophorus and the Ogg project (xiph.org) reserve the right to set -the Ogg/Vorbis specification and certify specification compliance.

      - -Xiphophorus's Vorbis software CODEC implementation is distributed -under the Lessr/Library GNU Public License. This does not restrict -third parties from distributing independent implementations of Vorbis -software under other licenses.

      - -OggSquish, Vorbis, Xiphophorus and their logos are trademarks (tm) of -Xiphophorus. These pages are -copyright (C) 1994-2001 Xiphophorus. All rights reserved.

      +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.

      + +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.

      + +Ogg, Vorbis, Xiph.org Foundation and their logos are trademarks (tm) +of the Xiph.org Foundation. These +pages are copyright (C) 1994-2002 Xiph.org Foundation. All rights +reserved.

      diff --git a/doc/oggstream.html b/doc/oggstream.html index 46a221c..56a50d7 100644 --- a/doc/oggstream.html +++ b/doc/oggstream.html @@ -165,27 +165,28 @@ where decode requires more information). -Ogg is a Xiphophorus effort to -protect essential tenets of Internet multimedia from corporate +Ogg is a Xiph.org Foundation 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 About -Xiphophorus for details. +the Xiph.org Foundation for details.

      -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, -Xiphophorus and the Ogg project (xiph.org) reserve the right to set -the Ogg/Vorbis specification and certify specification compliance.

      - -Xiphophorus's Vorbis software CODEC implementation is distributed -under the Lesser/Library GNU Public License. This does not restrict -third parties from distributing independent implementations of Vorbis -software under other licenses.

      - -OggSquish, Vorbis, Xiphophorus and their logos are trademarks (tm) of -Xiphophorus. These pages are -copyright (C) 1994-2000 Xiphophorus. All rights reserved.

      +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.

      + +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.

      + +Ogg, Vorbis, Xiph.org Foundation and their logos are trademarks (tm) +of the Xiph.org Foundation. These +pages are copyright (C) 1994-2002 Xiph.org Foundation. All rights +reserved.

      -- cgit v1.2.3 From 72a2d56597ef4261c8be504f559b7be03be2c408 Mon Sep 17 00:00:00 2001 From: Monty Date: Sun, 14 Jul 2002 08:12:09 +0000 Subject: Updates and spelling corrections svn path=/trunk/ogg/; revision=3630 --- doc/framing.html | 51 +++++++++++++++++++++++++++++---------------------- doc/oggstream.html | 35 +++++++++++++++++++---------------- 2 files changed, 48 insertions(+), 38 deletions(-) (limited to 'doc') diff --git a/doc/framing.html b/doc/framing.html index 50bba5e..9ea9795 100644 --- a/doc/framing.html +++ b/doc/framing.html @@ -7,18 +7,24 @@ src="vorbisword2.png" border=0>

      Ogg logical bitstream framing -Last update to this document: February 18, 2001
      +Last update to this document: July 14, 2002

      Ogg bitstreams

      +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. + +

      Application example: Vorbis

      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-seperation +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 seperate data back into packets at the original packet +properly separate data back into packets at the original packet boundaries without relying on decoding to find packet boundaries.

      Design constraints for Ogg bitstreams

      @@ -57,7 +63,7 @@ bitstream mapping. 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 preceeded by a page +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.

      @@ -123,12 +129,12 @@ consists of nothing more than a lacing value of zero in the header.

      Packets spanning pages

      -Packets are not resticted to beginning and ending within a page, +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 forseen as being useful for +approximately 4-8kB (large packets are foreseen as being useful for initialization data at the beginning of a logical bitstream).

      After segmenting a packet, the encoder may decide not to place all the @@ -148,12 +154,12 @@ 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 -preceeding segment table to determine if the packet is new or +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 -preceeding page, implying that the previous page's segment table +preceding page, implying that the previous page's segment table cannot be trusted.

      Note that a packet can span an arbitrary number of pages; the above @@ -192,7 +198,7 @@ buffered packet segments.

      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 inadvertant coincidence in the byte stream).

      + (as opposed to an inadvertent coincidence in the byte stream).

      
        byte value
      @@ -228,19 +234,20 @@ buffered packet segments.

      set = last page of logical bitstream (eos)

      -

      PCM absolute position

      +

      absolute granule position

      - (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' + (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 be the frame number). 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 thenext page do not count). The rationale here is - that the position specified in the frame header of the last page - tells how long the PCM data coded by the bitstream is. A truncated - stream will still return the proper number of samples that can be - decoded fully. + 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.

      A special value of '-1' (in two's complement) indicates that no packets finish on this page. @@ -260,10 +267,10 @@ buffered packet segments.

      stream serial number

      - Ogg allows for seperate logical bitstreams to be mixed at page + 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 seperate bitstreams to be decoded concurrently. The serial + 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: diff --git a/doc/oggstream.html b/doc/oggstream.html index 56a50d7..6870f46 100644 --- a/doc/oggstream.html +++ b/doc/oggstream.html @@ -8,7 +8,7 @@ src="vorbisword2.png" border=0>

      Ogg logical and physical bitstream overview -Last update to this document: July 18, 1999
      +Last update to this document: July 14, 2002

      Ogg bitstreams

      @@ -18,12 +18,12 @@ high-level structure or boundary information; strung together, they appear to be streams of random bytes with no landmarks.

      Raw packets may be used directly by transport mechanisms that provide -their own framing and packet-seperation mechanisms (such as UDP +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 seperate data back into packets at the original packet +properly separate data back into packets at the original packet boundaries without relying on decoding to find packet boundaries.

      Logical and physical bitstreams

      @@ -36,15 +36,18 @@ 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.

      -Multiple logical bitstreams can be combined (with restricctions) into -a single physical bitstream. A physical bitstream consists -of multiple logical bitstreams multiplexed at the page level. 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 fromt he physical bitstream and redirecting them into -the appropriate logical decoding entitiy. The simplest physical -bitstream is a single, unmultiplexed logical bitstream.

      +Multiple logical bitstreams can be combined (with restrictions) into a +single physical bitstream. 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'.

      Ogg Logical Bitstream Framing discusses the page format of an Ogg bitstream, the packet coding process @@ -58,9 +61,9 @@ 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 +restrictive) mapping. An 'Ogg Vorbis Audio Bitstream', for example, has a specific physical bitstream structure. +href="vorbis-ogg.html">specific physical bitstream structure. An 'Ogg A/V' bitstream (not currently specified) will also mandate a specific, restricted physical bitstream format.

      @@ -106,7 +109,7 @@ the scope of the physical bitstream.

      Logical bitstreams may also be multiplexed 'in parallel' (grouped). An example of grouping would be to allow -streaming of seperate audio and video streams, using differnt codecs +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.

      @@ -153,7 +156,7 @@ bitstreams in the previous group have terminated.

      to a regular order; the only requirement is that page n of a logical bitstream follow page n-1 in the physical bitstream. There are no restrictions on intervening pages belonging to other -logical bitstreams. (Tying page appearence to bitrate demands is one +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). -- cgit v1.2.3 From 00797d129684e4fc09a1615ca3fe5422aff6bffc Mon Sep 17 00:00:00 2001 From: Monty Date: Sun, 14 Jul 2002 23:22:20 +0000 Subject: Add missing vorbis logo image svn path=/trunk/ogg/; revision=3632 --- doc/framing.html | 2 +- doc/oggstream.html | 2 +- doc/vorbisword2.png | Bin 0 -> 1394 bytes doc/white-ogg.png | Bin 1181 -> 2652 bytes 4 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 doc/vorbisword2.png (limited to 'doc') diff --git a/doc/framing.html b/doc/framing.html index 9ea9795..99b1baa 100644 --- a/doc/framing.html +++ b/doc/framing.html @@ -1,6 +1,6 @@ xiph.org: Ogg Vorbis documentation -

      diff --git a/doc/oggstream.html b/doc/oggstream.html index 6870f46..4df3346 100644 --- a/doc/oggstream.html +++ b/doc/oggstream.html @@ -1,6 +1,6 @@ xiph.org: Ogg Vorbis documentation -

      diff --git a/doc/vorbisword2.png b/doc/vorbisword2.png new file mode 100644 index 0000000..12e3d31 Binary files /dev/null and b/doc/vorbisword2.png differ diff --git a/doc/white-ogg.png b/doc/white-ogg.png index 45dc0ac..2694296 100644 Binary files a/doc/white-ogg.png and b/doc/white-ogg.png differ -- cgit v1.2.3 From 27c1bb8271a45d0f5a3b0f1773a3f50fa1fdf1d6 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 19 Jul 2002 10:50:44 +0000 Subject: Propagate changes to vorbisfile documentation. svn path=/trunk/ogg/; revision=3685 --- doc/ogg/vorbis_comment.html | 25 ++++++++++++---------- doc/ogg/vorbis_info.html | 52 +++++++++++++-------------------------------- 2 files changed, 29 insertions(+), 48 deletions(-) (limited to 'doc') diff --git a/doc/ogg/vorbis_comment.html b/doc/ogg/vorbis_comment.html index 53f5b74..a7b076b 100644 --- a/doc/ogg/vorbis_comment.html +++ b/doc/ogg/vorbis_comment.html @@ -1,15 +1,15 @@ -vorbisfile - datatype - vorbis_comment +Vorbisfile - datatype - vorbis_comment - - + +

      vorbisfile documentation

      vorbisfile version 1.25 - 20000615

      Vorbisfile documentation

      libVorbisfile version 1.65 - 20020702

      @@ -31,8 +31,9 @@ or set to some reasonable default (usually 0).

      typedef struct vorbis_comment{
         /* unlimited user comment fields. */
         char **user_comments;
      -  int    comments;
      -  char  *vendor;
      +  int  *comment_lengths;
      +  int   comments;
      +  char *vendor;
       
       } vorbis_comment;
      @@ -42,9 +43,11 @@ or set to some reasonable default (usually 0).

      Parameters

      user_comments
      -
      Unlimited user comment array. Comments stored in normal C 0-terminated strings.
      +
      Unlimited user comment array. The individual strings in the array are 8 bit clean, by the Vorbis specification, and as such the comment_lengths array should be consulted to determine string length. For convenience, each string is also NULL-terminated by the decode library (although Vorbis comments are not NULL terminated within the bitstream itself).
      +
      comment_lengths
      +
      An array that stores the length of each comment string
      comments
      -
      Int signifying number of user comments in user_comments field.
      +
      number of user comments in user_comments field.
      vendor
      Information about the creator of the file. Stored in a standard C 0-terminated string.
      @@ -54,11 +57,11 @@ or set to some reasonable default (usually 0).
      - - + + - - + +

      copyright © 2000 vorbis team

      Ogg Vorbis
      team@vorbis.org

      copyright © 2002 Xiph.org Foundation

      Ogg Vorbis

      vorbisfile documentation

      vorbisfile version 1.25 - 20000615

      Vorbisfile documentation

      libVorbisfile version 1.65 - 20020719

      diff --git a/doc/ogg/vorbis_info.html b/doc/ogg/vorbis_info.html index 13f0aaf..893e453 100644 --- a/doc/ogg/vorbis_info.html +++ b/doc/ogg/vorbis_info.html @@ -1,15 +1,15 @@ -libvorbis - datatype - vorbis_info +Vorbisfile - datatype - vorbis_info - - + +

      libvorbis documentation

      libvorbis version 1.25 - 20000615

      Vorbisfile documentation

      libVorbisfile version 1.65 - 20020702

      @@ -18,8 +18,7 @@

      declared in "vorbis/codec.h"

      -The vorbis_info structure contains information about a vorbis bitstream. Most of the information in this struct is more complex and in-depth than we need for vorbisfile decoding. However, the info's there if we need or want it. - +The vorbis_info structure contains basic information about the audio in a vorbis bitstream.

      @@ -33,33 +32,9 @@ The vorbis_info structure contains information about a vorbis bitstream. Most o long bitrate_upper; long bitrate_nominal; long bitrate_lower; + long bitrate_window; - long blocksizes[2]; - - int modes; - int maps; - int times; - int floors; - int residues; - int books; - int psys; /* encode only */ - - vorbis_info_mode *mode_param[64]; - int map_type[64]; - vorbis_info_mapping *map_param[64]; - int time_type[64]; - vorbis_info_time *time_param[64]; - int floor_type[64]; - vorbis_info_floor *floor_param[64]; - int residue_type[64]; - vorbis_info_residue *residue_param[64]; - static_codebook *book_param[256]; - vorbis_info_psy *psy_param[64]; /* encode only */ - - /* for block long/sort tuning; encode only */ - int envelopesa; - double preecho_thresh; - double preecho_clamp; + void *codec_setup; } vorbis_info; @@ -80,8 +55,11 @@ The vorbis_info structure contains information about a vorbis bitstream. Most o
      Specifies the average bitrate for a VBR bitstream. May be unset. If the bitrate_upper and bitrate_lower parameters match, the stream is fixed bitrate.
      bitrate_lower
      Specifies the lower limit in a VBR bitstream. If the value matches the bitrate_nominal and bitrate_upper parameters, the stream is fixed bitrate. May be unset if no limit exists.
      -
      blocksizes[2]
      -
      Contains the sizes of the long and short blocks for this particular bitstream. These are variable and can be set by the encoder. Vorbis only supports two sizes, long and short.
      +
      bitrate_window
      +
      Currently unset.
      + +
      codec_setup
      +
      Internal structure that contains the detailed/unpacked configuration for decoding the current Vorbis bitstream.
      @@ -89,11 +67,11 @@ The vorbis_info structure contains information about a vorbis bitstream. Most o
      - - + + - - + +

      copyright © 2000 vorbis team

      Ogg Vorbis
      team@vorbis.org

      copyright © 2002 Xiph.org

      Ogg Vorbis

      vorbisfile documentation

      vorbisfile version 1.25 - 20000615

      Vorbisfile documentation

      libVorbisfile version 1.65 - 20020702

      -- cgit v1.2.3 From 57e3dfa7d678cd1f1b721eba086e78746666709b Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 19 Jul 2002 11:03:39 +0000 Subject: Remove obsolete oggpack_*_huff() functions from API documenation. svn path=/trunk/ogg/; revision=3686 --- doc/ogg/Makefile.am | 4 +-- doc/ogg/bitpacking.html | 8 ----- doc/ogg/oggpack_adv.html | 5 ++-- doc/ogg/oggpack_adv_huff.html | 67 ----------------------------------------- doc/ogg/oggpack_look.html | 1 - doc/ogg/oggpack_look_huff.html | 68 ------------------------------------------ doc/ogg/reference.html | 2 -- 7 files changed, 4 insertions(+), 151 deletions(-) delete mode 100644 doc/ogg/oggpack_adv_huff.html delete mode 100644 doc/ogg/oggpack_look_huff.html (limited to 'doc') diff --git a/doc/ogg/Makefile.am b/doc/ogg/Makefile.am index e27e33a..5ebed4f 100644 --- a/doc/ogg/Makefile.am +++ b/doc/ogg/Makefile.am @@ -16,9 +16,9 @@ doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ ogg_sync_destroy.html ogg_sync_init.html ogg_sync_pageout.html\ ogg_sync_pageseek.html ogg_sync_reset.html ogg_sync_state.html\ ogg_sync_wrote.html oggpack_adv.html oggpack_adv1.html\ - oggpack_adv_huff.html oggpack_bits.html oggpack_buffer.html\ + oggpack_bits.html oggpack_buffer.html\ oggpack_bytes.html oggpack_get_buffer.html oggpack_look.html\ - oggpack_look1.html oggpack_look_huff.html oggpack_read.html\ + oggpack_look1.html oggpack_read.html\ oggpack_read1.html oggpack_readinit.html oggpack_reset.html\ oggpack_write.html oggpack_writeclear.html oggpack_writeinit.html\ overview.html reference.html style.css vorbis_comment.html\ diff --git a/doc/ogg/bitpacking.html b/doc/ogg/bitpacking.html index cc5ec3c..1ead8dd 100644 --- a/doc/ogg/bitpacking.html +++ b/doc/ogg/bitpacking.html @@ -49,10 +49,6 @@ All the libogg specific functions are declared in "ogg/ogg.h". Look at a specified number of bits, <=32, without advancing the location pointer. -oggpack_look_huff - Look at a specified number of bits, <=8, without advancing the location pointer. - - oggpack_look1 Looks at one bit without advancing the location pointer. @@ -61,10 +57,6 @@ All the libogg specific functions are declared in "ogg/ogg.h". Advances the location pointer by a specified number of bits. -oggpack_adv_huff - Advances the location pointer by a specified number of bits, and checks for buffer overflow. - - oggpack_adv1 Advances the location pointer by one bit. diff --git a/doc/ogg/oggpack_adv.html b/doc/ogg/oggpack_adv.html index 14ee8e2..1e7efb7 100644 --- a/doc/ogg/oggpack_adv.html +++ b/doc/ogg/oggpack_adv.html @@ -18,7 +18,6 @@

      declared in "ogg/ogg.h";

      This function advances the location pointer by the specified number of bits without reading any data. -

      To also check for overflow while advancing, use oggpack_adv_huff instead.

      @@ -51,11 +50,11 @@ No values are returned.
      - + - +

      copyright © 2000 xiph.org

      copyright © 2002 Xiph.org Foundation

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      libogg version 1.25 - 20000615

      libogg version 1.25 - 20020719

      diff --git a/doc/ogg/oggpack_adv_huff.html b/doc/ogg/oggpack_adv_huff.html deleted file mode 100644 index 8d6fc73..0000000 --- a/doc/ogg/oggpack_adv_huff.html +++ /dev/null @@ -1,67 +0,0 @@ - - - -libogg - function - oggpack_adv_huff - - - - - - - - - -

      libogg documentation

      libogg version 1.25 - 20000615

      - -

      oggpack_adv_huff

      - -

      declared in "ogg/ogg.h";

      - -

      This function advances the location pointer by the specified number of bits without reading any data. -

      This also checks for buffer overflow. - -

      - - - - -
      -
      
      -int oggpack_adv_huff(oggpack_buffer *b,int bits);
      -
      -
      - -

      Parameters

      -
      -
      b
      -
      Pointer to the current oggpack_buffer.
      -
      bits
      -
      Number of bits to advance.
      -
      - - -

      Return Values

      -
      -
    • --1 on buffer overflow.
    • -
    • -0 in all other cases.
    • -
      -

      - -

      -


      - - - - - - - - -

      copyright © 2000 xiph.org

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      libogg version 1.25 - 20000615

      - - - - - diff --git a/doc/ogg/oggpack_look.html b/doc/ogg/oggpack_look.html index e0fae99..a16fbcc 100644 --- a/doc/ogg/oggpack_look.html +++ b/doc/ogg/oggpack_look.html @@ -20,7 +20,6 @@

      This function looks at a specified number of bits inside the buffer without advancing the location pointer.

      The specified number of bits are read, starting from the location pointer.

      This function can be used to read 32 or fewer bits. -

      oggpack_look_huff() can be used instead to read 8 or fewer bits.

      diff --git a/doc/ogg/oggpack_look_huff.html b/doc/ogg/oggpack_look_huff.html deleted file mode 100644 index b885287..0000000 --- a/doc/ogg/oggpack_look_huff.html +++ /dev/null @@ -1,68 +0,0 @@ - - - -libogg - function - oggpack_look_huff - - - - -
      - - - - -

      libogg documentation

      libogg version 1.25 - 20000615

      - -

      oggpack_look_huff

      - -

      declared in "ogg/ogg.h";

      - -

      This function looks at a specified number of bits inside the buffer without advancing the location pointer. -

      The specified number of bits are read, starting from the location pointer. -

      This function can be used to look at 8 or fewer bits. -

      To look at more bits, oggpack_look can be used instead to read 32 or fewer bits. - - -

      - - - - -
      -
      
      -long  oggpack_look_huff(oggpack_buffer *b,int bits);
      -
      -
      - -

      Parameters

      -
      -
      b
      -
      Pointer to oggpack_buffer to be read.
      -
      bits
      -
      Number of bits to look at. For this function, must be 8 or fewer.
      -
      - - -

      Return Values

      -
      -
    • -n represents the requested bits.
    • -
      -

      - -

      -


      - - - - - - - - -

      copyright © 2000 xiph.org

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      libogg version 1.25 - 20000615

      - - - - - diff --git a/doc/ogg/reference.html b/doc/ogg/reference.html index d3decc8..06005fb 100644 --- a/doc/ogg/reference.html +++ b/doc/ogg/reference.html @@ -30,10 +30,8 @@ oggpack_readinit()
      oggpack_write()
      oggpack_look()
      -oggpack_look_huff()
      oggpack_look1()
      oggpack_adv()
      -oggpack_adv_huff()
      oggpack_adv1()
      oggpack_read()
      oggpack_read1()
      -- cgit v1.2.3 From 6f7191c5abff21dc20742e2ae23ebfd53bece686 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 19 Jul 2002 11:40:46 +0000 Subject: complete a sentence svn path=/trunk/ogg/; revision=3687 --- doc/ogg/oggpack_bytes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/ogg/oggpack_bytes.html b/doc/ogg/oggpack_bytes.html index 769a94c..6f00a6f 100644 --- a/doc/ogg/oggpack_bytes.html +++ b/doc/ogg/oggpack_bytes.html @@ -33,7 +33,7 @@ long oggpack_bytes(oggpack_buffer *b);

      Parameters

      b
      -
      oggpack_buffer struct to be .
      +
      oggpack_buffer struct to be checked.
      -- cgit v1.2.3 From b2e3f9ae6d8505714bdd2003de063f7d7850df9e Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 19 Jul 2002 11:41:16 +0000 Subject: Document new oggpack_write*() routines. svn path=/trunk/ogg/; revision=3688 --- doc/ogg/oggpack_writealign.html | 65 ++++++++++++++++++++++++++++++++++++++ doc/ogg/oggpack_writecopy.html | 69 +++++++++++++++++++++++++++++++++++++++++ doc/ogg/oggpack_writetrunc.html | 65 ++++++++++++++++++++++++++++++++++++++ doc/ogg/reference.html | 3 ++ 4 files changed, 202 insertions(+) create mode 100644 doc/ogg/oggpack_writealign.html create mode 100644 doc/ogg/oggpack_writecopy.html create mode 100644 doc/ogg/oggpack_writetrunc.html (limited to 'doc') diff --git a/doc/ogg/oggpack_writealign.html b/doc/ogg/oggpack_writealign.html new file mode 100644 index 0000000..70ead61 --- /dev/null +++ b/doc/ogg/oggpack_writealign.html @@ -0,0 +1,65 @@ + + + +libogg - function - oggpack_writealign + + + + + + + + + +

      libogg documentation

      libogg version 1.25 - 20020719

      + +

      oggpack_writealign

      + +

      declared in "ogg/ogg.h";

      + +

      This function pads the oggpack_buffer with zeros out to the +next byte boundary.

      +

      The oggpack_buffer must already be initialized for writing using oggpack_writeinit. +

      Only 32 bits can be written at a time.

      + +

      + + + + +
      +
      
      +void  oggpack_writetrunc(oggpack_buffer *b);
      +
      +
      + +

      Parameters

      +
      +
      b
      +
      Buffer to be used for writing.
      +
      + + +

      Return Values

      +
      +
    • +No values are returned.
    • +
      +

      + +

      +


      + + + + + + + + +

      copyright © 2002 Xiph.org Foundation

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      libogg version 1.25 - 20020719

      + + + + + diff --git a/doc/ogg/oggpack_writecopy.html b/doc/ogg/oggpack_writecopy.html new file mode 100644 index 0000000..173f7b0 --- /dev/null +++ b/doc/ogg/oggpack_writecopy.html @@ -0,0 +1,69 @@ + + + +libogg - function - oggpack_writecopy + + + + + + + + + +

      libogg documentation

      libogg version 1.25 - 20020719

      + +

      oggpack_writecopy

      + +

      declared in "ogg/ogg.h";

      + +

      This function copies a sequence of bits from a source buffer into an +oggpack_buffer.

      +

      The oggpack_buffer must already be initialized for writing using oggpack_writeinit.

      +

      Only 32 bits can be written at a time.

      + +

      + + + + +
      +
      
      +void  oggpack_writecopy(oggpack_buffer *b, void *source, long bits);
      +
      +
      + +

      Parameters

      +
      +
      b
      +
      Buffer to be used for writing.
      +
      source
      +
      A pointer to the data to be written into the buffer.
      +
      bits
      +
      The number of bits to be copied into the buffer.
      +
      + + +

      Return Values

      +
      +
    • +No values are returned.
    • +
      +

      + +

      +


      + + + + + + + + +

      copyright © 2002 Xiph.org Foundation

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      libogg version 1.25 - 20020719

      + + + + + diff --git a/doc/ogg/oggpack_writetrunc.html b/doc/ogg/oggpack_writetrunc.html new file mode 100644 index 0000000..f556a54 --- /dev/null +++ b/doc/ogg/oggpack_writetrunc.html @@ -0,0 +1,65 @@ + + + +libogg - function - oggpack_writetrunc + + + + + + + + + +

      libogg documentation

      libogg version 1.25 - 20020719

      + +

      oggpack_write

      + +

      declared in "ogg/ogg.h";

      + +

      This function truncates an already written-to oggpack_buffer.

      +

      The oggpack_buffer must already be initialized for writing using oggpack_writeinit.

      + +

      + + + + +
      +
      
      +void  oggpack_writetrunc(oggpack_buffer *b, long bits);
      +
      +
      + +

      Parameters

      +
      +
      b
      +
      Buffer to be truncated.
      +
      bits
      +
      Number of bits to keep in the buffer (size after truncation)
      +
      + + +

      Return Values

      +
      +
    • +No values are returned.
    • +
      +

      + +

      +


      + + + + + + + + +

      copyright © 2002 Xiph.org Foundation

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      libogg version 1.25 - 20020719

      + + + + + diff --git a/doc/ogg/reference.html b/doc/ogg/reference.html index 06005fb..9b11fa3 100644 --- a/doc/ogg/reference.html +++ b/doc/ogg/reference.html @@ -26,6 +26,9 @@ Bitpacking
      oggpack_writeinit()
      oggpack_reset()
      +oggpack_writetrunc()
      +oggpack_writealign()
      +oggpack_writecopy()
      oggpack_writeclear()
      oggpack_readinit()
      oggpack_write()
      -- cgit v1.2.3 From 7492d311f549b82de32f1ba54477a9ea8552df28 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 19 Jul 2002 11:42:08 +0000 Subject: bump moddate svn path=/trunk/ogg/; revision=3689 --- doc/ogg/oggpack_bytes.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/ogg/oggpack_bytes.html b/doc/ogg/oggpack_bytes.html index 6f00a6f..610a401 100644 --- a/doc/ogg/oggpack_bytes.html +++ b/doc/ogg/oggpack_bytes.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg version 1.25 - 20020719

      @@ -52,7 +52,7 @@ long oggpack_bytes(oggpack_buffer *b);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg version 1.25 - 20020719

      -- cgit v1.2.3 From 9ec2da4a81070cfa13745063238d353bbf8ab403 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 19 Jul 2002 11:54:50 +0000 Subject: add documentation for new routine ogg_stream_reset_serialno(); svn path=/trunk/ogg/; revision=3690 --- doc/ogg/ogg_stream_reset_serialno.html | 67 ++++++++++++++++++++++++++++++++++ doc/ogg/reference.html | 7 ++-- 2 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 doc/ogg/ogg_stream_reset_serialno.html (limited to 'doc') diff --git a/doc/ogg/ogg_stream_reset_serialno.html b/doc/ogg/ogg_stream_reset_serialno.html new file mode 100644 index 0000000..ce3447a --- /dev/null +++ b/doc/ogg/ogg_stream_reset_serialno.html @@ -0,0 +1,67 @@ + + + +libogg - function - ogg_stream_reset + + + + + + + + + +

      libogg documentation

      libogg version 1.25 - 20020719

      + +

      ogg_stream_reset

      + +

      declared in "ogg/ogg.h";

      + +

      This function reinitializes the values in the +ogg_stream_state, +just like ogg_stream_reset(). +Additionally, it sets the stream serial number to the given value.

      + +

      + + + + +
      +
      
      +int ogg_stream_reset(ogg_stream_state *os, int serialno);
      +
      +
      + +

      Parameters

      +
      +
      os
      +
      Pointer to the ogg_stream_state struct to be cleared.
      +
      serialno
      +
      New stream serial number to use
      +
      + + +

      Return Values

      +
      +
    • +0 is always returned.
    • +
      +

      + +

      +


      + + + + + + + + +

      copyright © 2002 Xiph.org Foundation

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      libogg version 1.25 - 20020719

      + + + + + diff --git a/doc/ogg/reference.html b/doc/ogg/reference.html index 9b11fa3..eddb2af 100644 --- a/doc/ogg/reference.html +++ b/doc/ogg/reference.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg - 20011218

      libogg - 20020719

      @@ -64,6 +64,7 @@ ogg_stream_init()
      ogg_stream_clear()
      ogg_stream_reset()
      +ogg_stream_reset_serialno()
      ogg_stream_destroy()
      ogg_page_version()
      ogg_page_continued()
      @@ -79,11 +80,11 @@
      - + - +

      copyright © 2001 xiph.org

      copyright © 2002 Xiph.org Foundation

      Ogg Vorbis
      team@vorbis.org

      libogg documentation

      libogg - 20011218

      libogg - 20020719

      -- cgit v1.2.3 From 6671e869c081efd26d3823df3c2ba47f7187f3e3 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 19 Jul 2002 12:06:15 +0000 Subject: Replace confusing libogg 'version' with 'release 1.0'. svn path=/trunk/ogg/; revision=3691 --- doc/ogg/bitpacking.html | 4 ++-- doc/ogg/datastructures.html | 4 ++-- doc/ogg/decoding.html | 4 ++-- doc/ogg/encoding.html | 4 ++-- doc/ogg/general.html | 4 ++-- doc/ogg/index.html | 4 ++-- doc/ogg/ogg_page_bos.html | 4 ++-- doc/ogg/ogg_page_continued.html | 4 ++-- doc/ogg/ogg_page_eos.html | 4 ++-- doc/ogg/ogg_page_granulepos.html | 4 ++-- doc/ogg/ogg_page_pageno.html | 4 ++-- doc/ogg/ogg_page_serialno.html | 4 ++-- doc/ogg/ogg_page_version.html | 4 ++-- doc/ogg/ogg_stream_clear.html | 4 ++-- doc/ogg/ogg_stream_destroy.html | 4 ++-- doc/ogg/ogg_stream_eos.html | 4 ++-- doc/ogg/ogg_stream_flush.html | 4 ++-- doc/ogg/ogg_stream_init.html | 4 ++-- doc/ogg/ogg_stream_packetin.html | 4 ++-- doc/ogg/ogg_stream_packetout.html | 4 ++-- doc/ogg/ogg_stream_pagein.html | 4 ++-- doc/ogg/ogg_stream_pageout.html | 4 ++-- doc/ogg/ogg_stream_reset.html | 4 ++-- doc/ogg/ogg_stream_reset_serialno.html | 4 ++-- doc/ogg/ogg_stream_state.html | 4 ++-- doc/ogg/ogg_sync_buffer.html | 4 ++-- doc/ogg/ogg_sync_clear.html | 4 ++-- doc/ogg/ogg_sync_destroy.html | 4 ++-- doc/ogg/ogg_sync_init.html | 4 ++-- doc/ogg/ogg_sync_pageout.html | 4 ++-- doc/ogg/ogg_sync_pageseek.html | 4 ++-- doc/ogg/ogg_sync_reset.html | 4 ++-- doc/ogg/ogg_sync_state.html | 4 ++-- doc/ogg/ogg_sync_wrote.html | 4 ++-- doc/ogg/oggpack_adv.html | 4 ++-- doc/ogg/oggpack_adv1.html | 4 ++-- doc/ogg/oggpack_bits.html | 4 ++-- doc/ogg/oggpack_buffer.html | 4 ++-- doc/ogg/oggpack_bytes.html | 4 ++-- doc/ogg/oggpack_get_buffer.html | 4 ++-- doc/ogg/oggpack_look.html | 4 ++-- doc/ogg/oggpack_look1.html | 4 ++-- doc/ogg/oggpack_read.html | 4 ++-- doc/ogg/oggpack_read1.html | 4 ++-- doc/ogg/oggpack_readinit.html | 4 ++-- doc/ogg/oggpack_reset.html | 4 ++-- doc/ogg/oggpack_write.html | 4 ++-- doc/ogg/oggpack_writealign.html | 4 ++-- doc/ogg/oggpack_writeclear.html | 4 ++-- doc/ogg/oggpack_writecopy.html | 4 ++-- doc/ogg/oggpack_writeinit.html | 4 ++-- doc/ogg/oggpack_writetrunc.html | 4 ++-- doc/ogg/overview.html | 4 ++-- 53 files changed, 106 insertions(+), 106 deletions(-) (limited to 'doc') diff --git a/doc/ogg/bitpacking.html b/doc/ogg/bitpacking.html index 1ead8dd..57ff78a 100644 --- a/doc/ogg/bitpacking.html +++ b/doc/ogg/bitpacking.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -90,7 +90,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/datastructures.html b/doc/ogg/datastructures.html index 263594a..13fee95 100644 --- a/doc/ogg/datastructures.html +++ b/doc/ogg/datastructures.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -50,7 +50,7 @@ All the libogg specific data structures are declared in "ogg/ogg.h".

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/decoding.html b/doc/ogg/decoding.html index a6c8b54..2cd576e 100644 --- a/doc/ogg/decoding.html +++ b/doc/ogg/decoding.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -91,7 +91,7 @@ advancing decoding.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/encoding.html b/doc/ogg/encoding.html index 6956bf6..372ea80 100644 --- a/doc/ogg/encoding.html +++ b/doc/ogg/encoding.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -55,7 +55,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/general.html b/doc/ogg/general.html index a0e4f81..f8c92e9 100644 --- a/doc/ogg/general.html +++ b/doc/ogg/general.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -96,7 +96,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/index.html b/doc/ogg/index.html index ae59186..123d965 100644 --- a/doc/ogg/index.html +++ b/doc/ogg/index.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -30,7 +30,7 @@ Libogg contains necessary functionality to create, decode, and work with Ogg bit

      Ogg Vorbis
      team@vorbis.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_page_bos.html b/doc/ogg/ogg_page_bos.html index 8a95207..9e1462f 100644 --- a/doc/ogg/ogg_page_bos.html +++ b/doc/ogg/ogg_page_bos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -55,7 +55,7 @@ greater than 0 if this page is the beginning of a bitstream.

    • Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_page_continued.html b/doc/ogg/ogg_page_continued.html index e6bb1e2..36adc09 100644 --- a/doc/ogg/ogg_page_continued.html +++ b/doc/ogg/ogg_page_continued.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -54,7 +54,7 @@ int ogg_page_continued(ogg_page *og);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_page_eos.html b/doc/ogg/ogg_page_eos.html index 6a37983..13747b5 100644 --- a/doc/ogg/ogg_page_eos.html +++ b/doc/ogg/ogg_page_eos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -55,7 +55,7 @@ greater than zero if this page contains the end of a bitstream.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_page_granulepos.html b/doc/ogg/ogg_page_granulepos.html index dbf453f..50c5e45 100644 --- a/doc/ogg/ogg_page_granulepos.html +++ b/doc/ogg/ogg_page_granulepos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -55,7 +55,7 @@ int ogg_page_granulepos(ogg_page *og);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_page_pageno.html b/doc/ogg/ogg_page_pageno.html index da6626b..0eca7af 100644 --- a/doc/ogg/ogg_page_pageno.html +++ b/doc/ogg/ogg_page_pageno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -53,7 +53,7 @@ int ogg_page_pageno(ogg_page *og);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_page_serialno.html b/doc/ogg/ogg_page_serialno.html index 9aa703f..60305a9 100644 --- a/doc/ogg/ogg_page_serialno.html +++ b/doc/ogg/ogg_page_serialno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -53,7 +53,7 @@ int ogg_page_serialno(ogg_page *og);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_page_version.html b/doc/ogg/ogg_page_version.html index 141dbd9..9f3c383 100644 --- a/doc/ogg/ogg_page_version.html +++ b/doc/ogg/ogg_page_version.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -53,7 +53,7 @@ int ogg_page_version(ogg_page *og);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_stream_clear.html b/doc/ogg/ogg_stream_clear.html index 8e1a72b..a261a5d 100644 --- a/doc/ogg/ogg_stream_clear.html +++ b/doc/ogg/ogg_stream_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -51,7 +51,7 @@ int ogg_stream_clear(ogg_stream_state *os);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_stream_destroy.html b/doc/ogg/ogg_stream_destroy.html index 5d36ba7..ebe7a24 100644 --- a/doc/ogg/ogg_stream_destroy.html +++ b/doc/ogg/ogg_stream_destroy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -52,7 +52,7 @@ int ogg_stream_destroy(ogg_stream_state *os);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_stream_eos.html b/doc/ogg/ogg_stream_eos.html index 471524c..40e577e 100644 --- a/doc/ogg/ogg_stream_eos.html +++ b/doc/ogg/ogg_stream_eos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -52,7 +52,7 @@ int ogg_stream_eos(ogg_stream_state *os);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_stream_flush.html b/doc/ogg/ogg_stream_flush.html index 8e2a042..ab62190 100644 --- a/doc/ogg/ogg_stream_flush.html +++ b/doc/ogg/ogg_stream_flush.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -57,7 +57,7 @@ Nonzero means that remaining packets have successfully been flushed into the pag

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_stream_init.html b/doc/ogg/ogg_stream_init.html index 64f64e6..4f600ff 100644 --- a/doc/ogg/ogg_stream_init.html +++ b/doc/ogg/ogg_stream_init.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -56,7 +56,7 @@ int ogg_stream_init(ogg_stream_state *os,int

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_stream_packetin.html b/doc/ogg/ogg_stream_packetin.html index d1655ff..c1018dc 100644 --- a/doc/ogg/ogg_stream_packetin.html +++ b/doc/ogg/ogg_stream_packetin.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -55,7 +55,7 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_stream_packetout.html b/doc/ogg/ogg_stream_packetout.html index bd127fd..e4b3a28 100644 --- a/doc/ogg/ogg_stream_packetout.html +++ b/doc/ogg/ogg_stream_packetout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -59,7 +59,7 @@ href="ogg_stream_state.html">ogg_stream_state struct. Before this function

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_stream_pagein.html b/doc/ogg/ogg_stream_pagein.html index fc5f9f4..b884169 100644 --- a/doc/ogg/ogg_stream_pagein.html +++ b/doc/ogg/ogg_stream_pagein.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -57,7 +57,7 @@ int ogg_stream_pagein(ogg_stream_state *os,

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_stream_pageout.html b/doc/ogg/ogg_stream_pageout.html index b2a0c04..f552ad3 100644 --- a/doc/ogg/ogg_stream_pageout.html +++ b/doc/ogg/ogg_stream_pageout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -57,7 +57,7 @@ int ogg_stream_pageout(ogg_stream_state *os,

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_stream_reset.html b/doc/ogg/ogg_stream_reset.html index 1e59b94..19634d4 100644 --- a/doc/ogg/ogg_stream_reset.html +++ b/doc/ogg/ogg_stream_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -51,7 +51,7 @@ int ogg_stream_reset(ogg_stream_state *os);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_stream_reset_serialno.html b/doc/ogg/ogg_stream_reset_serialno.html index ce3447a..cd0088d 100644 --- a/doc/ogg/ogg_stream_reset_serialno.html +++ b/doc/ogg/ogg_stream_reset_serialno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20020719

      libogg release 1.0 - 20020719

      @@ -57,7 +57,7 @@ int ogg_stream_reset(ogg_stream_state *os, int serialno);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20020719

      +

      libogg release 1.0 - 20020719

      diff --git a/doc/ogg/ogg_stream_state.html b/doc/ogg/ogg_stream_state.html index 7f5686a..7f41737 100644 --- a/doc/ogg/ogg_stream_state.html +++ b/doc/ogg/ogg_stream_state.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -112,7 +112,7 @@ typedef struct {

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_sync_buffer.html b/doc/ogg/ogg_sync_buffer.html index 9c64c08..4c84694 100644 --- a/doc/ogg/ogg_sync_buffer.html +++ b/doc/ogg/ogg_sync_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -57,7 +57,7 @@ Returns a pointer to the newly allocated buffer.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_sync_clear.html b/doc/ogg/ogg_sync_clear.html index cad7ed2..325e856 100644 --- a/doc/ogg/ogg_sync_clear.html +++ b/doc/ogg/ogg_sync_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -52,7 +52,7 @@ int ogg_sync_clear(ogg_sync_state *oy);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_sync_destroy.html b/doc/ogg/ogg_sync_destroy.html index 7d22d38..d2f9ae8 100644 --- a/doc/ogg/ogg_sync_destroy.html +++ b/doc/ogg/ogg_sync_destroy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -52,7 +52,7 @@ int ogg_sync_destroy(ogg_sync_state *oy);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_sync_init.html b/doc/ogg/ogg_sync_init.html index ec1e7d2..f42c81d 100644 --- a/doc/ogg/ogg_sync_init.html +++ b/doc/ogg/ogg_sync_init.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -53,7 +53,7 @@ int ogg_sync_init(ogg_sync_state *oy);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_sync_pageout.html b/doc/ogg/ogg_sync_pageout.html index ab3dec9..4fcdb17 100644 --- a/doc/ogg/ogg_sync_pageout.html +++ b/doc/ogg/ogg_sync_pageout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -69,7 +69,7 @@ if (ogg_sync_pageout(&oy, &og) != 1) {

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_sync_pageseek.html b/doc/ogg/ogg_sync_pageseek.html index 48e16dd..7371b82 100644 --- a/doc/ogg/ogg_sync_pageseek.html +++ b/doc/ogg/ogg_sync_pageseek.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -58,7 +58,7 @@ n means that the page was synced at the current location, with a page length of

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_sync_reset.html b/doc/ogg/ogg_sync_reset.html index 4586dd0..d27efbd 100644 --- a/doc/ogg/ogg_sync_reset.html +++ b/doc/ogg/ogg_sync_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -53,7 +53,7 @@ int ogg_sync_reset(ogg_sync_state *oy);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_sync_state.html b/doc/ogg/ogg_sync_state.html index 51f4395..15a7e3c 100644 --- a/doc/ogg/ogg_sync_state.html +++ b/doc/ogg/ogg_sync_state.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -58,7 +58,7 @@ typedef struct {

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/ogg_sync_wrote.html b/doc/ogg/ogg_sync_wrote.html index b3316b9..2110526 100644 --- a/doc/ogg/ogg_sync_wrote.html +++ b/doc/ogg/ogg_sync_wrote.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -53,7 +53,7 @@ int ogg_sync_destroy(ogg_sync_state *oy);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_adv.html b/doc/ogg/oggpack_adv.html index 1e7efb7..66140ec 100644 --- a/doc/ogg/oggpack_adv.html +++ b/doc/ogg/oggpack_adv.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -54,7 +54,7 @@ No values are returned.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20020719

      +

      libogg release 1.0 - 20020719

      diff --git a/doc/ogg/oggpack_adv1.html b/doc/ogg/oggpack_adv1.html index bb08974..d02ae43 100644 --- a/doc/ogg/oggpack_adv1.html +++ b/doc/ogg/oggpack_adv1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -52,7 +52,7 @@ void oggpack_adv1(oggpack_buffer *b);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_bits.html b/doc/ogg/oggpack_bits.html index 39df420..b1bdc39 100644 --- a/doc/ogg/oggpack_bits.html +++ b/doc/ogg/oggpack_bits.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -52,7 +52,7 @@ long oggpack_bits(oggpack_buffer *b);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_buffer.html b/doc/ogg/oggpack_buffer.html index dc6ef77..42f21ec 100644 --- a/doc/ogg/oggpack_buffer.html +++ b/doc/ogg/oggpack_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -57,7 +57,7 @@ typedef struct {

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_bytes.html b/doc/ogg/oggpack_bytes.html index 610a401..5e0382d 100644 --- a/doc/ogg/oggpack_bytes.html +++ b/doc/ogg/oggpack_bytes.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20020719

      libogg release 1.0 - 20020719

      @@ -52,7 +52,7 @@ long oggpack_bytes(oggpack_buffer *b);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20020719

      +

      libogg release 1.0 - 20020719

      diff --git a/doc/ogg/oggpack_get_buffer.html b/doc/ogg/oggpack_get_buffer.html index 772a4e7..9d2c143 100644 --- a/doc/ogg/oggpack_get_buffer.html +++ b/doc/ogg/oggpack_get_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -52,7 +52,7 @@ No values are returned.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_look.html b/doc/ogg/oggpack_look.html index a16fbcc..3386d0b 100644 --- a/doc/ogg/oggpack_look.html +++ b/doc/ogg/oggpack_look.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -56,7 +56,7 @@ long oggpack_look(oggpack_buffer *b,int bits)

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_look1.html b/doc/ogg/oggpack_look1.html index 618bb83..4b9cfe7 100644 --- a/doc/ogg/oggpack_look1.html +++ b/doc/ogg/oggpack_look1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -53,7 +53,7 @@ long oggpack_look1(oggpack_buffer *b);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_read.html b/doc/ogg/oggpack_read.html index dfde5a1..faf3eb7 100644 --- a/doc/ogg/oggpack_read.html +++ b/doc/ogg/oggpack_read.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -55,7 +55,7 @@ long oggpack_read(oggpack_buffer *b,int bits);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_read1.html b/doc/ogg/oggpack_read1.html index 3c35177..e697a60 100644 --- a/doc/ogg/oggpack_read1.html +++ b/doc/ogg/oggpack_read1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -53,7 +53,7 @@ long oggpack_read1(oggpack_buffer *b);

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_readinit.html b/doc/ogg/oggpack_readinit.html index f7bd99d..6d537a3 100644 --- a/doc/ogg/oggpack_readinit.html +++ b/doc/ogg/oggpack_readinit.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -54,7 +54,7 @@ No values are returned.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_reset.html b/doc/ogg/oggpack_reset.html index cd435b2..9002310 100644 --- a/doc/ogg/oggpack_reset.html +++ b/doc/ogg/oggpack_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -52,7 +52,7 @@ No values are returned.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_write.html b/doc/ogg/oggpack_write.html index 12f4586..33d8788 100644 --- a/doc/ogg/oggpack_write.html +++ b/doc/ogg/oggpack_write.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -58,7 +58,7 @@ No values are returned.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_writealign.html b/doc/ogg/oggpack_writealign.html index 70ead61..0137e61 100644 --- a/doc/ogg/oggpack_writealign.html +++ b/doc/ogg/oggpack_writealign.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20020719

      libogg release 1.0 - 20020719

      @@ -55,7 +55,7 @@ No values are returned.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20020719

      +

      libogg release 1.0 - 20020719

      diff --git a/doc/ogg/oggpack_writeclear.html b/doc/ogg/oggpack_writeclear.html index 2584c17..a554eed 100644 --- a/doc/ogg/oggpack_writeclear.html +++ b/doc/ogg/oggpack_writeclear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -52,7 +52,7 @@ No values are returned.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_writecopy.html b/doc/ogg/oggpack_writecopy.html index 173f7b0..18f599a 100644 --- a/doc/ogg/oggpack_writecopy.html +++ b/doc/ogg/oggpack_writecopy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20020719

      libogg release 1.0 - 20020719

      @@ -59,7 +59,7 @@ No values are returned.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20020719

      +

      libogg release 1.0 - 20020719

      diff --git a/doc/ogg/oggpack_writeinit.html b/doc/ogg/oggpack_writeinit.html index dd7c9c9..1da1f17 100644 --- a/doc/ogg/oggpack_writeinit.html +++ b/doc/ogg/oggpack_writeinit.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -52,7 +52,7 @@ No values are returned.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      diff --git a/doc/ogg/oggpack_writetrunc.html b/doc/ogg/oggpack_writetrunc.html index f556a54..7e8750c 100644 --- a/doc/ogg/oggpack_writetrunc.html +++ b/doc/ogg/oggpack_writetrunc.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20020719

      libogg release 1.0 - 20020719

      @@ -55,7 +55,7 @@ No values are returned.

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20020719

      +

      libogg release 1.0 - 20020719

      diff --git a/doc/ogg/overview.html b/doc/ogg/overview.html index 841e099..f21cf4b 100644 --- a/doc/ogg/overview.html +++ b/doc/ogg/overview.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg version 1.25 - 20000615

      libogg release 1.0 - 20000615

      @@ -35,7 +35,7 @@ The libogg API consists of the following functional categories:

      Ogg Vorbis
      team@xiph.org

      libogg documentation

      -

      libogg version 1.25 - 20000615

      +

      libogg release 1.0 - 20000615

      -- cgit v1.2.3 From 3aa6e509a506d7473d2b1ad6f351e0c966245528 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Sat, 14 Sep 2002 18:32:57 +0000 Subject: Correct url for the crc introduction. Thanks to Keith Wright for the fix. svn path=/trunk/ogg/; revision=3910 --- doc/framing.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/framing.html b/doc/framing.html index 99b1baa..26293dc 100644 --- a/doc/framing.html +++ b/doc/framing.html @@ -307,7 +307,7 @@ buffered packet segments.

      computed value.

      (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" by Ross Williams ross@guest.adelaide.edu.au.) -- cgit v1.2.3 From e1fe1cacb3ff8d9cd9ce7310ac9bf971121532df Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Sun, 29 Sep 2002 07:10:37 +0000 Subject: fix documentation errors. thanks to David K. Gasaway for pointing out the problem. svn path=/trunk/ogg/; revision=3964 --- doc/ogg/ogg_stream_flush.html | 2 +- doc/ogg/ogg_stream_pageout.html | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/ogg/ogg_stream_flush.html b/doc/ogg/ogg_stream_flush.html index ab62190..05d75fb 100644 --- a/doc/ogg/ogg_stream_flush.html +++ b/doc/ogg/ogg_stream_flush.html @@ -26,7 +26,7 @@

      
      -int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
      +int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
       
      diff --git a/doc/ogg/ogg_stream_pageout.html b/doc/ogg/ogg_stream_pageout.html index f552ad3..c703382 100644 --- a/doc/ogg/ogg_stream_pageout.html +++ b/doc/ogg/ogg_stream_pageout.html @@ -43,9 +43,8 @@ int ogg_stream_pageout(ogg_stream_state *os,

      Return Values

      -
    • 0 means that there is not enough data yet to form a page.
    • -
    • -0 means that the page was successfully submitted to the bitstream.
    • +
    • Zero means that insufficient data has accumulated to fill a page.
    • +
    • Non-zero means that a page has been completed and flushed.
    • -- cgit v1.2.3 From 28ceeb5cd385df40d0ada945a55328619c1e5ee5 Mon Sep 17 00:00:00 2001 From: calc Date: Wed, 3 Sep 2003 04:45:13 +0000 Subject: fix makefile.am to install vorbisword2.png svn path=/trunk/ogg/; revision=5295 --- doc/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index 4a224c0..fa5bf56 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -6,6 +6,6 @@ SUBDIRS = ogg docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) -doc_DATA = index.html framing.html oggstream.html white-xifish.png stream.png white-ogg.png +doc_DATA = index.html framing.html oggstream.html stream.png vorbisword2.png white-ogg.png white-xifish.png EXTRA_DIST = $(doc_DATA) -- cgit v1.2.3 From 8dc18286178371c7e47a042c86148f77b483adea Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Wed, 24 Sep 2003 11:06:22 +0000 Subject: Add the Ogg rfc documents. Not that rfc 3533 describing the Ogg bitstream format is informational, and our work remains authoritative. svn path=/trunk/ogg/; revision=5369 --- doc/rfc3533.txt | 843 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/rfc3534.txt | 339 +++++++++++++++++++++++ 2 files changed, 1182 insertions(+) create mode 100644 doc/rfc3533.txt create mode 100644 doc/rfc3534.txt (limited to 'doc') diff --git a/doc/rfc3533.txt b/doc/rfc3533.txt new file mode 100644 index 0000000..f2fcd1a --- /dev/null +++ b/doc/rfc3533.txt @@ -0,0 +1,843 @@ + + + + + + +Network Working Group S. Pfeiffer +Request for Comments: 3533 CSIRO +Category: Informational May 2003 + + + The Ogg Encapsulation Format Version 0 + +Status of this Memo + + This memo provides information for the Internet community. It does + not specify an Internet standard of any kind. Distribution of this + memo is unlimited. + +Copyright Notice + + Copyright (C) The Internet Society (2003). All Rights Reserved. + +Abstract + + This document describes the Ogg bitstream format version 0, which is + a general, freely-available encapsulation format for media streams. + It is able to encapsulate any kind and number of video and audio + encoding formats as well as other data streams in a single bitstream. + +Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in BCP 14, RFC 2119 [2]. + +Table of Contents + + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 + 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 2 + 3. Requirements for a generic encapsulation format . . . . . . . 3 + 4. The Ogg bitstream format . . . . . . . . . . . . . . . . . . . 3 + 5. The encapsulation process . . . . . . . . . . . . . . . . . . 6 + 6. The Ogg page format . . . . . . . . . . . . . . . . . . . . . 9 + 7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 + 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 + A. Glossary of terms and abbreviations . . . . . . . . . . . . . 13 + B. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14 + Author's Address . . . . . . . . . . . . . . . . . . . . . . . 14 + Full Copyright Statement . . . . . . . . . . . . . . . . . . . 15 + + + + + + + +Pfeiffer Informational [Page 1] + +RFC 3533 OGG May 2003 + + +1. Introduction + + The Ogg bitstream format has been developed as a part of a larger + project aimed at creating a set of components for the coding and + decoding of multimedia content (codecs) which are to be freely + available and freely re-implementable, both in software and in + hardware for the computing community at large, including the Internet + community. It is the intention of the Ogg developers represented by + Xiph.Org that it be usable without intellectual property concerns. + + This document describes the Ogg bitstream format and how to use it to + encapsulate one or several media bitstreams created by one or several + encoders. 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 the upcoming Tarkin and Theora video + codecs. It is capable of interleaving different binary media and + other time-continuous data streams that are prepared by an encoder as + a sequence of data packets. Ogg provides enough information to + properly separate data back into such encoder created data packets at + the original packet boundaries without relying on decoding to find + packet boundaries. + + Please note that the MIME type application/ogg has been registered + with the IANA [1]. + +2. Definitions + + For describing the Ogg encapsulation process, a set of terms will be + used whose meaning needs to be well understood. Therefore, some of + the most fundamental terms are defined now before we start with the + description of the requirements for a generic media stream + encapsulation format, the process of encapsulation, and the concrete + format of the Ogg bitstream. See the Appendix for a more complete + glossary. + + The result of an Ogg encapsulation is called the "Physical (Ogg) + Bitstream". It encapsulates one or several encoder-created + bitstreams, which are called "Logical Bitstreams". A logical + bitstream, provided to the Ogg encapsulation process, has a + structure, i.e., it is split up into a sequence of so-called + "Packets". The packets are created by the encoder of that logical + bitstream and represent meaningful entities for that encoder only + (e.g., an uncompressed stream may use video frames as packets). They + do not contain boundary information - strung together they appear to + be streams of random bytes with no landmarks. + + + + + +Pfeiffer Informational [Page 2] + +RFC 3533 OGG May 2003 + + + Please note that the term "packet" is not used in this document to + signify entities for transport over a network. + +3. Requirements for a generic encapsulation format + + The design idea behind Ogg was to provide a generic, linear media + transport format to enable both file-based storage and stream-based + transmission of one or several interleaved media streams independent + of the encoding format of the media data. Such an encapsulation + format needs to provide: + + o framing for logical bitstreams. + + o interleaving of different logical bitstreams. + + o detection of corruption. + + o recapture after a parsing error. + + o position landmarks for direct random access of arbitrary positions + in the bitstream. + + o streaming capability (i.e., no seeking is needed to build a 100% + complete bitstream). + + o small overhead (i.e., use no more than approximately 1-2% of + bitstream bandwidth for packet boundary marking, high-level + framing, sync and seeking). + + o simplicity to enable fast parsing. + + o simple concatenation mechanism of several physical bitstreams. + + All of these design considerations have been taken into consideration + for Ogg. Ogg supports framing and interleaving of logical + bitstreams, seeking landmarks, detection of corruption, and stream + resynchronisation after a parsing error with no more than + approximately 1-2% overhead. It is a generic framework to perform + encapsulation of time-continuous bitstreams. It does not know any + specifics about the codec data that it encapsulates and is thus + independent of any media codec. + +4. The Ogg bitstream format + + A physical Ogg bitstream consists of multiple logical bitstreams + interleaved in so-called "Pages". Whole pages are taken in order + from multiple logical bitstreams multiplexed at the page level. The + logical bitstreams are identified by a unique serial number in the + + + +Pfeiffer Informational [Page 3] + +RFC 3533 OGG May 2003 + + + header of each page of the physical bitstream. This unique serial + number is created randomly and does not have any connection to the + content or encoder of the logical bitstream it represents. Pages of + all logical bitstreams are concurrently interleaved, but they need + not be in a regular order - they are only required to be consecutive + within the logical bitstream. Ogg demultiplexing 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. + + Each Ogg page contains only one type of data as it belongs to one + logical bitstream only. Pages are of variable size and have a page + header containing encapsulation and error recovery information. Each + logical bitstream in a physical Ogg bitstream starts with a special + start page (bos=beginning of stream) and ends with a special page + (eos=end of stream). + + The bos page contains information to uniquely identify the codec type + and MAY contain information to set up the decoding process. The bos + page SHOULD also contain information about the encoded media - for + example, for audio, it should contain the sample rate and number of + channels. By convention, the first bytes of the bos page contain + magic data that uniquely identifies the required codec. It is the + responsibility of anyone fielding a new codec to make sure it is + possible to reliably distinguish his/her codec from all other codecs + in use. There is no fixed way to detect the end of the codec- + identifying marker. The format of the bos page is dependent on the + codec and therefore MUST be given in the encapsulation specification + of that logical bitstream type. Ogg also allows but does not require + secondary header packets after the bos page for logical bitstreams + and these must also precede any data packets in any logical + bitstream. These subsequent header packets are framed into an + integral number of pages, which will not contain any data packets. + So, a physical bitstream begins with the bos pages of all logical + bitstreams containing one initial header packet per page, followed by + the subsidiary header packets of all streams, followed by pages + containing data packets. + + The encapsulation specification for one or more logical bitstreams is + called a "media mapping". An example for a media mapping is "Ogg + Vorbis", which uses the Ogg framework to encapsulate Vorbis-encoded + audio data for stream-based storage (such as files) and transport + (such as TCP streams or pipes). Ogg Vorbis provides the name and + revision of the Vorbis codec, the audio rate and the audio quality on + the Ogg Vorbis bos page. It also uses two additional header pages + per logical bitstream. The Ogg Vorbis bos page starts with the byte + 0x01, followed by "vorbis" (a total of 7 bytes of identifier). + + + + +Pfeiffer Informational [Page 4] + +RFC 3533 OGG May 2003 + + + Ogg knows two types of multiplexing: concurrent multiplexing (so- + called "Grouping") and sequential multiplexing (so-called + "Chaining"). Grouping defines how to interleave several logical + bitstreams page-wise in the same physical bitstream. Grouping is for + example needed for interleaving a video stream with several + synchronised audio tracks using different codecs in different logical + bitstreams. Chaining on the other hand, is defined to provide a + simple mechanism to concatenate physical Ogg bitstreams, as is often + needed for streaming applications. + + In grouping, all bos pages of all logical bitstreams MUST appear + together at the beginning of the Ogg bitstream. The media mapping + specifies the order of the initial pages. For example, the grouping + of a specific Ogg video and Ogg audio bitstream may specify that the + physical bitstream MUST begin with the bos page of the logical video + bitstream, followed by the bos page of the audio bitstream. Unlike + bos pages, eos pages for the logical bitstreams need not all occur + contiguously. Eos pages may be 'nil' pages, that is, pages + containing no content but simply a page header with position + information and the eos flag set in the page header. Each grouped + logical bitstream MUST have a unique serial number within the scope + of the physical bitstream. + + In chaining, complete logical bitstreams are concatenated. The + bitstreams do not overlap, i.e., the eos page of a given logical + bitstream is immediately followed by the bos page of the next. Each + chained logical bitstream MUST have a unique serial number within the + scope of the physical bitstream. + + It is possible to consecutively chain groups of concurrently + multiplexed bitstreams. The groups, when unchained, MUST stand on + their own as a valid concurrently multiplexed bitstream. The + following diagram shows a schematic example of such a physical + bitstream that obeys all the rules of both grouped and chained + multiplexed bitstreams. + + physical bitstream with pages of + different logical bitstreams grouped and chained + ------------------------------------------------------------- + |*A*|*B*|*C*|A|A|C|B|A|B|#A#|C|...|B|C|#B#|#C#|*D*|D|...|#D#| + ------------------------------------------------------------- + bos bos bos eos eos eos bos eos + + In this example, there are two chained physical bitstreams, the first + of which is a grouped stream of three logical bitstreams A, B, and C. + The second physical bitstream is chained after the end of the grouped + bitstream, which ends after the last eos page of all its grouped + logical bitstreams. As can be seen, grouped bitstreams begin + + + +Pfeiffer Informational [Page 5] + +RFC 3533 OGG May 2003 + + + together - all of the bos pages MUST appear before any data pages. + It can also be seen that pages of concurrently multiplexed bitstreams + need not conform to a regular order. And it can be seen that a + grouped bitstream can end long before the other bitstreams in the + group end. + + Ogg does not know any specifics about the codec data except that each + logical bitstream belongs to a different codec, the data from the + codec comes in order and has position markers (so-called "Granule + positions"). Ogg does not have a concept of 'time': it only knows + about sequentially increasing, unitless position markers. An + application can only get temporal information through higher layers + which have access to the codec APIs to assign and convert granule + positions or time. + + A specific definition of a media mapping using Ogg may put further + constraints on its specific use of the Ogg bitstream format. For + example, a specific media mapping may require that all the eos pages + for all grouped bitstreams need to appear in direct sequence. An + example for a media mapping is the specification of "Ogg Vorbis". + Another example is the upcoming "Ogg Theora" specification which + encapsulates Theora-encoded video data and usually comes multiplexed + with a Vorbis stream for an Ogg containing synchronised audio and + video. As Ogg does not specify temporal relationships between the + encapsulated concurrently multiplexed bitstreams, the temporal + synchronisation between the audio and video stream will be specified + in this media mapping. To enable streaming, pages from various + logical bitstreams will typically be interleaved in chronological + order. + +5. The encapsulation process + + The process of multiplexing different logical bitstreams happens at + the level of pages as described above. The bitstreams provided by + encoders are however handed over to Ogg as so-called "Packets" with + packet boundaries dependent on the encoding format. The process of + encapsulating packets into pages will be described now. + + From Ogg's perspective, packets can be of any arbitrary size. A + specific media mapping will define how to group or break up packets + from a specific media encoder. As Ogg pages have a maximum size of + about 64 kBytes, sometimes a packet has to be distributed over + several pages. To simplify that process, Ogg divides each packet + into 255 byte long chunks plus a final shorter chunk. These chunks + are called "Ogg Segments". They are only a logical construct and do + not have a header for themselves. + + + + + +Pfeiffer Informational [Page 6] + +RFC 3533 OGG May 2003 + + + A group of contiguous segments is wrapped into a variable length page + preceded by a header. A segment table in the page header tells about + the "Lacing values" (sizes) of the segments included in the page. A + flag in the page header tells whether a page contains a packet + continued from a previous page. Note that a lacing value of 255 + implies that a second lacing value follows in the packet, and a value + of less than 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. 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. + + The encoding is optimized for speed and the expected case of the + majority of packets being between 50 and 200 bytes large. This is a + design justification rather than a recommendation. This encoding + both avoids imposing a maximum packet size as well as imposing + minimum overhead on small packets. In contrast, e.g., simply using + two bytes at the head of every packet and having a max packet size of + 32 kBytes would always penalize small packets (< 255 bytes, the + typical case) with twice the segmentation overhead. Using the lacing + values as suggested, small packets see the minimum possible byte- + aligned overhead (1 byte) and large packets (>512 bytes) see a fairly + constant ~0.5% overhead on encoding space. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Pfeiffer Informational [Page 7] + +RFC 3533 OGG May 2003 + + + The following diagram shows a schematic example of a media mapping + using Ogg and grouped logical bitstreams: + + logical bitstream with packet boundaries + ----------------------------------------------------------------- + > | packet_1 | packet_2 | packet_3 | < + ----------------------------------------------------------------- + + |segmentation (logically only) + v + + packet_1 (5 segments) packet_2 (4 segs) p_3 (2 segs) + ------------------------------ -------------------- ------------ + .. |seg_1|seg_2|seg_3|seg_4|s_5 | |seg_1|seg_2|seg_3|| |seg_1|s_2 | .. + ------------------------------ -------------------- ------------ + + | page encapsulation + v + + page_1 (packet_1 data) page_2 (pket_1 data) page_3 (packet_2 data) +------------------------ ---------------- ------------------------ +|H|------------------- | |H|----------- | |H|------------------- | +|D||seg_1|seg_2|seg_3| | |D|seg_4|s_5 | | |D||seg_1|seg_2|seg_3| | ... +|R|------------------- | |R|----------- | |R|------------------- | +------------------------ ---------------- ------------------------ + + | +pages of | +other --------| | +logical ------- +bitstreams | MUX | + ------- + | + v + + page_1 page_2 page_3 + ------ ------ ------- ----- ------- + ... || | || | || | || | || | ... + ------ ------ ------- ----- ------- + physical Ogg bitstream + + In this example we take a snapshot of the encapsulation process of + one logical bitstream. We can see part of that bitstream's + subdivision into packets as provided by the codec. The Ogg + encapsulation process chops up the packets into segments. The + packets in this example are rather large such that packet_1 is split + into 5 segments - 4 segments with 255 bytes and a final smaller one. + Packet_2 is split into 4 segments - 3 segments with 255 bytes and a + + + +Pfeiffer Informational [Page 8] + +RFC 3533 OGG May 2003 + + + final very small one - and packet_3 is split into two segments. The + encapsulation process then creates pages, which are quite small in + this example. Page_1 consists of the first three segments of + packet_1, page_2 contains the remaining 2 segments from packet_1, and + page_3 contains the first three pages of packet_2. Finally, this + logical bitstream is multiplexed into a physical Ogg bitstream with + pages of other logical bitstreams. + +6. The Ogg page format + + A physical Ogg bitstream consists of a sequence of concatenated + pages. Pages are of variable size, usually 4-8 kB, maximum 65307 + bytes. A page header contains all the information needed to + demultiplex the logical bitstreams out of the physical bitstream and + to perform basic error recovery and landmarks for seeking. Each page + is a self-contained entity such that the page decode mechanism can + recognize, verify, and handle single pages at a time without + requiring the overall bitstream. + + The Ogg page header has the following format: + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1| Byte ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| capture_pattern: Magic number for page start "OggS" | 0-3 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| version | header_type | granule_position | 4-7 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| | 8-11 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| | bitstream_serial_number | 12-15 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| | page_sequence_number | 16-19 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| | CRC_checksum | 20-23 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| |page_segments | segment_table | 24-27 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| ... | 28- ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + The LSb (least significant bit) comes first in the Bytes. Fields + with more than one byte length are encoded LSB (least significant + byte) first. + + + + + + + +Pfeiffer Informational [Page 9] + +RFC 3533 OGG May 2003 + + + The fields in the page header have the following meaning: + + 1. capture_pattern: a 4 Byte field that signifies the beginning of a + page. It contains the magic numbers: + + 0x4f 'O' + + 0x67 'g' + + 0x67 'g' + + 0x53 'S' + + It helps a decoder to find the page boundaries and regain + synchronisation after parsing a corrupted stream. Once the + capture pattern is found, the decoder verifies page sync and + integrity by computing and comparing the checksum. + + 2. stream_structure_version: 1 Byte signifying the version number of + the Ogg file format used in this stream (this document specifies + version 0). + + 3. header_type_flag: the bits in this 1 Byte field identify the + specific type of this page. + + * bit 0x01 + + set: page contains data of a packet continued from the previous + page + + unset: page contains a fresh packet + + * bit 0x02 + + set: this is the first page of a logical bitstream (bos) + + unset: this page is not a first page + + * bit 0x04 + + set: this is the last page of a logical bitstream (eos) + + unset: this page is not a last page + + 4. granule_position: an 8 Byte field containing position information. + For example, for an audio stream, it MAY contain the total number + of PCM samples encoded after including all frames finished on this + page. For a video stream it MAY contain the total number of video + + + +Pfeiffer Informational [Page 10] + +RFC 3533 OGG May 2003 + + + frames encoded after this page. This is a hint for the decoder + and gives it some timing and position information. Its meaning is + dependent on the codec for that logical bitstream and specified in + a specific media mapping. A special value of -1 (in two's + complement) indicates that no packets finish on this page. + + 5. bitstream_serial_number: a 4 Byte field containing the unique + serial number by which the logical bitstream is identified. + + 6. page_sequence_number: a 4 Byte field containing the sequence + number of the page so the decoder can identify page loss. This + sequence number is increasing on each logical bitstream + separately. + + 7. CRC_checksum: a 4 Byte field containing a 32 bit CRC checksum of + the page (including header with zero CRC field and page content). + The generator polynomial is 0x04c11db7. + + 8. number_page_segments: 1 Byte giving the number of segment entries + encoded in the segment table. + + 9. segment_table: number_page_segments Bytes containing the lacing + values of all segments in this page. Each Byte contains one + lacing value. + + The total header size in bytes is given by: + header_size = number_page_segments + 27 [Byte] + + The total page size in Bytes is given by: + page_size = header_size + sum(lacing_values: 1..number_page_segments) + [Byte] + +7. Security Considerations + + The Ogg encapsulation format is a container format and only + encapsulates content (such as Vorbis-encoded audio). It does not + provide for any generic encryption or signing of itself or its + contained content bitstreams. However, it encapsulates any kind of + content bitstream as long as there is a codec for it, and is thus + able to contain encrypted and signed content data. It is also + possible to add an external security mechanism that encrypts or signs + an Ogg physical bitstream and thus provides content confidentiality + and authenticity. + + As Ogg encapsulates binary data, it is possible to include executable + content in an Ogg bitstream. This can be an issue with applications + that are implemented using the Ogg format, especially when Ogg is + used for streaming or file transfer in a networking scenario. As + + + +Pfeiffer Informational [Page 11] + +RFC 3533 OGG May 2003 + + + such, Ogg does not pose a threat there. However, an application + decoding Ogg and its encapsulated content bitstreams has to ensure + correct handling of manipulated bitstreams, of buffer overflows and + the like. + +8. References + + [1] Walleij, L., "The application/ogg Media Type", RFC 3534, May + 2003. + + [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement + Levels", BCP 14, RFC 2119, March 1997. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Pfeiffer Informational [Page 12] + +RFC 3533 OGG May 2003 + + +Appendix A. Glossary of terms and abbreviations + + bos page: The initial page (beginning of stream) of a logical + bitstream which contains information to identify the codec type + and other decoding-relevant information. + + chaining (or sequential multiplexing): Concatenation of two or more + complete physical Ogg bitstreams. + + eos page: The final page (end of stream) of a logical bitstream. + + granule position: An increasing position number for a specific + logical bitstream stored in the page header. Its meaning is + dependent on the codec for that logical bitstream and specified in + a specific media mapping. + + grouping (or concurrent multiplexing): Interleaving of pages of + several logical bitstreams into one complete physical Ogg + bitstream under the restriction that all bos pages of all grouped + logical bitstreams MUST appear before any data pages. + + lacing value: An entry in the segment table of a page header + representing the size of the related segment. + + logical bitstream: A sequence of bits being the result of an encoded + media stream. + + media mapping: A specific use of the Ogg encapsulation format + together with a specific (set of) codec(s). + + (Ogg) packet: A subpart of a logical bitstream that is created by the + encoder for that bitstream and represents a meaningful entity for + the encoder, but only a sequence of bits to the Ogg encapsulation. + + (Ogg) page: A physical bitstream consists of a sequence of Ogg pages + containing data of one logical bitstream only. It usually + contains a group of contiguous segments of one packet only, but + sometimes packets are too large and need to be split over several + pages. + + physical (Ogg) bitstream: The sequence of bits resulting from an Ogg + encapsulation of one or several logical bitstreams. It consists + of a sequence of pages from the logical bitstreams with the + restriction that the pages of one logical bitstream MUST come in + their correct temporal order. + + + + + + +Pfeiffer Informational [Page 13] + +RFC 3533 OGG May 2003 + + + (Ogg) segment: The Ogg encapsulation process splits each packet into + chunks of 255 bytes plus a last fractional chunk of less than 255 + bytes. These chunks are called segments. + +Appendix B. Acknowledgements + + The author gratefully acknowledges the work that Christopher + Montgomery and the Xiph.Org foundation have done in defining the Ogg + multimedia project and as part of it the open file format described + in this document. The author hopes that providing this document to + the Internet community will help in promoting the Ogg multimedia + project at http://www.xiph.org/. Many thanks also for the many + technical and typo corrections that C. Montgomery and the Ogg + community provided as feedback to this RFC. + +Author's Address + + Silvia Pfeiffer + CSIRO, Australia + Locked Bag 17 + North Ryde, NSW 2113 + Australia + + Phone: +61 2 9325 3141 + EMail: Silvia.Pfeiffer@csiro.au + URI: http://www.cmis.csiro.au/Silvia.Pfeiffer/ + + + + + + + + + + + + + + + + + + + + + + + + + +Pfeiffer Informational [Page 14] + +RFC 3533 OGG May 2003 + + +Full Copyright Statement + + Copyright (C) The Internet Society (2003). All Rights Reserved. + + This document and translations of it may be copied and furnished to + others, and derivative works that comment on or otherwise explain it + or assist in its implementation may be prepared, copied, published + and distributed, in whole or in part, without restriction of any + kind, provided that the above copyright notice and this paragraph are + included on all such copies and derivative works. However, this + document itself may not be modified in any way, such as by removing + the copyright notice or references to the Internet Society or other + Internet organizations, except as needed for the purpose of + developing Internet standards in which case the procedures for + copyrights defined in the Internet Standards process must be + followed, or as required to translate it into languages other than + English. + + The limited permissions granted above are perpetual and will not be + revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on an + "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING + TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION + HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Acknowledgement + + Funding for the RFC Editor function is currently provided by the + Internet Society. + + + + + + + + + + + + + + + + + + + +Pfeiffer Informational [Page 15] + diff --git a/doc/rfc3534.txt b/doc/rfc3534.txt new file mode 100644 index 0000000..840f1ec --- /dev/null +++ b/doc/rfc3534.txt @@ -0,0 +1,339 @@ + + + + + + +Network Working Group L. Walleij +Request for Comments: 3534 The Ogg Vorbis Community +Category: Standards Track May 2003 + + + The application/ogg Media Type + +Status of this Memo + + This document specifies an Internet standards track protocol for the + Internet community, and requests discussion and suggestions for + improvements. Please refer to the current edition of the "Internet + Official Protocol Standards" (STD 1) for the standardization state + and status of this protocol. Distribution of this memo is unlimited. + +Copyright Notice + + Copyright (C) The Internet Society (2003). All Rights Reserved. + +Abstract + + The Ogg Bitstream Format aims at becoming a general, freely-available + standard for transporting multimedia content across computing + platforms and networks. The intention of this document is to define + the MIME media type application/ogg to refer to this kind of content + when transported across the Internet. It is the intention of the Ogg + Bitstream Format developers that it be usable without intellectual + property concerns. + +Conventions used in this Document + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in RFC 2119 [2]. + +1. The Ogg Bitstream Format + + The Ogg Bitstream format has been developed as a part of a larger + project aimed at creating a set of components for the coding and + decoding of multimedia content (codecs) which are to be freely + available and freely re-implementable both in software and in + hardware for the computing community at large, including the Internet + community. + + Raw packets from these codecs may be used directly by transport + mechanisms that provide their own framing and packet-separation + mechanisms (such as UDP datagrams). + + + + +Walleij Standards Track [Page 1] + +RFC 3534 The application/ogg Media Type May 2003 + + + One such framing and content-separation mechanism is the real-time + transport protocol (RTP). RTP allows the streaming of synchronous + lossy data for broadcasting and similar purposes. If this function + is desired then a separate RTP wrapping mechanism should be used. A + wrapping mechanism is currently under development. + + For stream based storage (such as files) and transport (such as TCP + streams or pipes), 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. The application/ogg MIME type refers to this kind + of bitstreams, when no further knowledge of the bitstream content + exists. + + The bitstream format in itself is documented in [1]. + +2. Registration Information + + To: ietf-types@iana.org + + Subject: Registration of MIME media type application/ogg + + MIME media type name: application + + MIME subtype name: ogg + + Required parameters: none + + Optional parameters: none + + Encoding Considerations: + + The Ogg bitstream format is binary data, and must be encoded for + non-binary transport; the Base64 encoding is suitable for Email. + Binary encoding could also be used. + + Security Considerations: + + As the Ogg bitstream file is a container format and only a carrier of + content (such as Vorbis audio) with a very rigid definition (see + [1]), this format in itself is not more vulnerable than any other + content framing mechanism. The main security consideration for the + receiving application is to ensure that manipulated packages can not + cause buffer overflows and the like. It is possible to encapsulate + even executable content in the bitstream, so for such uses additional + security considerations must be taken. + + + + +Walleij Standards Track [Page 2] + +RFC 3534 The application/ogg Media Type May 2003 + + + Ogg bitstream files are not signed or encrypted using any applicable + encryption schemes. External security mechanisms must be added if + content confidentiality and authenticity is to be achieved. + + Interoperability considerations: + + The Ogg bitstream format has proved to be widely implementable across + different computing platforms. A broadly portable reference + implementation is available under a BSD license. + + The Ogg bitstream format is not patented and can be implemented by + third parties without patent considerations. + + Published specification: + + See [1]. + + Applications which use this media type: + + Any application that implements the specification will be able to + encode or decode Ogg bitstream files. Specifically, the format is + supposed to be used by subcodecs that implement, for example, Vorbis + audio. + + Additional information: + + Magic number(s): + + In Ogg bitstream files, the first four bytes are 0x4f 0x67 0x67 0x53 + corresponding to the string "OggS". + + File extension: .ogg + + Macintosh File Type Code(s): OggS + + Object Identifier(s) or OID(s): none + + Person & email address to contact for further information: + + Questions about this proposal should be directed to Linus Walleij + . Technical questions about the Ogg bitstream + standard may be asked on the mailing lists for the developer + community. + + Intended usage: COMMON + + + + + + +Walleij Standards Track [Page 3] + +RFC 3534 The application/ogg Media Type May 2003 + + + Author/Change controller: + + This document was written by Linus Walleij . + Changes to this document will either be handled by him, a + representative of the Xiph.org, or the associated development + communities. + + The Ogg bitstream format is controlled by the Xiph.org and the + respective development communities. + +3. Security Considerations + + Security considerations are discussed in the security considerations + clause of the MIME registration in section 2. + +4. Normative References + + [1] Pfeiffer, S., "The Ogg encapsulation format version 0", RFC + 3533, May 2003. + + [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement + Levels", BCP 14, RFC 2119, March 1997. + +5. Intellectual Property Statement + + The IETF takes no position regarding the validity or scope of any + intellectual property or other rights that might be claimed to + pertain to the implementation or use of the technology described in + this document or the extent to which any license under such rights + might or might not be available; neither does it represent that it + has made any effort to identify any such rights. Information on the + IETF's procedures with respect to rights in standards-track and + standards-related documentation can be found in BCP-11. Copies of + claims of rights made available for publication and any assurances of + licenses to be made available, or the result of an attempt made to + obtain a general license or permission for the use of such + proprietary rights by implementors or users of this specification can + be obtained from the IETF Secretariat. + + The IETF invites any interested party to bring to its attention any + copyrights, patents or patent applications, or other proprietary + rights which may cover technology that may be required to practice + this standard. Please address the information to the IETF Executive + Director. + + + + + + + +Walleij Standards Track [Page 4] + +RFC 3534 The application/ogg Media Type May 2003 + + +6. Author's Address + + Linus Walleij + The Ogg Vorbis Community + Master Olofs Vag 24 + Lund 224 66 + SE + + Phone: +46 703 193678 + EMail: triad@df.lth.se + URI: http://www.xiph.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Walleij Standards Track [Page 5] + +RFC 3534 The application/ogg Media Type May 2003 + + +7. Full Copyright Statement + + Copyright (C) The Internet Society (2003). All Rights Reserved. + + This document and translations of it may be copied and furnished to + others, and derivative works that comment on or otherwise explain it + or assist in its implementation may be prepared, copied, published + and distributed, in whole or in part, without restriction of any + kind, provided that the above copyright notice and this paragraph are + included on all such copies and derivative works. However, this + document itself may not be modified in any way, such as by removing + the copyright notice or references to the Internet Society or other + Internet organizations, except as needed for the purpose of + developing Internet standards in which case the procedures for + copyrights defined in the Internet Standards process must be + followed, or as required to translate it into languages other than + English. + + The limited permissions granted above are perpetual and will not be + revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on an + "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING + TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION + HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Acknowledgement + + Funding for the RFC Editor function is currently provided by the + Internet Society. + + + + + + + + + + + + + + + + + + + +Walleij Standards Track [Page 6] + -- cgit v1.2.3 From 00c9b68b504b65c5b6b377380a5b87e9875b5db0 Mon Sep 17 00:00:00 2001 From: calc Date: Sat, 18 Oct 2003 21:17:30 +0000 Subject: build system updates 1. to not ship config_types.h 2. to install new html/rfc files svn path=/trunk/ogg/; revision=5488 --- doc/Makefile.am | 2 +- doc/ogg/Makefile.am | 33 ++++++++++++++++++--------------- 2 files changed, 19 insertions(+), 16 deletions(-) (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index fa5bf56..81eae4b 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -6,6 +6,6 @@ SUBDIRS = ogg docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) -doc_DATA = index.html framing.html oggstream.html stream.png vorbisword2.png white-ogg.png white-xifish.png +doc_DATA = framing.html index.html oggstream.html rfc3533.txt rfc3534.txt stream.png vorbisword2.png white-ogg.png white-xifish.png EXTRA_DIST = $(doc_DATA) diff --git a/doc/ogg/Makefile.am b/doc/ogg/Makefile.am index 5ebed4f..af12d84 100644 --- a/doc/ogg/Makefile.am +++ b/doc/ogg/Makefile.am @@ -5,23 +5,26 @@ AUTOMAKE_OPTIONS = foreign docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/ogg doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ - general.html index.html ogg_packet.html ogg_page.html\ - ogg_page_bos.html ogg_page_continued.html ogg_page_eos.html\ - ogg_page_granulepos.html ogg_page_pageno.html ogg_page_serialno.html\ + general.html index.html ogg_packet.html ogg_packet_clear.html\ + ogg_page.html ogg_page_bos.html ogg_page_checksum_set.html\ + ogg_page_continued.html ogg_page_eos.html ogg_page_granulepos.html\ + ogg_page_packets.html ogg_page_pageno.html ogg_page_serialno.html\ ogg_page_version.html ogg_stream_clear.html ogg_stream_destroy.html\ - ogg_page_packets.html ogg_stream_eos.html ogg_stream_flush.html\ - ogg_stream_init.html ogg_stream_packetin.html ogg_stream_packetout.html\ - ogg_stream_pagein.html ogg_stream_pageout.html ogg_stream_reset.html\ - ogg_stream_state.html ogg_sync_buffer.html ogg_sync_clear.html\ - ogg_sync_destroy.html ogg_sync_init.html ogg_sync_pageout.html\ - ogg_sync_pageseek.html ogg_sync_reset.html ogg_sync_state.html\ - ogg_sync_wrote.html oggpack_adv.html oggpack_adv1.html\ - oggpack_bits.html oggpack_buffer.html\ - oggpack_bytes.html oggpack_get_buffer.html oggpack_look.html\ - oggpack_look1.html oggpack_read.html\ + ogg_stream_eos.html ogg_stream_flush.html ogg_stream_init.html\ + ogg_stream_packetin.html ogg_stream_packetout.html\ + ogg_stream_packetpeek.html ogg_stream_pagein.html\ + ogg_stream_pageout.html ogg_stream_reset.html\ + ogg_stream_reset_serialno.html ogg_stream_state.html\ + ogg_sync_buffer.html ogg_sync_clear.html ogg_sync_destroy.html\ + ogg_sync_init.html ogg_sync_pageout.html ogg_sync_pageseek.html\ + ogg_sync_reset.html ogg_sync_state.html ogg_sync_wrote.html\ + oggpack_adv.html oggpack_adv1.html oggpack_bits.html\ + oggpack_buffer.html oggpack_bytes.html oggpack_get_buffer.html\ + oggpack_look.html oggpack_look1.html oggpack_read.html\ oggpack_read1.html oggpack_readinit.html oggpack_reset.html\ - oggpack_write.html oggpack_writeclear.html oggpack_writeinit.html\ + oggpack_write.html oggpack_writealign.html oggpack_writeclear.html\ + oggpack_writecopy.html oggpack_writeinit.html oggpack_writetrunc.html\ overview.html reference.html style.css vorbis_comment.html\ - vorbis_info.html ogg_packet_clear.html ogg_page_checksum_set.html + vorbis_info.html EXTRA_DIST = $(doc_DATA) -- cgit v1.2.3 From 82bf4112f1548272829b32e29748d7942ee4514f Mon Sep 17 00:00:00 2001 From: Monty Date: Fri, 13 Feb 2004 06:20:57 +0000 Subject: In progress; avoid losing work svn path=/trunk/ogg/; revision=5822 --- doc/ogg-multiplex.html | 1177 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1177 insertions(+) create mode 100644 doc/ogg-multiplex.html (limited to 'doc') diff --git a/doc/ogg-multiplex.html b/doc/ogg-multiplex.html new file mode 100644 index 0000000..e6a8701 --- /dev/null +++ b/doc/ogg-multiplex.html @@ -0,0 +1,1177 @@ +xiph.org: Ogg documentation + +

      + +

      +Page Multiplexing and Ordering in a Physical Ogg Stream +

      + +Last update to this document: February 13, 2004
      +

      + +The low-level mechanisms of an Ogg stream (as described in the Ogg +Bitstream Overview) provide means for mixing multiple logical streams +and media types into a single linear-chronological stream. This +document discusses the high-level arrangement and use of page +structure to multiplex multiple streams of mixed media type within a +physical Ogg stream. + +

      Design Elements

      + +

      Chronological arrangement

      + +The Ogg bitstream is designed to provide data in a chronological +(time-linear) fashion. This design is such that an application can +encode and/or decode a full-featured bitstream in one pass with no +seeking an minimal buffering. Seeking to provide optimized encoding +(such as two-pass encoding) or interactive decoding (such as scrubbing +or instant replay) is not disallowed or discouraged, however no +bitstream feature must require nonlinear operation on the +bitstream.

      + +As an example, this is why Ogg specifies bisection-based exact seeking +rather than building an index; an index requires two-pass encoding and +as such is not acceptible according to original design requirements. +Even making an index optional then requires an application to support +multiple methods (bisection search for a one-pass stream, indexing for +a two-pass stream), which adds no additional functionality as +bisection search delivers the same functionality for both stream +types.

      + +

      Multiplexing

      + +Ogg bitstreams multiplex multiple logical streams into a single +physical stream at the page level. Each page contains an abstract +time stamp (the Granule Position) that represents an absolute time +landmark within the stream. After the pages representing stream +headers (all logical stream headers occur at the beginning of a +physical bitstream section before any logical stream data), logical +stream data pages are arranged in order of chronological absolute time +as specified by the granule position.

      + +The only exception to arranging pages in strictly ascending time order +by granule position is those pages that do not set the granule +position value. This is a special case when exceptionally large +packets span multiple pages; the specifics of handling this special +case are described later under 'Continuous and Discontinuous +Streams'.

      + +

      Buffering

      + +Ogg's multiplexing design minimizes extraneous buffering required to +maintain audio/video sync by arranging audio, video and other data in +chronological order. Thus, a normally streamed file delivers all +data for decode 'just in time'; pages arrive in the order they must +be consumed.

      + +Buffering requirements need not be explicitly declared or managed for +the encoded stream; the decoder simply reads as much data as is +necessary to keep all continuous stream types gapless (also ensuring +discontinuous data arrives in time) and no more, resulting in optimum +buffer usage for free. Because all pages of all data types are +stamped with absolute timing information within the stream, +inter-stream synchronization timing is always explicitly +maintained.

      + +

      Granule Position

      + +

      Description

      + +The Granule Position is a signed 64 bit field appearing in the header +of every Ogg page. Although the granule position represents absolute +time within a logical stream, its value does not necessarily directly +encode a simple timestamp. It may represent frames elapsed (as in +Vorbis), a simple timestamp, or a more complex bit-division encoding +(such as in Theora). The exact meaning of the granule position is up +to a specific codec.

      + +The granule position is governed by the following rules: +

        + +
      • Granule Position must always increase forward from page to page, +be unset, or be zero for a header page.
        + +
      • Granule position may only be unset if there no packet defining a +time boundary on the page (that is, if no packet in a continuous +stream ends on the page, or no packet in a discontinuous stream begins +on the page. This will be discussed in more detail under Continuous +and Discontinuous streams).
        + +
      • A codec must be able to translate a given granule position value +to a unique, exact absolute time value through direct calculation. A +codec is not required to be able to translate an absolute time value +into a unique granule position value.
        + +
      • Codecs shall choose a granule position definition that allows that +codec means to seek as directly as possible to an immediately +decodable point, such as the bit-divided granule position encoding of +Theora allows the codec to seek efficiently to keyframes without using +an index. +
      + +

      granule position, packets and pages

      + +Although each packet of data in a logical stream theoretically has a +unique granule position, only one granule position is encoded per +page. It is possible to encode a logical stream such that each page +contains only a single packet (so that granule positions are preserved +for each packet), however a one-to-one packet/page mapping is not +intended for the general case.

      + +A granule position represents the instantaneous time location +between two pages. In a continuous stream, the granulepos +represents the point in time immediately after the last data decoded +from a page. In a discontinuous stream, it represents the point in +time immediately before the first data decoded from the page.

      + +Because Ogg functions at the page, not packet, level, this +once-per-page time information provides Ogg with the finest-grained +time information is can use. Ogg passes this granule positioning data +to the codec (along with the packets extracted from a page); it is +intended to be the responsibility of codecs to track timing +information at granularities finer than a single page.

      + +

      Example: timestamp

      + +In general, a codec/stream type should choose the simplest granule +position encoding that addresses its requirements. The examples here +are by no means exhaustive of the possibilities within Ogg.

      + +A simple granule position could encode a timestamp directly. For +example, a granule position that encoded milliseconds from beginning +of stream would allow a logical stream length of over 100,000,000,000 +days before beginning a new logical stream (to avoid the granule +position wrapping).

      + +

      Example: framestamp

      + +A simple millisecond timestamp granule encoding might suit many stream +types, but a millisecond resolution is inappropriate to, eg, most +audio encodings where exact single-sample resolution is generally a +requirement. A millisecond is both too large a granule and often does +not represent an integer number of samples.

      + +In the event that a audio frames always encode the same number of +samples, the granule position could simple be a linear count of frames +since beginning of stream. This has the advantages of being exact and +efficient. Position in time would simply be [granule_position] * +[samples_per_frame] / [samples_per_second]. + +

      Example: samplestamp (Vorbis)

      + +Frame counting is insufficient in codecs such as Vorbis where an audio +frame [packet] encodes a variable number of samples. In Vorbis's +case, the granule position is a count of the number of raw samples +from the beginning of stream; the absolute time of +a granule position is [granule_position] / +[samples_per_second]. + +

      Example: bit-divided framestamp (Theora)

      + +Some video codecs may be able to use the simple framestamp scheme for +granule position. However, most modern video codecs introduce at +least the following complications:

      +

        + +
      • video frames are relatively far apart compared to audio samples; +for this reason, the point at which a video frame changes to the next +frame is usually a strictly defined offset within the frme 'period'. +That is, video at 50fps could just as easily define frame transitions +<.015, .035, .055...> as at <.00, .02, .04...> + +
      • frame rates often include drop-frames, leap-frames or other +rational-but-non-integer timings + +
      • Decode must begin at a 'keyframe' or 'I frame'. Keyframes usually +occur relatively seldom. +
      + + + + Can seek quickly to any keyframe without index + Naieve seeking algorithm still availble; juyst lower performance + Bisection seeking used anyway + +

      Multiplex/Demultiplex Division of Labor

      + +The Ogg multiplex/deultiplex layer provides mechanisms for encoding +raw packets into Ogg pages, decoding Ogg pages back into the original +codec packets, determining the logical structure of an Ogg stream, and +navigating through and synchronizing with an Ogg stream at a desired +stream location. Strict multiplex/demultiplex operations are entirely +in the Ogg domain and require no intervention from codecs.

      + +Implementation of more complex operations does require codec +knowledge, however. Unlike other framing systems, Ogg maintains +strict seperation between framing and the framed bistream data; Ogg +does not replicate codec-specific information in the page/framing +data, nor does Ogg blur the line between framing and stream +data/metadata. Because Ogg is fully data agnostic toward the data it +frames, operations which require specifics of bitstream data (such as +'seek to keyframe') also require interaction with the codec layer +(because, in this example, the Ogg layer is not aware of the concept +of keyframes). This is different from systems that blur the +seperation between framing and stream data in order to simplify the +seperation of code. The Ogg system purposely keeps the distinction in +data simple so that later codec innovations are not constrained by +framing design.

      + +For this reason, however, complex seeking operations require +interaction with the codecs in order to decode the granule position of +a given stream type back to absolute time or in order to find +'decodable points' such as keyframes in video. + +

      Continuous and Discontinuous Streams

      + +

      continuous description

      +A stream that provides a gapless, time-continuous media type is +considered to be 'Continuous'. Clear examples of continuous data +types include broadcast audio and video. Such a stream should never +allow a playback buffer to starve, and Ogg implementations must buffer +ahead sufficient pages such that all continuous streams in a physical +stream have data ready to decode on demand.

      + +

      discontinuous description

      +A stream that delivers data in a potentially irregular pattern or with +widely spaced timing gaps is considered to be 'Discontinuous'. An +examples of a discontinuous stream types would be captioning. +Although captions still occur on a regular basis, the timing of a +specific caption is impossible to predict with certainty in most +captioning systems.

      + +

      declaration

      An Ogg stream type is defined to be continuous or +discontinuous by its codec. A given codec may support both continuous +and discontinuous operation so long as any given logical stream is +continuous or discontinuous for its entirety and the codec is able to +ascertain (and inform the Ogg layer) as to which after decoding the +initial stream header. The majority of codecs will always be +continuous (such as Vorbis) or discontinuous (such as Writ). + +

      continuous granule position

      + + + +

      discontinuous granule position

      + +it is able to definitively from the Ogg layer + + + + +Topics: + +Granpos mapping set by decoder + header decode (codec plugin) required to decode granpos + rationale: + must map back to absolute time + +Examples of granpos mappings + a) Vorbis (fixed rate) + b) Theora (bit-field for keyframe) + c) absolute time + +Continuous Stream Type +Discontinuous stream type + +MNG: variable framerate, possibly discontinuous; two code mappings? + +flushes around keyframes? RFC suggestion: repaginating or building a + stream this way is nice but not required + + +

      Appendix A: discussion excerpts

      + +Developers at Xiph.Org have discussed the details of Ogg multiplexing +on many occasions on Internet Relay Chat. The earliest conversations +regarding discontinuous streams and granule ordering between Monty +<xiphmont> and Jack Moffitt from 1999 weren't logged, but much +of the same material is rehashed in the three excerpts below.

      + +The primary purpose of these excerpts is to illuminate a number of +subtle points through logged conversations. The cornerstones of the +Ogg muxing specification were long set at this point, however the +excerpts capture discussion of proposed innovations within the +original specification and the reasoning behind each proposal as well +as discussing long-decided details.

      + +These excerpts have been edited from the original verbatim IRC log to +remove off-topic chatter and correct occasional typos.

      + +

      excerpt one

      + +This excerpt discusses: +
        +
      1. video keyframe flagging via granule position bit-division technique. +
      2. Division of labor during seeking between codec and Ogg demuxer +
      + +
      +
      +<mau>      guys, how can we test seeking, etc? are changes needed in the
      +	   ogg framework?
      +<mau>      like seeking to keyframes?
      +<rillian>  mau: nope, just player support
      +<mau>      ok, so what would be the strategy? seek to an arbitrary time,
      +           and wait for a keyframe?
      +<mau>      yeah, currently there is the hack in granulepos, right?
      +<mau>      maybe just a macro?
      +<danx0r>   I've heard about it -- some sort of bitfield division
      +<danx0r>   lower bits are frames after a key
      +<xiphmont> you can seek to a given location.  the hack in granpos
      +	   gives you the number for every keyframe.
      +<danx0r>   keyframes increase by some set increment -- can someone confirm?
      +<xiphmont> yes
      +<rillian>  xiphmont: I thought it wasn't necessarily fixed
      +<mau>      or is it up to the player?
      +<xiphmont> it's fixed for a given stream section.
      +<danx0r>   so if you seek naively now, you'll get garbage until the next kf?
      +<mau>      I think it is up to the player to freeze the last known good image
      +<mau>      until a keyframe passes, much like windows media, etc
      +<xiphmont> you know if you're not in sequence.
      +<danx0r>   the right thing is to go to the previous keyframe and parse up to 
      +	   your seek frame faster than realtime, but...
      +<danx0r>   for now, something like what WMP does should be fine
      +<Mike>     mau: or, if it's a smart player (and the data source allows it), 
      +	   to deliberately seek forwards to the next keyframe.
      +<rillian>  are you talking about the radix rather than the actual keyframe 
      +	   rate?
      +<mau>      mike: going forward is ok, but in wmp you can still read audio 
      +	   for example, until the next video keyframe, where video resumes
      +<mau>      it is also a good strategy, guess it depends on the player
      +<xiphmont> rillian: the stream is set up to have a maximum keyframe spacing.  
      +	   Granpos is updated by a fixed amount at each keyframe.  The 
      +	   granpos is not [necessarily] monotonically increasing
      +<Mike>     true. 
      +<rillian>  it's monotonic, but not (necessarily) linear
      +<mau>      xiphmont: so ideally the player would look at the granulepos and 
      +	   count how many frames since the last key, and seek back that many 
      +	   pages?
      +<xiphmont> mau: Ogg seeking is all done as predicted bisection search.
      +<xiphmont> look in vorbisfile to see code that does it.
      +<derf>     If one encodes in a frame how many frames it has been since a 
      +	   keyframe, couldn't you do the same thing?
      +<derf>     Without imposing a maximum keyframe spacing?
      +<xiphmont> that data does not exist in an ogg header.
      +<xiphmont> Ogg headers use absolute counters.
      +<derf>     I meant in the packet data, but I see what you're saying.
      +<xiphmont> you get that out of the granpos hack anyway.
      +<derf>     You have to start decoding the packet to tell where to get the 
      +	   keyframe.
      +<xiphmont> Seeking in an ogg stream does not look at packets.
      +<rillian>  (except you have to parse the header to do granulepos conversion)
      +<xiphmont> yes.
      +<xiphmont> although it may be sensible to change that.
      +<derf>     You already need at least a page worth of data to check the CRC 
      +	   on the ogg header to seek.
      +<derf>     It would seem reasonable to require a full packet instead, and 
      +	   pass this to the codec when asking where to seek next.
      +<xiphmont> derf: a page does not necessarily give you a packet.
      +<derf>     xiphmont: I know.
      +<derf>     xiphmont: But, allowing the codec to look at the packet better 
      +	   supports embedding codecs which might not be able to determine 
      +	   the position of a keyframe from their granpos alone.
      +<xiphmont> derf: why wouldn't they?  Blind refusal to use the mechanisms at 
      +	   hand?
      +<derf>     The reason this concerns me is that the case where you want to 
      +	   have really long spaces between key frames (streaming) is also 
      +	   exactly the place where you want to allow very long streams.
      +<xiphmont> you have a 64 bit granpos.
      +<derf>     And if I never want a keyframe except at the first frame, I now 
      +	   have only 32.
      +<xiphmont> ...and you're welcome to use as many logical sections as you want.
      +<xiphmont> so, now you have 96 bits.
      +<derf>     Okay. I guess I can live with a keyframe every 4 billion frames.
      +<xiphmont> if you want unique serialnos; you're allowed to wrap them in 
      +	   streaming, so it becomes infinite.
      +<xiphmont> if you're streaming with one keyframe every 4G, you'll have no 
      +	   viewers anyway :-)
      +<derf>     That's what out-of-band synch points are for.
      +<xiphmont> sure, that works.
      +<xiphmont> Now, it's possible to do a 'seek requests are handed to the codec,
      +	   not to ogg' infrastructure, then the codec makes bisection calls 
      +	   into the ogg layer.
      +<xiphmont> it's more complex, and I'm not sure what I really get out of it.
      +<derf>     Well, the codec doesn't really need to do that.
      +<xiphmont> in fact, I'm beginning to wonder if moving the granpos parsing 
      +	   away from relying on header at all might be a good idea.
      +<derf>     The codec really just wants "give me the packet at this granpos"
      +<derf>     The bisection can still be done in the ogg layer to find that 
      +	   packet.
      +<xiphmont> derf: same basic division of labor.
      +<xiphmont> the request still originates at the codec.
      +
      + + +

      excerpt two

      + +This excerpt discusses: +
        +
      1. keyframe pagination in video +
      2. keyframe seeking using granule position bit-division +
      3. alternate keyframe location proposals +
      + +
      +
      +<rillian>  afaik that's just a detail of smpte timecode
      +<xiphmont> ...and preserving pulldown and non-interval-centered frames.
      +<rillian>  ugh
      +<xiphmont> (ie, what offset in the sample period is the frame)
      +<xiphmont> yeah, ugliness.
      +<xiphmont> but not really representationally difficult.
      +<rillian>  speaking of, do you see any advantage to doing page flushes 
      +	   before or after keyframes?
      +<rillian>  either to simplify seeking or initialization retention in 
      +	   something like icecast
      +<xiphmont> it doesn't affect seeking any, really. It makes streaming 
      +	   slightly easier for lazy programmers.
      +<rillian>  xiphmont: do you mean icecast should pull out the keyframe packet 
      +	   and repage it?
      +<xiphmont> rillian: if there's no flush, then it should as an optimization.  
      +	   It's not necessary, but it's nice.
      +<xiphmont> either the streamer or the source should be smart enough to start 
      +	   streaming at a nice sync point for a and v.
      +<rillian>  xiphmont: so how would you do frame-accurate seeking with the 
      +	   current design?
      +<rillian>  the concern as I understand was that there wasn't a page/packet 
      +	   that was specifically labelled 'this is a keyframe' at the ogg layer
      +<xiphmont> rillian: same way vorbis does.  Each frame does have a granpos,
      +	    they're just not monotonic.
      +<rillian>  s/wasn't/might not be/
      +<xiphmont> ah, yes there is.
      +<derf>     Wait, they're not monotonic?
      +<xiphmont> no, just guaranteed to increase.
      +<derf>     Oh... whew.
      +<derf>     Different definitions of monotonic.
      +<mau>      sorry for being slow, but when you say "Frame" is this a packet, 
      +	   a page?
      +<derf>     I thought the encoding was 
      +	   frame_number_of_keyframe<<n|frames_since_keyframe
      +<xiphmont> right now, each theora frame is one packet.
      +<xiphmont> derf: yes.
      +<derf>     As far as I can see, we can work backwards and reconstruct a 
      +	   packet-level granpos for each packet so long as that is still true.
      +<derf>     Once you include data partitioning a la MPEG, you lose that ability.
      +<mau>      k, but if you put many packets in a page, then you do not have one 
      +	   for each, right? It is just a matter of counting up, and not 
      +	   allowing keyframes in the middle of a page?
      +<xiphmont> 'monotonically increasing' == 'increasing by one'
      +<derf>     mau: No.
      +<derf>     You can still put keyframes anywhere.
      +<xiphmont> actually, my Ogg algos counts forward from previous page generally.
      +<mau>      simple question: if there are multiple frames in a page, does the 
      +	   ogg layer maintains a granulepos for each?
      +<xiphmont> mau: It could, it doesn't.
      +<xiphmont> (requires being even more in bed with the codec.  And that is 
      +	   currently the greatest point of contention in my own mind)
      +<mau>      ok. and how to detect when a keyframe arrives in the middle of a 
      +	   page?
      +<xiphmont> mau: the codec knows.  Ogg doesn't.
      +<mau>      that's what I needed to know. So the codec initiates the seeking 
      +	   request
      +<xiphmont> Ogg knows only how to get to a requested granpos.
      +<derf>     Oh, no, you can't always get a granpos back for every packet.
      +<xiphmont> mau: it doesn't have to; that's one possible way to do it, yes.
      +<derf>     You can still put keyframes in the middle of pages, but if you put 
      +	   two of them in one page...
      +<xiphmont> derf: you can, but only going forward.
      +<xiphmont> Ogg is built on the idea of chronological decode; data propagates 
      +	   forward in time.
      +<derf>     If I encode PIPPIP in one page, I have no way of knowing the first 
      +	   I is there just by looking at granposes.
      +<xiphmont> no, but you have other data in the page; namely, the codec should 
      +	   be able to tell by looking at first byte.
      +<xiphmont> It is a consequence of Ogg having no codec-specific awareness.
      +<derf>     Yes, but even the codec cannot tell with just the granposes.
      +<xiphmont> correct, but the codec need not function only with granpos.
      +<xiphmont> the codec knows its own keyframes.
      +<derf>     If the codec need not function only with granposes, then why are 
      +	   we trying to build a seeking mechanism that works with just them?
      +<xiphmont> division of labor;  Ogg is able to hand you any *page*, not any 
      +	   *packet*.
      +<xiphmont> even Vorbis does this.
      +<mau>      ok, wouldn't it be better to require each new keyframe to start a 
      +	   new page then?
      +<xiphmont> Ogg hands you the nearest preceding page for the codec to then 
      +	   discard the minimum amount of page data to get to the packet it 
      +	   wants.
      +<mau>      to make seeking easier/faster/lazier?
      +<xiphmont> but it doesn't.
      +<xiphmont> Seek to page.  Start grabbing packets.
      +<derf>     xiphmont: Yes, I understand this, but...
      +<xiphmont> Discard packets until you see a keyframe
      +<mau>      k
      +<xiphmont> Ogg would have to do the same thing.
      +<mau>      I see
      +<xiphmont> You *can* if you want to, certainly.
      +<derf>     Say that page I gave above starts on frame n.
      +<xiphmont> There's nothing stopping or even discouraging you ;-)
      +<xiphmont> derf: OK
      +<derf>     I want to seek to frame n+3.
      +<xiphmont> OK
      +<derf>     I get that page's granpos, and discover there's a keyframe at frame
      +	   n+4.
      +<xiphmont> Ogg, in seeking, hands you the page that is guaranteed to have the 
      +	   start of n+3.
      +<derf>     I know nothing about the type of packets n to n+3.
      +<xiphmont> (or, more importantly, hands you the page guaranteed to have the 
      +	   keyframe you need to decode n+3)
      +<derf>     Without physically examining the packets.
      +<xiphmont> true.  Neither does Ogg.
      +<derf>     So I have to go all the way back to the previous keyframe to 
      +	   decode them.
      +<xiphmont> No.
      +<xiphmont> You already have it for free.
      +<xiphmont> Assume the keyframe shift in granpos is 8.
      +<derf>     Okay.
      +<xiphmont> (you get a new keyframe at most every 256 packets)
      +<derf>     Yeah, I know what this translates to.
      +<xiphmont> but the current actual pattern is: IPPPPPIPPPPPIPPPP....
      +<xiphmont> your granposes are:
      +<xiphmont> 0 1 2 3 4 5 600 601 602 603 604 605 c00 c01 c02....
      +<xiphmont> you want to decode frame 602; seek to 600.
      +<xiphmont> and you know you have to seek directly to 600 because you know how 
      +	   the granpos works.
      +<xiphmont> 600 is your keyframe.
      +<xiphmont> if 600 does not start the page, ogg hands you the page with 600 on 
      +	   it.
      +<rillian>  so you get a page with, for example, the end of 4, 5, 600, and the 
      +	   start of 601
      +<rillian>  you start pulling out packets
      +<rillian>  discard until you get to 600, which you decode
      +<derf>     xiphmont: But, I don't know the frame is called 602.
      +<rillian>  pull in the next page, pull out 601 and discard it
      +<derf>     I want to seek to frame 8.
      +<rillian>  then pull out 602 and resume normal decode
      +<derf>     All I know is that its granpos is <= 800.
      +<xiphmont> now, you're right; always having a keyframe start a page 
      +	   eliminates some amount of inspect/discard; but you can 
      +	   inspect/discard in a few processor cycles.
      +<rillian>  xiphmont: aye. seems a requirement to avoid the discard isn't needed
      +<xiphmont> derf: OK, then it's a 2-stage bisection.  you ask ogg for 'page 
      +	   before 800'; you see that the granpos is 600+whatever.  
      +	   then seek to 600.
      +<xiphmont> (or, Ogg could do that internally with knowledge of the granpos 
      +	   structure)
      +<mau>      k, this last one explained it for me
      +<derf>     xiphmont: Right, but here's the issue:
      +<derf>     In my PIPPIP example, Ogg doesn't know the granpos of the first 4
      +	    packets.
      +<xiphmont> sure.
      +<derf>     And the codec can reconstruct them just from the granpos of the 
      +	   page.
      +<derf>     s/can/can't
      +<xiphmont> sure it can.
      +<derf>     How?
      +<xiphmont> the count is *reducible* to a monotonically increasing function :-)
      +<xiphmont> (assuming you have two granposes)
      +<xiphmont> you're always counting up or down one frame.
      +<rillian>  i.e. you actually need the previous page in derf's example
      +<derf>     rillian: But the previous page doesn't tell you anything about 
      +	   packets 1-4.
      +<xiphmont> yes, the first 'P' is undefined granpos without previous page.
      +<xiphmont> ...but if your stream is not starting with a keyframe, that P 
      +	   frame is not decodable anyway.
      +<derf>     Let's say the previous granpos is 0|F0
      +<rillian>  derf: ok, I see. I was misunderstanding the granulepos hack.
      +<xiphmont> derf: yes it does.  If gives you the granpos of the first packet.
      +<xiphmont> (ie, it gives you the granpos of the last frame of the previous 
      +	   packet, and you can always count forward)
      +<derf>     Then the granpos for those frames can be F1|00 F1|01 F1|02 F1|03 
      +	   or 0|F1 F2|00 F2|01 F2|02 or ...
      +<xiphmont> you [the codec] knows if they're keyframes or not. 
      +<derf>     Only if I look at the packets themselves.
      +<xiphmont> yes.
      +<derf>     My claim was that there was no way to do it without looking at the 
      +	   packets.
      +<xiphmont> blow 10 cycles on inspecting, and avoid the need for a 64 bit 
      +	   timestamp on every packet :-)
      +<derf>     I'm not arguing for a timestamp.
      +<xiphmont> Oh. Yes, your claim is correct.  Apologies.
      +<rillian>  but it still doesn't matter much, because discarding as you go 
      +	   through a single page is cheap
      +<xiphmont> You need to inspect the packets.  It is the responsibility of the 
      +	   codec definition to make that easy.
      +<derf>     My argument is this: If I have to inspect the packets ANYWAY for 
      +	   this to work right, why am I going through this complicated granpos
      +	   scheme instead of just using a normal, sane mapping of 
      +	   frame=granpos, and storing an offset to the keyframe in the packet?
      +<xiphmont> (Vorbis places that information in the first byte)
      +<xiphmont> derf: the information is redundant.
      +<xiphmont> Yes, you certainly *can* do it that way.
      +<xiphmont> I'm even still considering it.  it does have advantages.
      +<mau>      monty: if the granulepos hack is made "official" and mandatory 
      +	   for other video codecs however, you could have ogg doing the 
      +	   inspection, right?
      +<xiphmont> OTOH, I'm also considering hardwiring a number of granpos 
      +	   mechanisms into Ogg such that it can seek without any codec 
      +	   knowledge.
      +<xiphmont> the two approaches are mutually exclusive (at least, rationally so)
      +<xiphmont> mau: yes, what you said.
      +<derf>     I do not see how you're going to be able to accomplish seeking 
      +	   without codec knowledge.
      +<derf>     I thought I had just demonstrated why your current scheme cannot 
      +	   do this.
      +<xiphmont> derf: not entirely; however, you could achieve enough to avoid 
      +	   the need for two-way feedback between the mux and codec layers.  
      +	   The current proposal (which includes this two way feedback) is 
      +	   very unusual and causing outside developers fits.
      +<xiphmont> for example, it means the Ogg demux has to interface with an 
      +	   Ogg-like codec glue.
      +<derf>     I had always assumed this was part of the design.
      +<derf>     By saying, to begin with, "the codec decides what granpos means".
      +<xiphmont> the current normal division of demux and decode has a different 
      +	   division; it would make it hard to use Ogg as a generic demux 
      +	   system in something like xine, where the 'vorbis' codec could 
      +	   just as easily handle the output from AVI or Ogg demux.
      +<xiphmont> derf: it always has been.  That doesn't mean I'm ignoring the 
      +	   advantages of alternatives.
      +<xiphmont> it is not yet at the point where changing my mind would break 
      +	   existing installations, so it's still worth debating.  That said, 
      +	   I've seen nothing yet to change my mind.
      +<derf>     The vorbis "codec" really has two pieces.
      +<derf>     One manages decoding the packets.
      +<xiphmont> one manages the Ogg mapping.
      +<derf>     Right.
      +<derf>     The first can be separated out and used for other container formats.
      +<derf>     The other containers are then responsible for providing an 
      +	   equivalent of the second.
      +<xiphmont> ...and we probably can't escape needing *some* glue for any given 
      +	   codec.
      +<xiphmont> even if we strive to make the division similar.
      +<xiphmont> 'similar' is not 'identical'.
      +<xiphmont> that is the primary reason I've not changed my mind.  Being in 
      +	   bed with the codec makes possible demux/decode lib APIs with some 
      +	   very nice features.
      +<xiphmont> (ala Vorbisfile)
      +<xiphmont> So, it sounds like we're entirely on the same page.
      +<xiphmont> [pun not intended]
      +<derf>     Yes, except that if you're in bed with the Theora codec, you 
      +	   shouldn't need this complicated of a granpos mapping.
      +<derf>     And I still don't see what it gets you.
      +<mau>      let me see if I understand you derf: if you are going to have to 
      +	   inspect the packets anyway
      +<mau>      why don't you use a linear count?
      +<mau>      is this it?
      +<derf>     mau: Correct.
      +<mau>      guess the hack can possibly give you a closer location
      +<rillian>  the case with mng is interesting. it's natively variable framerate 
      +	   (or more properly can be) so some realtime base (it has a field for
      +	   mapping 'ticks' to seconds) is the obvious granulepos. Except it 
      +	   has the same keyframe problem theora does, and it's worse because 
      +	   while identifying a restart point is easy (there's a special chunk 
      +	   type) the codec has to do quite a bit more work to determine which 
      +	   pieces are skippable
      +<derf>     Actually, it gives you a farther one.
      +<xiphmont> derf: it wastes space.
      +<xiphmont> you certainly can do it that way.  You'll sink additional bitrate 
      +	   to do it.
      +<derf>     xiphmont: Yes, it does move a few bits that are currently in the 
      +	   granpos into the packets.
      +<derf>     mau: If I want to seek to frame 8, and I ask for the granpos 
      +	   closest to 800, I get 605... three packets beyond where I want to 
      +	   be.
      +<xiphmont> yeah, you'll lose ~ half a kilobit to it.
      +<xiphmont> depending on framerate/keyframe freq.
      +<derf>     I don't have my H.264 spec on hand, but IIRC, they do the same 
      +	   thing.
      +<xiphmont> However:
      +<xiphmont> If you're a minimalist demux layer without precise seek....
      +<xiphmont> you can go straight to a keyframe with the granpos hack.
      +<xiphmont> (without asking the codec)
      +<xiphmont> that's probably the last minor perq.
      +<derf>     "without precise seek" can be up to 2**keyframe_shift frames off.
      +<xiphmont> ...which is exactly what mplayer and xine do.
      +<xiphmont> you get the next following keyframe past what you ask for.
      +<xiphmont> ...and they could continue to use their demux framework.
      +<xiphmont> ...and it will give the results they're already getting.
      +<xiphmont> (something tells me there will be outside devs wedded to their 
      +	   current libs)
      +<rillian>  which is why you did this in the first place?
      +<xiphmont> well, yeah.
      +<xiphmont> *I* want everything to always be perfect and correct :-)
      +<xiphmont> you can do it either way.  Which is not to say derf doesn't have a 
      +	   point.
      +<derf>     xiphmont: Perfection can take an awful lot of effort, as exhibited 
      +	   by this long drawn out conversation, which I'm sure is not the first
      +	   one.
      +<xiphmont> you could still do the Xine way with explicit keyframe offset in 
      +	   the packet, you just get a blank video until you hit a keyframe, 
      +	   or just discard alot.
      +<xiphmont> (note that xine/mplayer also do that in alot of codecs.  Actually 
      +	   xine has an annoying tendency to start decoding P and B frames 
      +	   starting with a uniform green field)
      +<derf>     Heh.
      +<xiphmont> and not bothering to wait for keyframe.
      +<xiphmont> So, in summary, derf's offset gives a much simpler mechanism, but 
      +	   eats a bit of bitrate (.5-1 kilobit) and makes it harder for 
      +	   pansy-ass demux layers to get to keyframes.  The granpos hack 
      +	   method has the drawback of conceptual complexity although I 
      +	   maintain the code isn't actually any more difficult.
      +<xiphmont> you need to know the additional information of 'keyframe shift'.
      +<derf>     It also adds a limit to the amount of frames between a keyframe.
      +<derf>     One which, unlike MPEG, the underlying codec doesn't actually need.
      +<xiphmont> yes, but for seekable video, if you're only having a keyframe 
      +	   every 30,000 frames, you're being a little too 1337.
      +<xiphmont> it is also the case that if we settle on one mapping, and it 
      +	   turns out to be a bad idea, we change the glue.  Supporting both 
      +	   would require little.
      +<xiphmont> it looks like a 'new' codec, but uses all the same infrastructure. 
      +<derf>     That just means you have all the software inadequacies of both, 
      +	   since players will then be required to support both.
      +<derf>     So any arguments of "simpler" become meaningless.
      +<xiphmont> you were just now arguing 'more flexible' (no keyframe spacing 
      +	   restriction)
      +<derf>     I didn't say the other arguments were meaningless.
      +<xiphmont> no.
      +<xiphmont> you didn't.
      +<xiphmont> I'm just saying the penalty for being wrong is pretty mild.
      +<derf>     I'm suggesting that the reality of the situation is that whatever 
      +	   you decide now is going to be it, because no one will want to 
      +	   complicate matters that much for the relatively mild gains of 
      +	   "slightly more flexible".
      +<derf>     Or, for that matter, "slightly easier braindead demuxers".
      +<xiphmont> In any case, I don't actually want to cut the lightweight 
      +	   mplayer style approach out of the picture.
      +<xiphmont> the granpos hack does give him slightly more rope, should he 
      +	   choose to use it.  I realize it's a weak argument, but it's there.
      +<derf>     Oh, and if you really wanted to, you could eliminate the stream 
      +	   space overhead for the keyframe offset.
      +<derf>     You have to load all the previous pages ANYWAY, to decode back to 
      +	   that point.
      +<derf>     So you could load them, scan them backwards for keyframes, and 
      +	   then turn around and decode them forward.
      +<derf>     The only overhead is the additional buffer space. Or time for 
      +	   multiple I/Os if you run out of that.
      +<xiphmont> derf: seeking backward is more expensive than forward.
      +
      + +

      excerpt three

      + +This excerpt discusses: +
        +
      1. introduction of discontinuous streams +
      2. ordering of pages in a multiplexed Ogg stream +
      3. ordering differences between continuous and discontinuous streams +
      4. text/captioning streams and captioning examples +
      5. seeking withing a multiplexed Ogg stream +
      + +
      +
      +<Arc>      hey monty
      +<Arc>      have some questions about oggfile w/ streaming servers
      +<Arc>      and how codecs get interlaced in a physical bitstream
      +<Arc>      first, whats the process for codecs to get concurrently 
      +	   multiplexed. i know how pages etc etc, but how do the pages get 
      +	   paced?
      +<xiphmont> chronological order by granpos.
      +<Arc>      the granulepos of vorbis means nothing in relationship to theora
      +<Arc>      and in the case of writ, it means nothing at all. they're ordered 
      +	   by granulepos but they're needed by their start time, which is 
      +	   something only libwrit would know
      +<Arc>      how is theora and vorbis being synced, i mean, their pages as 
      +	   close to each other as needed by the player?
      +<xiphmont> chronological order.  Ogg will ask the codec to translate granpos 
      +	   to absolute time if it needs to know.
      +<Arc>      um ok so that isn't going to work at all for writ
      +<Arc>      granulepos = end time, not start time.
      +<Arc>      but for seeking it needs end time
      +<xiphmont> granpos *is* end-time :-)
      +<xiphmont> granpos is 'timing of last valid data to come out of this page'.
      +<Arc>      but if writ packets are put into the stream in the chronological 
      +	   position of their end time they wont be available for their start 
      +	   time, which is a variable length before their end time
      +<Arc>      writ packets cover time ranges. "this packet is valid between this 
      +	   granule and this granule", so there's a start and end time
      +<xiphmont> right.
      +<xiphmont> so do vorbis packets.
      +<Arc>      currently the spec is setup to allow overlap of these times by 
      +	   different phrases and page granulepos = endtime, packets ordered 
      +	   by end time (so some phrases may be put into the bitstream before
      +	    they're started)
      +<xiphmont> the seeking alg depends on end time.
      +<Arc>      yes im not concerned with seeking, we have seeking in the bag 
      +	   except for long term phrases + streaming, lets ignore that for now 
      +	   tho
      +<Arc>      im concerned about they're ordering in the logical bitstream
      +<xiphmont> You may have opened too large a can of worms with overlapping.
      +<Arc>      if a writ phrase lasts 10 seconds it needs to be in the physical 
      +	   bitstream close to or before its start time, relative to the 
      +	   vorbis/theora, you can expect the vorbis + theora layer to be 
      +	   buffered for ten seconds
      +<derf>     xiphmont: Overlapping does not complicate the problem at all.
      +<xiphmont> derf: actually it kills the current seeking algo.
      +<Arc>      no it doesn't actually
      +<derf>     You can replace any group of overlapped captions by a single 
      +	   caption that lasts the entire duration of it.
      +<derf>     And reproduce any problems.
      +<Arc>      the granulepos's are in order. the granulepos's are ordered by end 
      +	   time, their start times are not in order, but they must be defined 
      +	   before they're needed (or close to it) in relation to the other 
      +	   logical bitstreams for them to be useful
      +<xiphmont> One caption that begins before and ends after another.
      +<derf>     xiphmont: Which exhibits the exact same problems as just one 
      +	   caption.
      +<xiphmont> design a seeking algo that works for that.
      +<derf>     Conceptually, you can take any group of overlapping captions and 
      +	   stick them all in one packet.
      +<Arc>      we do. you seek to the position that you need and begin processing 
      +	   from there. you'll have everything.
      +<xiphmont> actually, yes, you're right.
      +<Arc>      my first question (these are very related) is how OggFile, 
      +	   oggmerge, whatever - how does that sync. do they ask the codec to 
      +	   pace per realtime, or does it ask the codec for a granulerate
      +<xiphmont> if the packet ended after the seek point, it wouldn't have 
      +	   appeared yet.
      +<Arc>      because the latter will break our current spec bigtime
      +<xiphmont> there are two possibilities; still working out which to use.
      +<xiphmont> One is two codec types: continuous and discontinuous.
      +<xiphmont> a continuous codec specifies 'buffer as much as you need to 
      +	   prevent any time gaps in my data presentation'.  A discontinuous 
      +	   stream type has to 'fall out' of the stream; seeking and sync are 
      +	   according to continuous streams, and the stream assembly has to 
      +	   make sure the discontinuous pages magically arrive in time
      +<xiphmont> [as the buffering/sync algo will not look arbitrarily far head for 
      +	   them]
      +<derf>     This sounds much like what I suggested to Arc.
      +<xiphmont> the second possibility is to require a hint in the metaheader for 
      +	   how long each stream type has to look ahead.
      +<xiphmont> Audio and video would be obvious continuous types.
      +<xiphmont> discontinuous types would not be used for sync; the granpos is 
      +	   allowed to appear out of order.
      +<Arc>      well my question is, will libwrit/etc be asked "where does this 
      +	   packet belong in the physical bitstream" or will OggFile/etc place 
      +	   it by granulepos
      +<xiphmont> Oggfile will place it.
      +<Arc>      yes but how
      +<Arc>      will it ask the codec?
      +<xiphmont> You don't muck with pages and raw ogg stream in Oggfile.  packets 
      +	   in, packets out.
      +<xiphmont> In encode, all packets are submitted with timing info.
      +<xiphmont> Oggfile builds and places pages as needed to obey timing magically.
      +<xiphmont> [it would be a serious asspain to require each app to do it]
      +<Arc>      yes I know that. but I see two ways for OggFile to place it. 
      +	   by asking the codec for a granulerate (ie, 88200 granules per 
      +	   second with 44.1/stereo vorbis or 29.95 granules per second with 
      +	   NTSC theora) and calculate its position based on granulepos or 
      +	   will the codec tell OggFile "this belongs at 19.23 seconds"
      +<derf>     Assuming a fixed granulerate is bad.
      +<Arc>      because the prior would require a spec rewrite, the latter is 
      +	   perfect
      +<derf>     Current Theora's granulerate is not constant.
      +<Arc>      derf, yea but assuming API for something that isn't public yet is 
      +	   also bad :-)
      +<xiphmont> Arc: we can have a packet show up with begin and end timing.
      +<Arc>      xiphmont, awesome. thanks :-)
      +<xiphmont> Ogg won't necessarily know that on decode side (it will have to 
      +	   ask the codec), but on encode side, just have codec provide it.
      +<xiphmont> It makes no sense for continuous streams, but for discontinuous it 
      +	   seems handy.
      +<Arc>      second question, do you feel it would be a good idea for OggFile 
      +	   (which I very much assume icecast2/libshout will use) to put the 
      +	   job of keeping track of and reporting "state information", ie, 
      +	   headers
      +<xiphmont> yes
      +<Arc>      vorbis would just spit out the headers for state information
      +<xiphmont> Actually, your grammar doesn't parse.
      +<Arc>      writ, however, could spit out any pages whose granulepos has not 
      +	   expired yet (to current) thus preventing the need in the spec to 
      +	   have phrases "expire" by time and need to be "refreshed" every few 
      +	   seconds for streaming clients
      +<xiphmont> well, without readahead hinting, you still have an issue.
      +<xiphmont> You either see a long-time caption too late.... or you miss it on 
      +	   seek.
      +<Arc>      thus the writ codec on icecast's side could buffer the last few 
      +	   pages (those that are still valid), on a new client connecting, 
      +	   spit out the header + however many packets are in the buffer
      +<xiphmont> [eg... how does Oggfile need to know it has to buffer a full 
      +	   minute of video?]
      +<Arc>      how big is that window?
      +<xiphmont> in continuous/discont... there is no window.
      +<derf>     The problem is that icecast needs to buffer some data from a 
      +	   discontinuous stream.
      +<xiphmont> A discontinuous stream will need a hint.
      +<derf>     i.e., it needs to know the granpos<->time mapping.
      +<Arc>      or it could be outside icecast
      +<Arc>      right now icecast is buffering the vorbis headers
      +<xiphmont> yes.  But it will also need to know window ahead of time without 
      +	   reading the whole file.
      +<derf>     So it can tell if it has to buffer packets from a stream if they 
      +	   appear in the stream long before the granpos time.
      +<Arc>      but if icecast is using OggFile this could be part of the API, the 
      +	   stream state info, a buffer of pages which are needed to bring a 
      +	   new client "up to speed"
      +<xiphmont> yes
      +<xiphmont> It should be.
      +<derf>     I don't see why it needs any kind of window.
      +<Arc>      i don't understand the "hint" as you call it, why does it need to 
      +	   read ahead at all?
      +<derf>     With cont/discont streams.
      +<xiphmont> you have a ten minute caption with a 20 minute gap ahead of where 
      +	   it appears.
      +<xiphmont> Do you really want to buffer 20 minutes of video to find it?
      +<Arc>      with seeking or streaming? two different things
      +<xiphmont> What if the caption stream ends early?  You stop and wait for the 
      +	   whole stream to buffer to figure that out.
      +<xiphmont> I'm speaking streaming.
      +<Arc>      why would you stop playing audio/video? you either receive a 
      +	   caption or you don't
      +<derf>     Arc's idea was that packets always appear before they're needed.
      +<derf>     In the stream.
      +<xiphmont> OK.  Now seeking.  If it appeared early, you miss em when you seek.
      +<derf>     So if you haven't seen it when you find audio/video that comes 
      +	   later, then they're not there.
      +<Arc>      xiphmont, how so? wont it seek each logical bitstream based on 
      +	   its granulepos?
      +<xiphmont> No.
      +<xiphmont> Seeking is global.
      +<Arc>      what is the window then?
      +<xiphmont> You seek to *one* point in the stream, based on all granposes.
      +<derf>     xiphmont: I can't see how that one point is well-defined.
      +<xiphmont> right.  what is the window then?
      +<Arc>      but discontinuous streams..
      +<xiphmont> derf: granposes are all in chronological order.
      +<xiphmont> Arc: discontinuous streams to not contribute to sync, they 
      +	   piggyback off of it.
      +<xiphmont> A continuous stream is just a stream with a readahead window of 
      +	   'infinite'.
      +<Arc>      yes but they're going to vary by a certain %, sometimes the audio 
      +	   will be ahead of the video, sometimes vice versa. they're both VBR 
      +	   so there needs to be a window of some sort
      +<xiphmont> A continuous stream has a readahead window of infinite.  "Buffer 
      +	   as much as necessary to keep all queues nonempty"
      +<Arc>      the continuous/discontinuous status of a stream is provided by the 
      +	   OggFile codec, right?
      +<xiphmont> yes
      +<xiphmont> that's current design.,
      +<Arc>      ok. then, whats the window for discontinuous
      +<xiphmont> exactly.
      +<xiphmont> It would need to be set somewhere.
      +<Arc>      see it's easy, in writ, for us just to say "this is the maximum 
      +	   realtime length of a caption compared to its placement in the 
      +	   stream" and then prematurely end then refresh the phrases that 
      +	   need it
      +<derf>     And this limits the length of your captions.
      +<xiphmont> sure.
      +<Arc>      exactly.
      +<Arc>      not the apparent, or source, length of the captions. its all 
      +	   internal to libwrit
      +<derf>     Right.
      +<xiphmont> ...but be careful; your maximum duration/gap will set the 
      +	   buffering requirements of the entire stream.
      +<Arc>      "if a caption's end-time minus physical placement time is greater 
      +	   than x, then terminate all current phrases early, then immediately 
      +	   redefine them in the same order and location"
      +<xiphmont> sorry, no, just duration.
      +<Arc>      well thats why I'm asking you about this, because this is global to 
      +	   Ogg
      +<xiphmont> OK, I think we're on the same page right now.
      +<Arc>      well it has to be physical placement time because some captions 
      +	   will need to be defined before other captions, remember they need 
      +	   to be ordered by their end time. that will determine if they get 
      +	   cut, and if they get cut before their start time, they wont need 
      +	   to be defined yet at all.
      +<Arc>      i was up to 6am this morning running through different projections 
      +	   for how this could work with seeking/streaming. derf's overlapping 
      +	   durations idea does play out well
      +<derf>     Except that if you want to cut, you may need to drop out packets 
      +	   from the middle (or just keep the extraneous data).
      +<Arc>      see I originally had it "all captions are FIFO, the first to be 
      +	   defined are also the first to end, otherwise they need to be cut 
      +	   and recreated, always". that can become a very bloated mess with 
      +	   text constantly getting redefined
      +<xiphmont> that's the same with other codec types.
      +<derf>     When cutting off the end of something.
      +<Arc>      ?
      +<xiphmont> derf: that's the same with other codec types.
      +<xiphmont> editing is always messy.  Ogg is not intended to be easy to edit.
      +<derf>     Yes.
      +<derf>     Editing is messy in general.
      +<Arc>      by cut I mean "while encoding the bitstream, if such conditions 
      +	   exist, split a single set of phrases into two butted end to end, 
      +	   ie, ending and immediately re-defining it"
      +<derf>     Just having global headers with different codebooks makes 
      +	   combining different streams hard.
      +<Arc>      i don't mean ala vcut
      +<derf>     (without imposing overhead of adding new headers in each segment)
      +<Arc>      the logical bitstream wont get a EOS/BOS
      +<derf>     Oh, I was talking about someone actually cutting an 
      +	   already-multiplexed stream into two pieces.
      +<Arc>      its just the phrases, the captions, that will get cut. their 
      +	   durations split at the window mark, processed as needed, 
      +	   redefined/copied to start at the same time their original was 
      +	   prematurely terminated, process repeated as needed so a single 
      +	   very long phrase (aka caption/subtitle) can be split-copied into 
      +	   hundreds of phrases, each redefining the same data for another 
      +	   X second window
      +<Arc>      derf, yea lets not get too complicated here :-)
      +<derf>     Well, it is still a use case to consider.
      +<derf>     People might want to actually do such a thing.
      +<Arc>      I'm not concerned with cutting, this is just text. lossless.
      +<derf>     Even though there are currently no tools for it.
      +<Arc>      people could use the same mechanism icecast does for cutting a 
      +	   bitstream. each OggFile codec keeps track of "state information", 
      +	   which typically is just the header but for discontinuous streams 
      +	   could be the last few buffered pages..
      +<Arc>      if OggFile has such an API it would make cutting child's play.
      +<Arc>      monty, so, is this going to be variable? or is it going to get set 
      +	   at some point? because i might as well build functionality for 
      +	   that into the design here while I'm working on it
      +<xiphmont> Ogg needs to be able to ask the codec what the readahead window is.
      +<xiphmont> the codec can have that set inherently or git it from the logical 
      +	   stream header.
      +<Arc>      yea but what should this be
      +<Arc>      are we talking a minute? 10 seconds? 1 second?
      +<xiphmont> actually thinking a sec...
      +<Arc>      ok :-)
      +<derf>     A second could be as much as 700k of video.
      +<derf>     Which is probably reasonable.
      +<xiphmont> OK, thinking over, no change in state.
      +<derf>     But captions typically last 3 to 6 seconds.
      +<xiphmont> 'what derf said'.
      +<derf>     Which means you've quadrupled to quintupled the size of your 
      +	   caption stream.
      +<xiphmont> Or you could just decide 'losing last one is no big deal'.
      +<Arc>      yea, exactly.
      +<xiphmont> ...and go to placing in the bitstream according to start time.
      +<derf>     xiphmont: That's what current DVD players do, IIRC.
      +<xiphmont> derf: good to know.
      +<Arc>      the smaller the window the less buffering on the player's side, 
      +	   but the greater the codec size grows
      +<xiphmont> yes.
      +<derf>     A player that really did care could do a separate seek for each 
      +	   discontinuous stream instead of one global one.
      +<Arc>      it makes things so much easier to have it ordered by end time
      +<xiphmont> So.... perhaps the window should be set... and left up to the 
      +	   application if it cares to use it or not.  We go to ordering 
      +	   discontinuous stream types by begin time, and make sure we're 
      +	   tolerant of losing 'the one before' if the application chooses to 
      +	   do it that way.
      +<Arc>      i mean, coding is easier by start time, duh, no buffering, no 
      +	   changing the order, just drop it in and let it fly or not
      +<derf>     And then buffer just the discontinuous data (which one would 
      +	   expect to be far less than the continuous) until it caught up to 
      +	   the global seek point.
      +<xiphmont> derf: yes.
      +<xiphmont> no, you don't want to do separate seek... for example, in the 
      +	   streaming case... you can't whether you care or not.
      +<Arc>      ok but if they're ordered by start time we still need a "window" 
      +	   for very long captions, otherwise seeking would never have them 
      +	   appear
      +<xiphmont> ...so don't turn it into supporting multiple cases.  Make it 
      +	   multiple possibilities in a single case.
      +<xiphmont> Arc: yes.
      +<xiphmont> And the application can decide to mind the window or not...
      +<Arc>      the encoding application
      +<xiphmont> A PC software player will always want to mind.  An embedded 
      +	   player may simply not be able to.
      +<xiphmont> No, decoding.
      +<xiphmont> encoding always requests a hint... but the decoder can ignore 
      +	   the readahead hint without ill-effect if it wishes.
      +<Arc>      no i mean, the encoder would have to "refresh" a phrase periodically
      +<xiphmont> unless you want to miss a few, yes.
      +<Arc>      if ordered by start time, the player simply seeks and runs. 
      +<Arc>      well its not missing a few that bothers me, its missing a very 
      +	   long one
      +<xiphmont> you can't have everything you want here :-)  Very long would need 
      +	   to refresh in either case.
      +<Arc>      ok so there would need to be a refresh window variable that the 
      +	   encoder could set, but could default to a certain number
      +<Arc>      yes I know, refresh is unavoidable.
      +<xiphmont> ok
      +<Arc>      yea for all cases ordering discontinuous streams by start time is 
      +	   easier.
      +<Arc>      less elegant, tho
      +<xiphmont> 'however the codec wants to do it'.  It could be a hardcoded 
      +	   number in the codec for all I care (I know that's not really 
      +	   sensible)
      +<derf>     Placed in the stream by start time can have a much longer refresh 
      +	   time than placed by end time.
      +<xiphmont> derf: yes.
      +<xiphmont> lookin' like a win all around.
      +<xiphmont> ...and this can be added to spec without breaking a single thing.
      +<Arc>      if the encoding application chose it could set this window 
      +	   extremely high, understanding that long term captions would never
      +	    appear if it's seeked
      +<Arc>      or streamed.
      +<xiphmont> Arc: yes.
      +<xiphmont> If ordered by start time, I think the granpos should also be 
      +	   start-time.
      +<Arc>      and this would eliminate the need to monitor "state information" 
      +	   with streaming, it'd act no different from a seek
      +<xiphmont> but that's a minor detail I'd rather debate another time.
      +<Arc>      well yea that'd have to be the case or you'd have out of order 
      +	   granulepos and that'd create chaos
      +<Arc>      ok so, the behavior part of the spec should change so that 
      +	   packets are ordered by start time, in sequence, and it doesn't 
      +	   matter if they overlap
      +<xiphmont> Arc: yes, seems like it.
      +<derf>     One could always look at that stuff to see how it wound up being 
      +	   implemented.
      +<Arc>      derf, you had a great idea, in any case, on how to handle 
      +	   overlapping when granulepos was by end time
      +<Arc>      i hate to erase it all, I'm going to copy this to another location 
      +	   on the wiki...
      +<derf>     I don't know how you make seeking work with granpos as the start 
      +	   time.
      +<xiphmont> OggFile would need to distinguish between cont and discont.  
      +<xiphmont> It needs to ask codecs for granpos mappings anyway.
      +<Arc>      easy. you seek to a point, you only display new phrases. long term 
      +	   phrases are periodically refreshed, so the player just displays 
      +	   them as they come in.
      +<xiphmont> if it's end-time and packets are in chron order, discont streams 
      +	   are useless for sync and seek.  If it's start-time, they can 
      +	   contribute.
      +<xiphmont> I think derf was concerned about complicating the seeking algo.
      +<derf>     Mostly.
      +<xiphmont> I don;t think this would complicate it much.
      +<xiphmont> It just changes the 'boundary was at head or at tail' of page.  
      +	   The bisection is identical.
      +<xiphmont> ...and the meaning of seek points is the same.
      +<xiphmont> you still seek to the largest granpos in the stream preceding 
      +	   requesting time position.
      +<xiphmont> [preceding or equal to]
      +<derf>     "the page with..."
      +<xiphmont> well, you either seek *to* that page [if it's discont] or just 
      +	   past that page [if it's cont]
      +<i>Actually, if it's continuous, you seek just past that page if the
      +last packet is not continued, or to that page is the packet is
      +continued -- Monty</i>
      +<xiphmont> you have both those boundaries.  You just use cont/discont to 
      +	   decide which.
      +<xiphmont> I think of seeking as an operation of going to a specific page 
      +	   boundary, not a specific page.
      +<xiphmont> [and that makes this extension much cleaner]
      +<derf>     Okay, I think I see now... I was holding the definition of what a 
      +	   granpos meant fixed as a design constraint.
      +<xiphmont> derf: well, it had been.  This is actually a new innovation within 
      +	   the machinery.
      +<derf>     But I agree this is a reasonably simple special case.
      +<Arc>      so discontinuous streams, granulepos is the start time of the packet
      +<xiphmont> what complication do you see?
      +<xiphmont> Arc: start time of the first packet beginning in the page
      +<xiphmont> [not a continued packet]
      +<xiphmont> Oh, continued packets.
      +<xiphmont> No continued packets in discont streams.
      +<xiphmont> You think that's reasonable?
      +<Arc>      not really, because a discontinuous packet could be quite large 
      +	   and you'd want it split across page borders
      +<derf>     xiphmont: It gives a hard limit on packet size, doesn't it?
      +<xiphmont> yeah, you're right.
      +<derf>     xiphmont: It's an "if"... I'm not worried about it either.
      +<xiphmont> OK, a restriction:
      +<xiphmont> Continued packets must be continued in an immediately following 
      +	   page.
      +<xiphmont> derf: it is an if.
      +<Arc>      that sounds healthy
      +<xiphmont> OK
      +<xiphmont> See the nice part about *all* of this is...
      +<xiphmont> If a third-party impl screws up, it doesn't break the code, it 
      +	   just munges playback slightly.
      +<xiphmont> We can extend the spec to include them...
      +<xiphmont> the stream format need not rev.
      +<xiphmont> we already know existing code isn't up to discontinuous anyway.
      +<xiphmont> OggFile is intended to do this for the app.  I do not expect most 
      +	   apps to implement this.  It is purely a mux-layer operation.
      +
      -- cgit v1.2.3 From 3939fb27997a110e0ca49db466c4f5d6c1540c5a Mon Sep 17 00:00:00 2001 From: Monty Date: Fri, 13 Feb 2004 08:09:47 +0000 Subject: a few error corrections, clean up out-of-page notes. Still in progress. svn path=/trunk/ogg/; revision=5823 --- doc/index.html | 1 + doc/ogg-multiplex.html | 46 +++++++++++++++------------------------------- 2 files changed, 16 insertions(+), 31 deletions(-) (limited to 'doc') diff --git a/doc/index.html b/doc/index.html index 9b4232b..b7ad768 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,3 +1,4 @@ Ogg logical and physical bitstream overview
      Ogg logical bitstream framing
      +Ogg multi-stream multiplexing
      diff --git a/doc/ogg-multiplex.html b/doc/ogg-multiplex.html index e6a8701..461745d 100644 --- a/doc/ogg-multiplex.html +++ b/doc/ogg-multiplex.html @@ -177,15 +177,26 @@ least the following complications:

      for this reason, the point at which a video frame changes to the next frame is usually a strictly defined offset within the frme 'period'. That is, video at 50fps could just as easily define frame transitions -<.015, .035, .055...> as at <.00, .02, .04...> +<.015, .035, .055...> as at <.00, .02, .04...>.

    • frame rates often include drop-frames, leap-frames or other -rational-but-non-integer timings +rational-but-non-integer timings.
    • Decode must begin at a 'keyframe' or 'I frame'. Keyframes usually occur relatively seldom.
    +The first two points can be handled straightforwardly via the fact +that the codec has complete control mapping granule position to +absolute time; non-integer frame rates and offsets can be set in the +codec's initial header, and the rest is just arithmetic.

    + +The third point appears trickier at first glance, but it too can be +handled through the granule position mapping mechanism. Here we +arrange the granule position in such a way that granule positions of +keyframes are easy to find. Divide the granule position

    + + Can seek quickly to any keyframe without index @@ -253,27 +264,6 @@ continuous (such as Vorbis) or discontinuous (such as Writ).

    discontinuous granule position

    -it is able to definitively from the Ogg layer - - - - -Topics: - -Granpos mapping set by decoder - header decode (codec plugin) required to decode granpos - rationale: - must map back to absolute time - -Examples of granpos mappings - a) Vorbis (fixed rate) - b) Theora (bit-field for keyframe) - c) absolute time - -Continuous Stream Type -Discontinuous stream type - -MNG: variable framerate, possibly discontinuous; two code mappings? flushes around keyframes? RFC suggestion: repaginating or building a stream this way is nice but not required @@ -314,7 +304,6 @@ This excerpt discusses: <mau> ok, so what would be the strategy? seek to an arbitrary time, and wait for a keyframe? <mau> yeah, currently there is the hack in granulepos, right? -<mau> maybe just a macro? <danx0r> I've heard about it -- some sort of bitfield division <danx0r> lower bits are frames after a key <xiphmont> you can seek to a given location. the hack in granpos @@ -340,7 +329,7 @@ This excerpt discusses: <mau> it is also a good strategy, guess it depends on the player <xiphmont> rillian: the stream is set up to have a maximum keyframe spacing. Granpos is updated by a fixed amount at each keyframe. The - granpos is not [necessarily] monotonically increasing + granpos is not [necessarily] linearly increasing <Mike> true. <rillian> it's monotonic, but not (necessarily) linear <mau> xiphmont: so ideally the player would look at the granulepos and @@ -436,13 +425,9 @@ This excerpt discusses: <rillian> the concern as I understand was that there wasn't a page/packet that was specifically labelled 'this is a keyframe' at the ogg layer <xiphmont> rillian: same way vorbis does. Each frame does have a granpos, - they're just not monotonic. + they're just not linear. <rillian> s/wasn't/might not be/ <xiphmont> ah, yes there is. -<derf> Wait, they're not monotonic? -<xiphmont> no, just guaranteed to increase. -<derf> Oh... whew. -<derf> Different definitions of monotonic. <mau> sorry for being slow, but when you say "Frame" is this a packet, a page? <derf> I thought the encoding was @@ -455,7 +440,6 @@ This excerpt discusses: <mau> k, but if you put many packets in a page, then you do not have one for each, right? It is just a matter of counting up, and not allowing keyframes in the middle of a page? -<xiphmont> 'monotonically increasing' == 'increasing by one' <derf> mau: No. <derf> You can still put keyframes anywhere. <xiphmont> actually, my Ogg algos counts forward from previous page generally. -- cgit v1.2.3 From e5202611c0c8d61540e2df5186a7d5a92fc28336 Mon Sep 17 00:00:00 2001 From: Monty Date: Sat, 8 May 2004 05:47:45 +0000 Subject: Ongoing work; it occurred to me to not lose it. svn path=/trunk/ogg/; revision=6639 --- doc/ogg-multiplex.html | 1149 +++++++++--------------------------------------- 1 file changed, 196 insertions(+), 953 deletions(-) (limited to 'doc') diff --git a/doc/ogg-multiplex.html b/doc/ogg-multiplex.html index 461745d..021795a 100644 --- a/doc/ogg-multiplex.html +++ b/doc/ogg-multiplex.html @@ -6,39 +6,47 @@ Page Multiplexing and Ordering in a Physical Ogg Stream
    -Last update to this document: February 13, 2004
    +Last update to this document: May 7, 2004

    The low-level mechanisms of an Ogg stream (as described in the Ogg Bitstream Overview) provide means for mixing multiple logical streams and media types into a single linear-chronological stream. This -document discusses the high-level arrangement and use of page +document specifices the high-level arrangement and use of page structure to multiplex multiple streams of mixed media type within a physical Ogg stream.

    Design Elements

    -

    Chronological arrangement

    +The design and arrangement of the Ogg container format is governed by +several high-level design decisions that form the reasoning behind +specific low-level design decisions. -The Ogg bitstream is designed to provide data in a chronological -(time-linear) fashion. This design is such that an application can -encode and/or decode a full-featured bitstream in one pass with no -seeking an minimal buffering. Seeking to provide optimized encoding -(such as two-pass encoding) or interactive decoding (such as scrubbing -or instant replay) is not disallowed or discouraged, however no -bitstream feature must require nonlinear operation on the -bitstream.

    +

    Linear media

    -As an example, this is why Ogg specifies bisection-based exact seeking -rather than building an index; an index requires two-pass encoding and -as such is not acceptible according to original design requirements. -Even making an index optional then requires an application to support -multiple methods (bisection search for a one-pass stream, indexing for -a two-pass stream), which adds no additional functionality as -bisection search delivers the same functionality for both stream -types.

    +The Ogg bitstream is intended to encapsulate chronological, +time-linear mixed media into a single delivery stream or file. The +design is such that an application can always encode and/or decode a +full-featured bitstream in one pass with no seeking an minimal +buffering. Seeking to provide optimized encoding (such as two-pass +encoding) or interactive decoding (such as scrubbing or instant +replay) is not disallowed or discouraged, however no bitstream feature +must require nonlinear operation on the bitstream.

    -

    Multiplexing

    +

    Seeking

    + +Ogg is designed to use a bisection search to implement exact +positional seeking rather than building an index; an index requires +two-pass encoding and as such is not acceptible according to original +design requirements.

    + +Even making an index optional then requires an +application to support multiple methods (bisection search for a +one-pass stream, indexing for a two-pass stream), which adds no +additional functionality as bisection search delivers the same +functionality for both stream types.

    + +

    Multiplexing

    Ogg bitstreams multiplex multiple logical streams into a single physical stream at the page level. Each page contains an abstract @@ -46,8 +54,9 @@ time stamp (the Granule Position) that represents an absolute time landmark within the stream. After the pages representing stream headers (all logical stream headers occur at the beginning of a physical bitstream section before any logical stream data), logical -stream data pages are arranged in order of chronological absolute time -as specified by the granule position.

    +stream data pages are arranged in strict, monotonically increasing +order of chronological absolute time as specified by the granule +position.

    The only exception to arranging pages in strictly ascending time order by granule position is those pages that do not set the granule @@ -56,7 +65,7 @@ packets span multiple pages; the specifics of handling this special case are described later under 'Continuous and Discontinuous Streams'.

    -

    Buffering

    +

    Buffering

    Ogg's multiplexing design minimizes extraneous buffering required to maintain audio/video sync by arranging audio, video and other data in @@ -70,8 +79,33 @@ necessary to keep all continuous stream types gapless (also ensuring discontinuous data arrives in time) and no more, resulting in optimum buffer usage for free. Because all pages of all data types are stamped with absolute timing information within the stream, -inter-stream synchronization timing is always explicitly -maintained.

    +inter-stream synchronization timing is always explicitly maintained +without the need for explicitly declared buffer-ahead hinting.

    + +

    Whole-stream navigation

    + +Ogg is designed sot hat the simplest navigation operations are one +that best treat the physical Ogg stream as whole summary of its +streams, rather than navigating each interleaved stream as a seperate +entity.

    + +Example: the simplest method of seeking to a desired +position in a multiplexed (or unmultiplexed) Ogg stream is to +bisection search by time position (as encoded in the granule +position).

    + +Example: A bitstream section may consist of three multiplexed streams +of differing lenghts. The result of multiplexing these streams should +be thought of as a single mixed stream with a length that happens to +equal the longest of the three component streams. Although it is also +possible to think of the multiplexed results as three concurrent +streams of different lenghts and it is possible to recover the three +original streams, it will also become obvious that once multiplexed, +it isn't possible to find the internal lenghts of the component +streams without a linear search of the whole bitstream section. +However, it is possible to find the length of the whole bitstream +section easily (in near-constant time per section) just as it is for a +single-media unmultiplexed stream.

    Granule Position

    @@ -88,8 +122,15 @@ to a specific codec.

    The granule position is governed by the following rules:

      -
    • Granule Position must always increase forward from page to page, -be unset, or be zero for a header page.
      +
    • Granule Position must always increase forward or remain equal from +page to page, be unset, or be zero for a header page. The absolute +time to which any correct sequence of granule position maps must +similarly always increase forward or remain equal. (A codec may +make use of data, such as a control sequence, that only affects codec +working state without producing data and thus advancing granule +position and time. Although the packet sequence number increases in +this case, the granule position, and thus the time position, do +not.)
    • Granule position may only be unset if there no packet defining a time boundary on the page (that is, if no packet in a continuous @@ -98,40 +139,20 @@ on the page. This will be discussed in more detail under Continuous and Discontinuous streams).
    • A codec must be able to translate a given granule position value -to a unique, exact absolute time value through direct calculation. A -codec is not required to be able to translate an absolute time value -into a unique granule position value.
      +to a unique, deterministic absolute time value through direct +calculation. A codec is not required to be able to translate an +absolute time value into a unique granule position value.
    • Codecs shall choose a granule position definition that allows that codec means to seek as directly as possible to an immediately decodable point, such as the bit-divided granule position encoding of Theora allows the codec to seek efficiently to keyframes without using -an index. +an index. That is, additional information other than absolute time +may be encoded into a granule position value so long as the granule +position obeys the above points.
    -

    granule position, packets and pages

    - -Although each packet of data in a logical stream theoretically has a -unique granule position, only one granule position is encoded per -page. It is possible to encode a logical stream such that each page -contains only a single packet (so that granule positions are preserved -for each packet), however a one-to-one packet/page mapping is not -intended for the general case.

    - -A granule position represents the instantaneous time location -between two pages. In a continuous stream, the granulepos -represents the point in time immediately after the last data decoded -from a page. In a discontinuous stream, it represents the point in -time immediately before the first data decoded from the page.

    - -Because Ogg functions at the page, not packet, level, this -once-per-page time information provides Ogg with the finest-grained -time information is can use. Ogg passes this granule positioning data -to the codec (along with the packets extracted from a page); it is -intended to be the responsibility of codecs to track timing -information at granularities finer than a single page.

    - -

    Example: timestamp

    +

    Example: timestamp

    In general, a codec/stream type should choose the simplest granule position encoding that addresses its requirements. The examples here @@ -143,7 +164,7 @@ of stream would allow a logical stream length of over 100,000,000,000 days before beginning a new logical stream (to avoid the granule position wrapping).

    -

    Example: framestamp

    +

    Example: framestamp

    A simple millisecond timestamp granule encoding might suit many stream types, but a millisecond resolution is inappropriate to, eg, most @@ -157,7 +178,7 @@ since beginning of stream. This has the advantages of being exact and efficient. Position in time would simply be [granule_position] * [samples_per_frame] / [samples_per_second]. -

    Example: samplestamp (Vorbis)

    +

    Example: samplestamp (Vorbis)

    Frame counting is insufficient in codecs such as Vorbis where an audio frame [packet] encodes a variable number of samples. In Vorbis's @@ -166,7 +187,7 @@ from the beginning of stream; the absolute time of a granule position is [granule_position] / [samples_per_second]. -

    Example: bit-divided framestamp (Theora)

    +

    Example: bit-divided framestamp (Theora)

    Some video codecs may be able to use the simple framestamp scheme for granule position. However, most modern video codecs introduce at @@ -199,10 +220,125 @@ keyframes are easy to find. Divide the granule position

    + + Can seek quickly to any keyframe without index Naieve seeking algorithm still availble; juyst lower performance Bisection seeking used anyway +

    granule position, packets and pages

    + +Although each packet of data in a logical stream theoretically has a +specific granule position, only one granule position is encoded +per page. It is possible to encode a logical stream such that each +page contains only a single packet (so that granule positions are +preserved for each packet), however a one-to-one packet/page mapping +is not intended to be the general case.

    + +Because Ogg functions at the page, not packet, level, this +once-per-page time information provides Ogg with the finest-grained +time information is can use. Ogg passes this granule positioning data +to the codec (along with the packets extracted from a page); it is +intended to be the responsibility of codecs to track timing +information at granularities finer than a single page.

    + +

    start-time and end-time positioning

    + +A granule position represents the instantaneous time location +between two pages. In an "end-time" encoded page, the granulepos +represents the point in time immediately after the last data decoded +from a page. In a "start-time" encoded page, it represents the point +in time immediately before the first data decoded from the page.

    + +Start-time or end-time positioning is flagged in bit 3 of byte 5 in the +Ogg page header. A set bit indicates start-time positioning. Version 0 +Ogg streams are restricted to using end-time positioning; version 1 may +use either or both start-time and end-time positioning. A single logical stream +within the multiplexed physical Ogg version 1 stream may also mix +start-time and end-time positioning.

    + + Start- and end-time do not affect multiplexing sort-order; pages are +still sorted by the absolute time a given granulepos maps to +regardless of whether that granulepos prepresents start- or +end-time.

    + +

    use of end-time positioning

    + +End-time positioning is most useful in unmultiplexed streams. It allows +two useful features relatively more easily: +
      +
    1. "short" beginning-of-stream and end-of-stream packets can be represented entirely using granulepos; the codec does not need to store auxiliary sizing information in the codec's data packets.
      +
    2. Retrieving the exact end-time of a stream is the trivial operation of inspecting the granule posiiton of the last page.
      +
    + +However, end-time coding results in sightly less efficient buffering +usage in a multiplexed stream. + +

    use of start-time positioning

    + +Multiplexed streams of start-time encoded pages yield optimal +buffering behavior; it requires the minimum theoretical buffer space +of any possible arrangement of pages. This is the primary benefit of +start-time positioning.

    + +The drawbacks of start-time positioning mirror the benefits attributed to +end-time positioning. Namely:

    + +

      +
    1. + +Codecs that generate short packets can no longer infer the presence of +a short packet from granulepos context; the 'shortness' of the packet +must be encoded in the packet itself. This drawback is minor, however +it does mean that codecs like Vorbis (which relies on granpos context +to detect sort packets) absolutely must use end-time positioning to +handle short packets.
      +
    2. +Determining ending time position of a stream requires slightly more +work than in an end-time encoded stream; the packets of the final +stream page must be counted forward to find ending time. +
      +
    + +Despite these minor drawbacks, the additional buffer efficiency of +start-time positioning strongly recommends its use in both multiplexed +and unmultiplexed streams. Use of end-time positioning should largely be +treated as a legacy means of supporting codecs that use +granulepos-context to determine short packets (such as Vorbis I).

    + +

    mixed start-time and end-time positioning

    + +Mixed positioning may refer to either multiplexing two or more streams +that use different time positionings, or using more than one time +positioning within a logical stream.

    + +Mixed positioning mostly affects only buffer efficiency; although +end-time positioning is less efficient than start-time, mixed-time +positioning will often be less efficient than both. The inefficiency is +relative however; buffer efficiency can still be excellent in all +three cases.

    + +One possible use of mixed-time positioning is combine the benefits of +end-time and start-time positioning, for example, use start-time positioning +for all but the last page of a stream, which is then coded in end-time +format. This way, a short packet can be flagged using granulepos +context and the end-time position of the stream is immediately obvious +from inspecting the last granule position.

    + +[POINT OF DISCUSSION: the above suggestion looks like it may be worth +considering as the suggested way of positioning the stream, thus doing +away entirely with the need to 'count time forward through packets' on +the last page of a start-time encoded stream to find final steam +length. However, a truncated stream will be missing the end-time last +page. + +1) We could say 'mixed time is the way to go' and just let a +damaged/truncated stream suffer. + +2) We could say 'counting time forward through packets is just the way +it has to be done' and do away with the possibility of mixed coding +entirely] +

    Multiplex/Demultiplex Division of Labor

    The Ogg multiplex/deultiplex layer provides mechanisms for encoding @@ -258,904 +394,11 @@ ascertain (and inform the Ogg layer) as to which after decoding the initial stream header. The majority of codecs will always be continuous (such as Vorbis) or discontinuous (such as Writ). -

    continuous granule position

    - - - -

    discontinuous granule position

    +

    Unsorted Discussion Points

    flushes around keyframes? RFC suggestion: repaginating or building a - stream this way is nice but not required - - -

    Appendix A: discussion excerpts

    - -Developers at Xiph.Org have discussed the details of Ogg multiplexing -on many occasions on Internet Relay Chat. The earliest conversations -regarding discontinuous streams and granule ordering between Monty -<xiphmont> and Jack Moffitt from 1999 weren't logged, but much -of the same material is rehashed in the three excerpts below.

    - -The primary purpose of these excerpts is to illuminate a number of -subtle points through logged conversations. The cornerstones of the -Ogg muxing specification were long set at this point, however the -excerpts capture discussion of proposed innovations within the -original specification and the reasoning behind each proposal as well -as discussing long-decided details.

    - -These excerpts have been edited from the original verbatim IRC log to -remove off-topic chatter and correct occasional typos.

    - -

    excerpt one

    +stream this way is nice but not required -This excerpt discusses: -
      -
    1. video keyframe flagging via granule position bit-division technique. -
    2. Division of labor during seeking between codec and Ogg demuxer -
    - -
    -
    -<mau>      guys, how can we test seeking, etc? are changes needed in the
    -	   ogg framework?
    -<mau>      like seeking to keyframes?
    -<rillian>  mau: nope, just player support
    -<mau>      ok, so what would be the strategy? seek to an arbitrary time,
    -           and wait for a keyframe?
    -<mau>      yeah, currently there is the hack in granulepos, right?
    -<danx0r>   I've heard about it -- some sort of bitfield division
    -<danx0r>   lower bits are frames after a key
    -<xiphmont> you can seek to a given location.  the hack in granpos
    -	   gives you the number for every keyframe.
    -<danx0r>   keyframes increase by some set increment -- can someone confirm?
    -<xiphmont> yes
    -<rillian>  xiphmont: I thought it wasn't necessarily fixed
    -<mau>      or is it up to the player?
    -<xiphmont> it's fixed for a given stream section.
    -<danx0r>   so if you seek naively now, you'll get garbage until the next kf?
    -<mau>      I think it is up to the player to freeze the last known good image
    -<mau>      until a keyframe passes, much like windows media, etc
    -<xiphmont> you know if you're not in sequence.
    -<danx0r>   the right thing is to go to the previous keyframe and parse up to 
    -	   your seek frame faster than realtime, but...
    -<danx0r>   for now, something like what WMP does should be fine
    -<Mike>     mau: or, if it's a smart player (and the data source allows it), 
    -	   to deliberately seek forwards to the next keyframe.
    -<rillian>  are you talking about the radix rather than the actual keyframe 
    -	   rate?
    -<mau>      mike: going forward is ok, but in wmp you can still read audio 
    -	   for example, until the next video keyframe, where video resumes
    -<mau>      it is also a good strategy, guess it depends on the player
    -<xiphmont> rillian: the stream is set up to have a maximum keyframe spacing.  
    -	   Granpos is updated by a fixed amount at each keyframe.  The 
    -	   granpos is not [necessarily] linearly increasing
    -<Mike>     true. 
    -<rillian>  it's monotonic, but not (necessarily) linear
    -<mau>      xiphmont: so ideally the player would look at the granulepos and 
    -	   count how many frames since the last key, and seek back that many 
    -	   pages?
    -<xiphmont> mau: Ogg seeking is all done as predicted bisection search.
    -<xiphmont> look in vorbisfile to see code that does it.
    -<derf>     If one encodes in a frame how many frames it has been since a 
    -	   keyframe, couldn't you do the same thing?
    -<derf>     Without imposing a maximum keyframe spacing?
    -<xiphmont> that data does not exist in an ogg header.
    -<xiphmont> Ogg headers use absolute counters.
    -<derf>     I meant in the packet data, but I see what you're saying.
    -<xiphmont> you get that out of the granpos hack anyway.
    -<derf>     You have to start decoding the packet to tell where to get the 
    -	   keyframe.
    -<xiphmont> Seeking in an ogg stream does not look at packets.
    -<rillian>  (except you have to parse the header to do granulepos conversion)
    -<xiphmont> yes.
    -<xiphmont> although it may be sensible to change that.
    -<derf>     You already need at least a page worth of data to check the CRC 
    -	   on the ogg header to seek.
    -<derf>     It would seem reasonable to require a full packet instead, and 
    -	   pass this to the codec when asking where to seek next.
    -<xiphmont> derf: a page does not necessarily give you a packet.
    -<derf>     xiphmont: I know.
    -<derf>     xiphmont: But, allowing the codec to look at the packet better 
    -	   supports embedding codecs which might not be able to determine 
    -	   the position of a keyframe from their granpos alone.
    -<xiphmont> derf: why wouldn't they?  Blind refusal to use the mechanisms at 
    -	   hand?
    -<derf>     The reason this concerns me is that the case where you want to 
    -	   have really long spaces between key frames (streaming) is also 
    -	   exactly the place where you want to allow very long streams.
    -<xiphmont> you have a 64 bit granpos.
    -<derf>     And if I never want a keyframe except at the first frame, I now 
    -	   have only 32.
    -<xiphmont> ...and you're welcome to use as many logical sections as you want.
    -<xiphmont> so, now you have 96 bits.
    -<derf>     Okay. I guess I can live with a keyframe every 4 billion frames.
    -<xiphmont> if you want unique serialnos; you're allowed to wrap them in 
    -	   streaming, so it becomes infinite.
    -<xiphmont> if you're streaming with one keyframe every 4G, you'll have no 
    -	   viewers anyway :-)
    -<derf>     That's what out-of-band synch points are for.
    -<xiphmont> sure, that works.
    -<xiphmont> Now, it's possible to do a 'seek requests are handed to the codec,
    -	   not to ogg' infrastructure, then the codec makes bisection calls 
    -	   into the ogg layer.
    -<xiphmont> it's more complex, and I'm not sure what I really get out of it.
    -<derf>     Well, the codec doesn't really need to do that.
    -<xiphmont> in fact, I'm beginning to wonder if moving the granpos parsing 
    -	   away from relying on header at all might be a good idea.
    -<derf>     The codec really just wants "give me the packet at this granpos"
    -<derf>     The bisection can still be done in the ogg layer to find that 
    -	   packet.
    -<xiphmont> derf: same basic division of labor.
    -<xiphmont> the request still originates at the codec.
    -
    - - -

    excerpt two

    - -This excerpt discusses: -
      -
    1. keyframe pagination in video -
    2. keyframe seeking using granule position bit-division -
    3. alternate keyframe location proposals -
    - -
    -
    -<rillian>  afaik that's just a detail of smpte timecode
    -<xiphmont> ...and preserving pulldown and non-interval-centered frames.
    -<rillian>  ugh
    -<xiphmont> (ie, what offset in the sample period is the frame)
    -<xiphmont> yeah, ugliness.
    -<xiphmont> but not really representationally difficult.
    -<rillian>  speaking of, do you see any advantage to doing page flushes 
    -	   before or after keyframes?
    -<rillian>  either to simplify seeking or initialization retention in 
    -	   something like icecast
    -<xiphmont> it doesn't affect seeking any, really. It makes streaming 
    -	   slightly easier for lazy programmers.
    -<rillian>  xiphmont: do you mean icecast should pull out the keyframe packet 
    -	   and repage it?
    -<xiphmont> rillian: if there's no flush, then it should as an optimization.  
    -	   It's not necessary, but it's nice.
    -<xiphmont> either the streamer or the source should be smart enough to start 
    -	   streaming at a nice sync point for a and v.
    -<rillian>  xiphmont: so how would you do frame-accurate seeking with the 
    -	   current design?
    -<rillian>  the concern as I understand was that there wasn't a page/packet 
    -	   that was specifically labelled 'this is a keyframe' at the ogg layer
    -<xiphmont> rillian: same way vorbis does.  Each frame does have a granpos,
    -	    they're just not linear.
    -<rillian>  s/wasn't/might not be/
    -<xiphmont> ah, yes there is.
    -<mau>      sorry for being slow, but when you say "Frame" is this a packet, 
    -	   a page?
    -<derf>     I thought the encoding was 
    -	   frame_number_of_keyframe<<n|frames_since_keyframe
    -<xiphmont> right now, each theora frame is one packet.
    -<xiphmont> derf: yes.
    -<derf>     As far as I can see, we can work backwards and reconstruct a 
    -	   packet-level granpos for each packet so long as that is still true.
    -<derf>     Once you include data partitioning a la MPEG, you lose that ability.
    -<mau>      k, but if you put many packets in a page, then you do not have one 
    -	   for each, right? It is just a matter of counting up, and not 
    -	   allowing keyframes in the middle of a page?
    -<derf>     mau: No.
    -<derf>     You can still put keyframes anywhere.
    -<xiphmont> actually, my Ogg algos counts forward from previous page generally.
    -<mau>      simple question: if there are multiple frames in a page, does the 
    -	   ogg layer maintains a granulepos for each?
    -<xiphmont> mau: It could, it doesn't.
    -<xiphmont> (requires being even more in bed with the codec.  And that is 
    -	   currently the greatest point of contention in my own mind)
    -<mau>      ok. and how to detect when a keyframe arrives in the middle of a 
    -	   page?
    -<xiphmont> mau: the codec knows.  Ogg doesn't.
    -<mau>      that's what I needed to know. So the codec initiates the seeking 
    -	   request
    -<xiphmont> Ogg knows only how to get to a requested granpos.
    -<derf>     Oh, no, you can't always get a granpos back for every packet.
    -<xiphmont> mau: it doesn't have to; that's one possible way to do it, yes.
    -<derf>     You can still put keyframes in the middle of pages, but if you put 
    -	   two of them in one page...
    -<xiphmont> derf: you can, but only going forward.
    -<xiphmont> Ogg is built on the idea of chronological decode; data propagates 
    -	   forward in time.
    -<derf>     If I encode PIPPIP in one page, I have no way of knowing the first 
    -	   I is there just by looking at granposes.
    -<xiphmont> no, but you have other data in the page; namely, the codec should 
    -	   be able to tell by looking at first byte.
    -<xiphmont> It is a consequence of Ogg having no codec-specific awareness.
    -<derf>     Yes, but even the codec cannot tell with just the granposes.
    -<xiphmont> correct, but the codec need not function only with granpos.
    -<xiphmont> the codec knows its own keyframes.
    -<derf>     If the codec need not function only with granposes, then why are 
    -	   we trying to build a seeking mechanism that works with just them?
    -<xiphmont> division of labor;  Ogg is able to hand you any *page*, not any 
    -	   *packet*.
    -<xiphmont> even Vorbis does this.
    -<mau>      ok, wouldn't it be better to require each new keyframe to start a 
    -	   new page then?
    -<xiphmont> Ogg hands you the nearest preceding page for the codec to then 
    -	   discard the minimum amount of page data to get to the packet it 
    -	   wants.
    -<mau>      to make seeking easier/faster/lazier?
    -<xiphmont> but it doesn't.
    -<xiphmont> Seek to page.  Start grabbing packets.
    -<derf>     xiphmont: Yes, I understand this, but...
    -<xiphmont> Discard packets until you see a keyframe
    -<mau>      k
    -<xiphmont> Ogg would have to do the same thing.
    -<mau>      I see
    -<xiphmont> You *can* if you want to, certainly.
    -<derf>     Say that page I gave above starts on frame n.
    -<xiphmont> There's nothing stopping or even discouraging you ;-)
    -<xiphmont> derf: OK
    -<derf>     I want to seek to frame n+3.
    -<xiphmont> OK
    -<derf>     I get that page's granpos, and discover there's a keyframe at frame
    -	   n+4.
    -<xiphmont> Ogg, in seeking, hands you the page that is guaranteed to have the 
    -	   start of n+3.
    -<derf>     I know nothing about the type of packets n to n+3.
    -<xiphmont> (or, more importantly, hands you the page guaranteed to have the 
    -	   keyframe you need to decode n+3)
    -<derf>     Without physically examining the packets.
    -<xiphmont> true.  Neither does Ogg.
    -<derf>     So I have to go all the way back to the previous keyframe to 
    -	   decode them.
    -<xiphmont> No.
    -<xiphmont> You already have it for free.
    -<xiphmont> Assume the keyframe shift in granpos is 8.
    -<derf>     Okay.
    -<xiphmont> (you get a new keyframe at most every 256 packets)
    -<derf>     Yeah, I know what this translates to.
    -<xiphmont> but the current actual pattern is: IPPPPPIPPPPPIPPPP....
    -<xiphmont> your granposes are:
    -<xiphmont> 0 1 2 3 4 5 600 601 602 603 604 605 c00 c01 c02....
    -<xiphmont> you want to decode frame 602; seek to 600.
    -<xiphmont> and you know you have to seek directly to 600 because you know how 
    -	   the granpos works.
    -<xiphmont> 600 is your keyframe.
    -<xiphmont> if 600 does not start the page, ogg hands you the page with 600 on 
    -	   it.
    -<rillian>  so you get a page with, for example, the end of 4, 5, 600, and the 
    -	   start of 601
    -<rillian>  you start pulling out packets
    -<rillian>  discard until you get to 600, which you decode
    -<derf>     xiphmont: But, I don't know the frame is called 602.
    -<rillian>  pull in the next page, pull out 601 and discard it
    -<derf>     I want to seek to frame 8.
    -<rillian>  then pull out 602 and resume normal decode
    -<derf>     All I know is that its granpos is <= 800.
    -<xiphmont> now, you're right; always having a keyframe start a page 
    -	   eliminates some amount of inspect/discard; but you can 
    -	   inspect/discard in a few processor cycles.
    -<rillian>  xiphmont: aye. seems a requirement to avoid the discard isn't needed
    -<xiphmont> derf: OK, then it's a 2-stage bisection.  you ask ogg for 'page 
    -	   before 800'; you see that the granpos is 600+whatever.  
    -	   then seek to 600.
    -<xiphmont> (or, Ogg could do that internally with knowledge of the granpos 
    -	   structure)
    -<mau>      k, this last one explained it for me
    -<derf>     xiphmont: Right, but here's the issue:
    -<derf>     In my PIPPIP example, Ogg doesn't know the granpos of the first 4
    -	    packets.
    -<xiphmont> sure.
    -<derf>     And the codec can reconstruct them just from the granpos of the 
    -	   page.
    -<derf>     s/can/can't
    -<xiphmont> sure it can.
    -<derf>     How?
    -<xiphmont> the count is *reducible* to a monotonically increasing function :-)
    -<xiphmont> (assuming you have two granposes)
    -<xiphmont> you're always counting up or down one frame.
    -<rillian>  i.e. you actually need the previous page in derf's example
    -<derf>     rillian: But the previous page doesn't tell you anything about 
    -	   packets 1-4.
    -<xiphmont> yes, the first 'P' is undefined granpos without previous page.
    -<xiphmont> ...but if your stream is not starting with a keyframe, that P 
    -	   frame is not decodable anyway.
    -<derf>     Let's say the previous granpos is 0|F0
    -<rillian>  derf: ok, I see. I was misunderstanding the granulepos hack.
    -<xiphmont> derf: yes it does.  If gives you the granpos of the first packet.
    -<xiphmont> (ie, it gives you the granpos of the last frame of the previous 
    -	   packet, and you can always count forward)
    -<derf>     Then the granpos for those frames can be F1|00 F1|01 F1|02 F1|03 
    -	   or 0|F1 F2|00 F2|01 F2|02 or ...
    -<xiphmont> you [the codec] knows if they're keyframes or not. 
    -<derf>     Only if I look at the packets themselves.
    -<xiphmont> yes.
    -<derf>     My claim was that there was no way to do it without looking at the 
    -	   packets.
    -<xiphmont> blow 10 cycles on inspecting, and avoid the need for a 64 bit 
    -	   timestamp on every packet :-)
    -<derf>     I'm not arguing for a timestamp.
    -<xiphmont> Oh. Yes, your claim is correct.  Apologies.
    -<rillian>  but it still doesn't matter much, because discarding as you go 
    -	   through a single page is cheap
    -<xiphmont> You need to inspect the packets.  It is the responsibility of the 
    -	   codec definition to make that easy.
    -<derf>     My argument is this: If I have to inspect the packets ANYWAY for 
    -	   this to work right, why am I going through this complicated granpos
    -	   scheme instead of just using a normal, sane mapping of 
    -	   frame=granpos, and storing an offset to the keyframe in the packet?
    -<xiphmont> (Vorbis places that information in the first byte)
    -<xiphmont> derf: the information is redundant.
    -<xiphmont> Yes, you certainly *can* do it that way.
    -<xiphmont> I'm even still considering it.  it does have advantages.
    -<mau>      monty: if the granulepos hack is made "official" and mandatory 
    -	   for other video codecs however, you could have ogg doing the 
    -	   inspection, right?
    -<xiphmont> OTOH, I'm also considering hardwiring a number of granpos 
    -	   mechanisms into Ogg such that it can seek without any codec 
    -	   knowledge.
    -<xiphmont> the two approaches are mutually exclusive (at least, rationally so)
    -<xiphmont> mau: yes, what you said.
    -<derf>     I do not see how you're going to be able to accomplish seeking 
    -	   without codec knowledge.
    -<derf>     I thought I had just demonstrated why your current scheme cannot 
    -	   do this.
    -<xiphmont> derf: not entirely; however, you could achieve enough to avoid 
    -	   the need for two-way feedback between the mux and codec layers.  
    -	   The current proposal (which includes this two way feedback) is 
    -	   very unusual and causing outside developers fits.
    -<xiphmont> for example, it means the Ogg demux has to interface with an 
    -	   Ogg-like codec glue.
    -<derf>     I had always assumed this was part of the design.
    -<derf>     By saying, to begin with, "the codec decides what granpos means".
    -<xiphmont> the current normal division of demux and decode has a different 
    -	   division; it would make it hard to use Ogg as a generic demux 
    -	   system in something like xine, where the 'vorbis' codec could 
    -	   just as easily handle the output from AVI or Ogg demux.
    -<xiphmont> derf: it always has been.  That doesn't mean I'm ignoring the 
    -	   advantages of alternatives.
    -<xiphmont> it is not yet at the point where changing my mind would break 
    -	   existing installations, so it's still worth debating.  That said, 
    -	   I've seen nothing yet to change my mind.
    -<derf>     The vorbis "codec" really has two pieces.
    -<derf>     One manages decoding the packets.
    -<xiphmont> one manages the Ogg mapping.
    -<derf>     Right.
    -<derf>     The first can be separated out and used for other container formats.
    -<derf>     The other containers are then responsible for providing an 
    -	   equivalent of the second.
    -<xiphmont> ...and we probably can't escape needing *some* glue for any given 
    -	   codec.
    -<xiphmont> even if we strive to make the division similar.
    -<xiphmont> 'similar' is not 'identical'.
    -<xiphmont> that is the primary reason I've not changed my mind.  Being in 
    -	   bed with the codec makes possible demux/decode lib APIs with some 
    -	   very nice features.
    -<xiphmont> (ala Vorbisfile)
    -<xiphmont> So, it sounds like we're entirely on the same page.
    -<xiphmont> [pun not intended]
    -<derf>     Yes, except that if you're in bed with the Theora codec, you 
    -	   shouldn't need this complicated of a granpos mapping.
    -<derf>     And I still don't see what it gets you.
    -<mau>      let me see if I understand you derf: if you are going to have to 
    -	   inspect the packets anyway
    -<mau>      why don't you use a linear count?
    -<mau>      is this it?
    -<derf>     mau: Correct.
    -<mau>      guess the hack can possibly give you a closer location
    -<rillian>  the case with mng is interesting. it's natively variable framerate 
    -	   (or more properly can be) so some realtime base (it has a field for
    -	   mapping 'ticks' to seconds) is the obvious granulepos. Except it 
    -	   has the same keyframe problem theora does, and it's worse because 
    -	   while identifying a restart point is easy (there's a special chunk 
    -	   type) the codec has to do quite a bit more work to determine which 
    -	   pieces are skippable
    -<derf>     Actually, it gives you a farther one.
    -<xiphmont> derf: it wastes space.
    -<xiphmont> you certainly can do it that way.  You'll sink additional bitrate 
    -	   to do it.
    -<derf>     xiphmont: Yes, it does move a few bits that are currently in the 
    -	   granpos into the packets.
    -<derf>     mau: If I want to seek to frame 8, and I ask for the granpos 
    -	   closest to 800, I get 605... three packets beyond where I want to 
    -	   be.
    -<xiphmont> yeah, you'll lose ~ half a kilobit to it.
    -<xiphmont> depending on framerate/keyframe freq.
    -<derf>     I don't have my H.264 spec on hand, but IIRC, they do the same 
    -	   thing.
    -<xiphmont> However:
    -<xiphmont> If you're a minimalist demux layer without precise seek....
    -<xiphmont> you can go straight to a keyframe with the granpos hack.
    -<xiphmont> (without asking the codec)
    -<xiphmont> that's probably the last minor perq.
    -<derf>     "without precise seek" can be up to 2**keyframe_shift frames off.
    -<xiphmont> ...which is exactly what mplayer and xine do.
    -<xiphmont> you get the next following keyframe past what you ask for.
    -<xiphmont> ...and they could continue to use their demux framework.
    -<xiphmont> ...and it will give the results they're already getting.
    -<xiphmont> (something tells me there will be outside devs wedded to their 
    -	   current libs)
    -<rillian>  which is why you did this in the first place?
    -<xiphmont> well, yeah.
    -<xiphmont> *I* want everything to always be perfect and correct :-)
    -<xiphmont> you can do it either way.  Which is not to say derf doesn't have a 
    -	   point.
    -<derf>     xiphmont: Perfection can take an awful lot of effort, as exhibited 
    -	   by this long drawn out conversation, which I'm sure is not the first
    -	   one.
    -<xiphmont> you could still do the Xine way with explicit keyframe offset in 
    -	   the packet, you just get a blank video until you hit a keyframe, 
    -	   or just discard alot.
    -<xiphmont> (note that xine/mplayer also do that in alot of codecs.  Actually 
    -	   xine has an annoying tendency to start decoding P and B frames 
    -	   starting with a uniform green field)
    -<derf>     Heh.
    -<xiphmont> and not bothering to wait for keyframe.
    -<xiphmont> So, in summary, derf's offset gives a much simpler mechanism, but 
    -	   eats a bit of bitrate (.5-1 kilobit) and makes it harder for 
    -	   pansy-ass demux layers to get to keyframes.  The granpos hack 
    -	   method has the drawback of conceptual complexity although I 
    -	   maintain the code isn't actually any more difficult.
    -<xiphmont> you need to know the additional information of 'keyframe shift'.
    -<derf>     It also adds a limit to the amount of frames between a keyframe.
    -<derf>     One which, unlike MPEG, the underlying codec doesn't actually need.
    -<xiphmont> yes, but for seekable video, if you're only having a keyframe 
    -	   every 30,000 frames, you're being a little too 1337.
    -<xiphmont> it is also the case that if we settle on one mapping, and it 
    -	   turns out to be a bad idea, we change the glue.  Supporting both 
    -	   would require little.
    -<xiphmont> it looks like a 'new' codec, but uses all the same infrastructure. 
    -<derf>     That just means you have all the software inadequacies of both, 
    -	   since players will then be required to support both.
    -<derf>     So any arguments of "simpler" become meaningless.
    -<xiphmont> you were just now arguing 'more flexible' (no keyframe spacing 
    -	   restriction)
    -<derf>     I didn't say the other arguments were meaningless.
    -<xiphmont> no.
    -<xiphmont> you didn't.
    -<xiphmont> I'm just saying the penalty for being wrong is pretty mild.
    -<derf>     I'm suggesting that the reality of the situation is that whatever 
    -	   you decide now is going to be it, because no one will want to 
    -	   complicate matters that much for the relatively mild gains of 
    -	   "slightly more flexible".
    -<derf>     Or, for that matter, "slightly easier braindead demuxers".
    -<xiphmont> In any case, I don't actually want to cut the lightweight 
    -	   mplayer style approach out of the picture.
    -<xiphmont> the granpos hack does give him slightly more rope, should he 
    -	   choose to use it.  I realize it's a weak argument, but it's there.
    -<derf>     Oh, and if you really wanted to, you could eliminate the stream 
    -	   space overhead for the keyframe offset.
    -<derf>     You have to load all the previous pages ANYWAY, to decode back to 
    -	   that point.
    -<derf>     So you could load them, scan them backwards for keyframes, and 
    -	   then turn around and decode them forward.
    -<derf>     The only overhead is the additional buffer space. Or time for 
    -	   multiple I/Os if you run out of that.
    -<xiphmont> derf: seeking backward is more expensive than forward.
    -
    - -

    excerpt three

    - -This excerpt discusses: -
      -
    1. introduction of discontinuous streams -
    2. ordering of pages in a multiplexed Ogg stream -
    3. ordering differences between continuous and discontinuous streams -
    4. text/captioning streams and captioning examples -
    5. seeking withing a multiplexed Ogg stream -
    -
    -
    -<Arc>      hey monty
    -<Arc>      have some questions about oggfile w/ streaming servers
    -<Arc>      and how codecs get interlaced in a physical bitstream
    -<Arc>      first, whats the process for codecs to get concurrently 
    -	   multiplexed. i know how pages etc etc, but how do the pages get 
    -	   paced?
    -<xiphmont> chronological order by granpos.
    -<Arc>      the granulepos of vorbis means nothing in relationship to theora
    -<Arc>      and in the case of writ, it means nothing at all. they're ordered 
    -	   by granulepos but they're needed by their start time, which is 
    -	   something only libwrit would know
    -<Arc>      how is theora and vorbis being synced, i mean, their pages as 
    -	   close to each other as needed by the player?
    -<xiphmont> chronological order.  Ogg will ask the codec to translate granpos 
    -	   to absolute time if it needs to know.
    -<Arc>      um ok so that isn't going to work at all for writ
    -<Arc>      granulepos = end time, not start time.
    -<Arc>      but for seeking it needs end time
    -<xiphmont> granpos *is* end-time :-)
    -<xiphmont> granpos is 'timing of last valid data to come out of this page'.
    -<Arc>      but if writ packets are put into the stream in the chronological 
    -	   position of their end time they wont be available for their start 
    -	   time, which is a variable length before their end time
    -<Arc>      writ packets cover time ranges. "this packet is valid between this 
    -	   granule and this granule", so there's a start and end time
    -<xiphmont> right.
    -<xiphmont> so do vorbis packets.
    -<Arc>      currently the spec is setup to allow overlap of these times by 
    -	   different phrases and page granulepos = endtime, packets ordered 
    -	   by end time (so some phrases may be put into the bitstream before
    -	    they're started)
    -<xiphmont> the seeking alg depends on end time.
    -<Arc>      yes im not concerned with seeking, we have seeking in the bag 
    -	   except for long term phrases + streaming, lets ignore that for now 
    -	   tho
    -<Arc>      im concerned about they're ordering in the logical bitstream
    -<xiphmont> You may have opened too large a can of worms with overlapping.
    -<Arc>      if a writ phrase lasts 10 seconds it needs to be in the physical 
    -	   bitstream close to or before its start time, relative to the 
    -	   vorbis/theora, you can expect the vorbis + theora layer to be 
    -	   buffered for ten seconds
    -<derf>     xiphmont: Overlapping does not complicate the problem at all.
    -<xiphmont> derf: actually it kills the current seeking algo.
    -<Arc>      no it doesn't actually
    -<derf>     You can replace any group of overlapped captions by a single 
    -	   caption that lasts the entire duration of it.
    -<derf>     And reproduce any problems.
    -<Arc>      the granulepos's are in order. the granulepos's are ordered by end 
    -	   time, their start times are not in order, but they must be defined 
    -	   before they're needed (or close to it) in relation to the other 
    -	   logical bitstreams for them to be useful
    -<xiphmont> One caption that begins before and ends after another.
    -<derf>     xiphmont: Which exhibits the exact same problems as just one 
    -	   caption.
    -<xiphmont> design a seeking algo that works for that.
    -<derf>     Conceptually, you can take any group of overlapping captions and 
    -	   stick them all in one packet.
    -<Arc>      we do. you seek to the position that you need and begin processing 
    -	   from there. you'll have everything.
    -<xiphmont> actually, yes, you're right.
    -<Arc>      my first question (these are very related) is how OggFile, 
    -	   oggmerge, whatever - how does that sync. do they ask the codec to 
    -	   pace per realtime, or does it ask the codec for a granulerate
    -<xiphmont> if the packet ended after the seek point, it wouldn't have 
    -	   appeared yet.
    -<Arc>      because the latter will break our current spec bigtime
    -<xiphmont> there are two possibilities; still working out which to use.
    -<xiphmont> One is two codec types: continuous and discontinuous.
    -<xiphmont> a continuous codec specifies 'buffer as much as you need to 
    -	   prevent any time gaps in my data presentation'.  A discontinuous 
    -	   stream type has to 'fall out' of the stream; seeking and sync are 
    -	   according to continuous streams, and the stream assembly has to 
    -	   make sure the discontinuous pages magically arrive in time
    -<xiphmont> [as the buffering/sync algo will not look arbitrarily far head for 
    -	   them]
    -<derf>     This sounds much like what I suggested to Arc.
    -<xiphmont> the second possibility is to require a hint in the metaheader for 
    -	   how long each stream type has to look ahead.
    -<xiphmont> Audio and video would be obvious continuous types.
    -<xiphmont> discontinuous types would not be used for sync; the granpos is 
    -	   allowed to appear out of order.
    -<Arc>      well my question is, will libwrit/etc be asked "where does this 
    -	   packet belong in the physical bitstream" or will OggFile/etc place 
    -	   it by granulepos
    -<xiphmont> Oggfile will place it.
    -<Arc>      yes but how
    -<Arc>      will it ask the codec?
    -<xiphmont> You don't muck with pages and raw ogg stream in Oggfile.  packets 
    -	   in, packets out.
    -<xiphmont> In encode, all packets are submitted with timing info.
    -<xiphmont> Oggfile builds and places pages as needed to obey timing magically.
    -<xiphmont> [it would be a serious asspain to require each app to do it]
    -<Arc>      yes I know that. but I see two ways for OggFile to place it. 
    -	   by asking the codec for a granulerate (ie, 88200 granules per 
    -	   second with 44.1/stereo vorbis or 29.95 granules per second with 
    -	   NTSC theora) and calculate its position based on granulepos or 
    -	   will the codec tell OggFile "this belongs at 19.23 seconds"
    -<derf>     Assuming a fixed granulerate is bad.
    -<Arc>      because the prior would require a spec rewrite, the latter is 
    -	   perfect
    -<derf>     Current Theora's granulerate is not constant.
    -<Arc>      derf, yea but assuming API for something that isn't public yet is 
    -	   also bad :-)
    -<xiphmont> Arc: we can have a packet show up with begin and end timing.
    -<Arc>      xiphmont, awesome. thanks :-)
    -<xiphmont> Ogg won't necessarily know that on decode side (it will have to 
    -	   ask the codec), but on encode side, just have codec provide it.
    -<xiphmont> It makes no sense for continuous streams, but for discontinuous it 
    -	   seems handy.
    -<Arc>      second question, do you feel it would be a good idea for OggFile 
    -	   (which I very much assume icecast2/libshout will use) to put the 
    -	   job of keeping track of and reporting "state information", ie, 
    -	   headers
    -<xiphmont> yes
    -<Arc>      vorbis would just spit out the headers for state information
    -<xiphmont> Actually, your grammar doesn't parse.
    -<Arc>      writ, however, could spit out any pages whose granulepos has not 
    -	   expired yet (to current) thus preventing the need in the spec to 
    -	   have phrases "expire" by time and need to be "refreshed" every few 
    -	   seconds for streaming clients
    -<xiphmont> well, without readahead hinting, you still have an issue.
    -<xiphmont> You either see a long-time caption too late.... or you miss it on 
    -	   seek.
    -<Arc>      thus the writ codec on icecast's side could buffer the last few 
    -	   pages (those that are still valid), on a new client connecting, 
    -	   spit out the header + however many packets are in the buffer
    -<xiphmont> [eg... how does Oggfile need to know it has to buffer a full 
    -	   minute of video?]
    -<Arc>      how big is that window?
    -<xiphmont> in continuous/discont... there is no window.
    -<derf>     The problem is that icecast needs to buffer some data from a 
    -	   discontinuous stream.
    -<xiphmont> A discontinuous stream will need a hint.
    -<derf>     i.e., it needs to know the granpos<->time mapping.
    -<Arc>      or it could be outside icecast
    -<Arc>      right now icecast is buffering the vorbis headers
    -<xiphmont> yes.  But it will also need to know window ahead of time without 
    -	   reading the whole file.
    -<derf>     So it can tell if it has to buffer packets from a stream if they 
    -	   appear in the stream long before the granpos time.
    -<Arc>      but if icecast is using OggFile this could be part of the API, the 
    -	   stream state info, a buffer of pages which are needed to bring a 
    -	   new client "up to speed"
    -<xiphmont> yes
    -<xiphmont> It should be.
    -<derf>     I don't see why it needs any kind of window.
    -<Arc>      i don't understand the "hint" as you call it, why does it need to 
    -	   read ahead at all?
    -<derf>     With cont/discont streams.
    -<xiphmont> you have a ten minute caption with a 20 minute gap ahead of where 
    -	   it appears.
    -<xiphmont> Do you really want to buffer 20 minutes of video to find it?
    -<Arc>      with seeking or streaming? two different things
    -<xiphmont> What if the caption stream ends early?  You stop and wait for the 
    -	   whole stream to buffer to figure that out.
    -<xiphmont> I'm speaking streaming.
    -<Arc>      why would you stop playing audio/video? you either receive a 
    -	   caption or you don't
    -<derf>     Arc's idea was that packets always appear before they're needed.
    -<derf>     In the stream.
    -<xiphmont> OK.  Now seeking.  If it appeared early, you miss em when you seek.
    -<derf>     So if you haven't seen it when you find audio/video that comes 
    -	   later, then they're not there.
    -<Arc>      xiphmont, how so? wont it seek each logical bitstream based on 
    -	   its granulepos?
    -<xiphmont> No.
    -<xiphmont> Seeking is global.
    -<Arc>      what is the window then?
    -<xiphmont> You seek to *one* point in the stream, based on all granposes.
    -<derf>     xiphmont: I can't see how that one point is well-defined.
    -<xiphmont> right.  what is the window then?
    -<Arc>      but discontinuous streams..
    -<xiphmont> derf: granposes are all in chronological order.
    -<xiphmont> Arc: discontinuous streams to not contribute to sync, they 
    -	   piggyback off of it.
    -<xiphmont> A continuous stream is just a stream with a readahead window of 
    -	   'infinite'.
    -<Arc>      yes but they're going to vary by a certain %, sometimes the audio 
    -	   will be ahead of the video, sometimes vice versa. they're both VBR 
    -	   so there needs to be a window of some sort
    -<xiphmont> A continuous stream has a readahead window of infinite.  "Buffer 
    -	   as much as necessary to keep all queues nonempty"
    -<Arc>      the continuous/discontinuous status of a stream is provided by the 
    -	   OggFile codec, right?
    -<xiphmont> yes
    -<xiphmont> that's current design.,
    -<Arc>      ok. then, whats the window for discontinuous
    -<xiphmont> exactly.
    -<xiphmont> It would need to be set somewhere.
    -<Arc>      see it's easy, in writ, for us just to say "this is the maximum 
    -	   realtime length of a caption compared to its placement in the 
    -	   stream" and then prematurely end then refresh the phrases that 
    -	   need it
    -<derf>     And this limits the length of your captions.
    -<xiphmont> sure.
    -<Arc>      exactly.
    -<Arc>      not the apparent, or source, length of the captions. its all 
    -	   internal to libwrit
    -<derf>     Right.
    -<xiphmont> ...but be careful; your maximum duration/gap will set the 
    -	   buffering requirements of the entire stream.
    -<Arc>      "if a caption's end-time minus physical placement time is greater 
    -	   than x, then terminate all current phrases early, then immediately 
    -	   redefine them in the same order and location"
    -<xiphmont> sorry, no, just duration.
    -<Arc>      well thats why I'm asking you about this, because this is global to 
    -	   Ogg
    -<xiphmont> OK, I think we're on the same page right now.
    -<Arc>      well it has to be physical placement time because some captions 
    -	   will need to be defined before other captions, remember they need 
    -	   to be ordered by their end time. that will determine if they get 
    -	   cut, and if they get cut before their start time, they wont need 
    -	   to be defined yet at all.
    -<Arc>      i was up to 6am this morning running through different projections 
    -	   for how this could work with seeking/streaming. derf's overlapping 
    -	   durations idea does play out well
    -<derf>     Except that if you want to cut, you may need to drop out packets 
    -	   from the middle (or just keep the extraneous data).
    -<Arc>      see I originally had it "all captions are FIFO, the first to be 
    -	   defined are also the first to end, otherwise they need to be cut 
    -	   and recreated, always". that can become a very bloated mess with 
    -	   text constantly getting redefined
    -<xiphmont> that's the same with other codec types.
    -<derf>     When cutting off the end of something.
    -<Arc>      ?
    -<xiphmont> derf: that's the same with other codec types.
    -<xiphmont> editing is always messy.  Ogg is not intended to be easy to edit.
    -<derf>     Yes.
    -<derf>     Editing is messy in general.
    -<Arc>      by cut I mean "while encoding the bitstream, if such conditions 
    -	   exist, split a single set of phrases into two butted end to end, 
    -	   ie, ending and immediately re-defining it"
    -<derf>     Just having global headers with different codebooks makes 
    -	   combining different streams hard.
    -<Arc>      i don't mean ala vcut
    -<derf>     (without imposing overhead of adding new headers in each segment)
    -<Arc>      the logical bitstream wont get a EOS/BOS
    -<derf>     Oh, I was talking about someone actually cutting an 
    -	   already-multiplexed stream into two pieces.
    -<Arc>      its just the phrases, the captions, that will get cut. their 
    -	   durations split at the window mark, processed as needed, 
    -	   redefined/copied to start at the same time their original was 
    -	   prematurely terminated, process repeated as needed so a single 
    -	   very long phrase (aka caption/subtitle) can be split-copied into 
    -	   hundreds of phrases, each redefining the same data for another 
    -	   X second window
    -<Arc>      derf, yea lets not get too complicated here :-)
    -<derf>     Well, it is still a use case to consider.
    -<derf>     People might want to actually do such a thing.
    -<Arc>      I'm not concerned with cutting, this is just text. lossless.
    -<derf>     Even though there are currently no tools for it.
    -<Arc>      people could use the same mechanism icecast does for cutting a 
    -	   bitstream. each OggFile codec keeps track of "state information", 
    -	   which typically is just the header but for discontinuous streams 
    -	   could be the last few buffered pages..
    -<Arc>      if OggFile has such an API it would make cutting child's play.
    -<Arc>      monty, so, is this going to be variable? or is it going to get set 
    -	   at some point? because i might as well build functionality for 
    -	   that into the design here while I'm working on it
    -<xiphmont> Ogg needs to be able to ask the codec what the readahead window is.
    -<xiphmont> the codec can have that set inherently or git it from the logical 
    -	   stream header.
    -<Arc>      yea but what should this be
    -<Arc>      are we talking a minute? 10 seconds? 1 second?
    -<xiphmont> actually thinking a sec...
    -<Arc>      ok :-)
    -<derf>     A second could be as much as 700k of video.
    -<derf>     Which is probably reasonable.
    -<xiphmont> OK, thinking over, no change in state.
    -<derf>     But captions typically last 3 to 6 seconds.
    -<xiphmont> 'what derf said'.
    -<derf>     Which means you've quadrupled to quintupled the size of your 
    -	   caption stream.
    -<xiphmont> Or you could just decide 'losing last one is no big deal'.
    -<Arc>      yea, exactly.
    -<xiphmont> ...and go to placing in the bitstream according to start time.
    -<derf>     xiphmont: That's what current DVD players do, IIRC.
    -<xiphmont> derf: good to know.
    -<Arc>      the smaller the window the less buffering on the player's side, 
    -	   but the greater the codec size grows
    -<xiphmont> yes.
    -<derf>     A player that really did care could do a separate seek for each 
    -	   discontinuous stream instead of one global one.
    -<Arc>      it makes things so much easier to have it ordered by end time
    -<xiphmont> So.... perhaps the window should be set... and left up to the 
    -	   application if it cares to use it or not.  We go to ordering 
    -	   discontinuous stream types by begin time, and make sure we're 
    -	   tolerant of losing 'the one before' if the application chooses to 
    -	   do it that way.
    -<Arc>      i mean, coding is easier by start time, duh, no buffering, no 
    -	   changing the order, just drop it in and let it fly or not
    -<derf>     And then buffer just the discontinuous data (which one would 
    -	   expect to be far less than the continuous) until it caught up to 
    -	   the global seek point.
    -<xiphmont> derf: yes.
    -<xiphmont> no, you don't want to do separate seek... for example, in the 
    -	   streaming case... you can't whether you care or not.
    -<Arc>      ok but if they're ordered by start time we still need a "window" 
    -	   for very long captions, otherwise seeking would never have them 
    -	   appear
    -<xiphmont> ...so don't turn it into supporting multiple cases.  Make it 
    -	   multiple possibilities in a single case.
    -<xiphmont> Arc: yes.
    -<xiphmont> And the application can decide to mind the window or not...
    -<Arc>      the encoding application
    -<xiphmont> A PC software player will always want to mind.  An embedded 
    -	   player may simply not be able to.
    -<xiphmont> No, decoding.
    -<xiphmont> encoding always requests a hint... but the decoder can ignore 
    -	   the readahead hint without ill-effect if it wishes.
    -<Arc>      no i mean, the encoder would have to "refresh" a phrase periodically
    -<xiphmont> unless you want to miss a few, yes.
    -<Arc>      if ordered by start time, the player simply seeks and runs. 
    -<Arc>      well its not missing a few that bothers me, its missing a very 
    -	   long one
    -<xiphmont> you can't have everything you want here :-)  Very long would need 
    -	   to refresh in either case.
    -<Arc>      ok so there would need to be a refresh window variable that the 
    -	   encoder could set, but could default to a certain number
    -<Arc>      yes I know, refresh is unavoidable.
    -<xiphmont> ok
    -<Arc>      yea for all cases ordering discontinuous streams by start time is 
    -	   easier.
    -<Arc>      less elegant, tho
    -<xiphmont> 'however the codec wants to do it'.  It could be a hardcoded 
    -	   number in the codec for all I care (I know that's not really 
    -	   sensible)
    -<derf>     Placed in the stream by start time can have a much longer refresh 
    -	   time than placed by end time.
    -<xiphmont> derf: yes.
    -<xiphmont> lookin' like a win all around.
    -<xiphmont> ...and this can be added to spec without breaking a single thing.
    -<Arc>      if the encoding application chose it could set this window 
    -	   extremely high, understanding that long term captions would never
    -	    appear if it's seeked
    -<Arc>      or streamed.
    -<xiphmont> Arc: yes.
    -<xiphmont> If ordered by start time, I think the granpos should also be 
    -	   start-time.
    -<Arc>      and this would eliminate the need to monitor "state information" 
    -	   with streaming, it'd act no different from a seek
    -<xiphmont> but that's a minor detail I'd rather debate another time.
    -<Arc>      well yea that'd have to be the case or you'd have out of order 
    -	   granulepos and that'd create chaos
    -<Arc>      ok so, the behavior part of the spec should change so that 
    -	   packets are ordered by start time, in sequence, and it doesn't 
    -	   matter if they overlap
    -<xiphmont> Arc: yes, seems like it.
    -<derf>     One could always look at that stuff to see how it wound up being 
    -	   implemented.
    -<Arc>      derf, you had a great idea, in any case, on how to handle 
    -	   overlapping when granulepos was by end time
    -<Arc>      i hate to erase it all, I'm going to copy this to another location 
    -	   on the wiki...
    -<derf>     I don't know how you make seeking work with granpos as the start 
    -	   time.
    -<xiphmont> OggFile would need to distinguish between cont and discont.  
    -<xiphmont> It needs to ask codecs for granpos mappings anyway.
    -<Arc>      easy. you seek to a point, you only display new phrases. long term 
    -	   phrases are periodically refreshed, so the player just displays 
    -	   them as they come in.
    -<xiphmont> if it's end-time and packets are in chron order, discont streams 
    -	   are useless for sync and seek.  If it's start-time, they can 
    -	   contribute.
    -<xiphmont> I think derf was concerned about complicating the seeking algo.
    -<derf>     Mostly.
    -<xiphmont> I don;t think this would complicate it much.
    -<xiphmont> It just changes the 'boundary was at head or at tail' of page.  
    -	   The bisection is identical.
    -<xiphmont> ...and the meaning of seek points is the same.
    -<xiphmont> you still seek to the largest granpos in the stream preceding 
    -	   requesting time position.
    -<xiphmont> [preceding or equal to]
    -<derf>     "the page with..."
    -<xiphmont> well, you either seek *to* that page [if it's discont] or just 
    -	   past that page [if it's cont]
    -<i>Actually, if it's continuous, you seek just past that page if the
    -last packet is not continued, or to that page is the packet is
    -continued -- Monty</i>
    -<xiphmont> you have both those boundaries.  You just use cont/discont to 
    -	   decide which.
    -<xiphmont> I think of seeking as an operation of going to a specific page 
    -	   boundary, not a specific page.
    -<xiphmont> [and that makes this extension much cleaner]
    -<derf>     Okay, I think I see now... I was holding the definition of what a 
    -	   granpos meant fixed as a design constraint.
    -<xiphmont> derf: well, it had been.  This is actually a new innovation within 
    -	   the machinery.
    -<derf>     But I agree this is a reasonably simple special case.
    -<Arc>      so discontinuous streams, granulepos is the start time of the packet
    -<xiphmont> what complication do you see?
    -<xiphmont> Arc: start time of the first packet beginning in the page
    -<xiphmont> [not a continued packet]
    -<xiphmont> Oh, continued packets.
    -<xiphmont> No continued packets in discont streams.
    -<xiphmont> You think that's reasonable?
    -<Arc>      not really, because a discontinuous packet could be quite large 
    -	   and you'd want it split across page borders
    -<derf>     xiphmont: It gives a hard limit on packet size, doesn't it?
    -<xiphmont> yeah, you're right.
    -<derf>     xiphmont: It's an "if"... I'm not worried about it either.
    -<xiphmont> OK, a restriction:
    -<xiphmont> Continued packets must be continued in an immediately following 
    -	   page.
    -<xiphmont> derf: it is an if.
    -<Arc>      that sounds healthy
    -<xiphmont> OK
    -<xiphmont> See the nice part about *all* of this is...
    -<xiphmont> If a third-party impl screws up, it doesn't break the code, it 
    -	   just munges playback slightly.
    -<xiphmont> We can extend the spec to include them...
    -<xiphmont> the stream format need not rev.
    -<xiphmont> we already know existing code isn't up to discontinuous anyway.
    -<xiphmont> OggFile is intended to do this for the app.  I do not expect most 
    -	   apps to implement this.  It is purely a mux-layer operation.
    -
    +

    Appendix A: multiplexing examples

    -- cgit v1.2.3 From 712dbb9b657bf2b0feeefc1c9c9662b79cdde642 Mon Sep 17 00:00:00 2001 From: Monty Date: Sat, 8 May 2004 06:15:13 +0000 Subject: Enough for the meeting, although certainly needs more proofreading. No doubt the 5/8 meeting will proof it far more thoroughly than I have done. svn path=/trunk/ogg/; revision=6641 --- doc/ogg-multiplex.html | 63 +++++++++++++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 26 deletions(-) (limited to 'doc') diff --git a/doc/ogg-multiplex.html b/doc/ogg-multiplex.html index 021795a..6eba78e 100644 --- a/doc/ogg-multiplex.html +++ b/doc/ogg-multiplex.html @@ -84,21 +84,22 @@ without the need for explicitly declared buffer-ahead hinting.

    Whole-stream navigation

    -Ogg is designed sot hat the simplest navigation operations are one -that best treat the physical Ogg stream as whole summary of its -streams, rather than navigating each interleaved stream as a seperate -entity.

    - -Example: the simplest method of seeking to a desired -position in a multiplexed (or unmultiplexed) Ogg stream is to -bisection search by time position (as encoded in the granule -position).

    - -Example: A bitstream section may consist of three multiplexed streams -of differing lenghts. The result of multiplexing these streams should -be thought of as a single mixed stream with a length that happens to -equal the longest of the three component streams. Although it is also -possible to think of the multiplexed results as three concurrent +Ogg is designed so that the simplest navigation operations treat the +physical Ogg stream as a whole summary of its streams, rather than +navigating each interleaved stream as a seperate entity.

    + +First Example: seeking to a desired time position in a multiplexed (or +unmultiplexed) Ogg stream can be accomplished through a bisection +search on time position of all pages int he stream (as encoded in the +granule position). More powerful searches (such as a keyframe-aware +seek within video) are also possible with additional search +complexity, but similar computational compelxity.

    + +Second Example: A bitstream section may consist of three multiplexed +streams of differing lenghts. The result of multiplexing these +streams should be thought of as a single mixed stream with a length +equal to the longest of the three component streams. Although it is +also possible to think of the multiplexed results as three concurrent streams of different lenghts and it is possible to recover the three original streams, it will also become obvious that once multiplexed, it isn't possible to find the internal lenghts of the component @@ -217,14 +218,15 @@ handled through the granule position mapping mechanism. Here we arrange the granule position in such a way that granule positions of keyframes are easy to find. Divide the granule position

    +[FINISH DESCRIBING "THE GRANPOS HACK" HERE. ELOQUENCE IS CURRENTLY +ELUDING ME, BUT FOR NOW THE CORE TEAM UNDERSTANDS THIS ONE. Do be +sure to fill me in before this doc is public :-] - - - - +

          Can seek quickly to any keyframe without index
    -     Naieve seeking algorithm still availble; juyst lower performance
    +     Naieve seeking algorithm still availble; just lower performance
          Bisection seeking used anyway
    +

    granule position, packets and pages

    @@ -250,12 +252,21 @@ represents the point in time immediately after the last data decoded from a page. In a "start-time" encoded page, it represents the point in time immediately before the first data decoded from the page.

    -Start-time or end-time positioning is flagged in bit 3 of byte 5 in the -Ogg page header. A set bit indicates start-time positioning. Version 0 -Ogg streams are restricted to using end-time positioning; version 1 may -use either or both start-time and end-time positioning. A single logical stream -within the multiplexed physical Ogg version 1 stream may also mix -start-time and end-time positioning.

    +Start-time or end-time positioning is flagged in bit 3 of byte 5 in +the Ogg page header. A set bit indicates start-time positioning. +Version 0 Ogg streams are restricted to using end-time positioning; +version 1 may use either or both start-time and end-time +positioning. A single logical stream within the multiplexed physical +Ogg version 1 stream may also mix start-time and end-time +positioning.

    + +[POINT OF DISCUSSION: this flag can be added without upping the +bitstream revision. However, old software is unaware of start-time +ordering; the result is as harmless as seeking inaccuracies or as +serious as crashing poorly designed code. Upping the Ogg bitstream +revision would force old code to reject these new streams; although +old code generally doesn;t verify that any reserved flags are zero as +the spec mandates, the do check bitstream revision number]

    Start- and end-time do not affect multiplexing sort-order; pages are still sorted by the absolute time a given granulepos maps to -- cgit v1.2.3 From 5a42681ccc06aa2456eccc42031d371998b4344b Mon Sep 17 00:00:00 2001 From: Monty Date: Tue, 18 May 2004 06:04:53 +0000 Subject: Updated doc to reflect current proposal... Not as much a proposal at this point actually; this is the way I'm now implementing it. Although we're still in the 'RFC'/'look for horrible lossage' stage, this is close to being set in stone unless we find something horribly wrong with it. Doc is still very light on detailed rationale and examples; I'd like to subcontract that part of the writing and get on with code. svn path=/trunk/ogg/; revision=6719 --- doc/ogg-multiplex.html | 292 +++++++++++++++++++++---------------------------- 1 file changed, 123 insertions(+), 169 deletions(-) (limited to 'doc') diff --git a/doc/ogg-multiplex.html b/doc/ogg-multiplex.html index 6eba78e..0fe270c 100644 --- a/doc/ogg-multiplex.html +++ b/doc/ogg-multiplex.html @@ -6,7 +6,7 @@ Page Multiplexing and Ordering in a Physical Ogg Stream -Last update to this document: May 7, 2004
    +Last update to this document: May 17, 2004

    The low-level mechanisms of an Ogg stream (as described in the Ogg @@ -33,19 +33,6 @@ encoding) or interactive decoding (such as scrubbing or instant replay) is not disallowed or discouraged, however no bitstream feature must require nonlinear operation on the bitstream.

    -

    Seeking

    - -Ogg is designed to use a bisection search to implement exact -positional seeking rather than building an index; an index requires -two-pass encoding and as such is not acceptible according to original -design requirements.

    - -Even making an index optional then requires an -application to support multiple methods (bisection search for a -one-pass stream, indexing for a two-pass stream), which adds no -additional functionality as bisection search delivers the same -functionality for both stream types.

    -

    Multiplexing

    Ogg bitstreams multiplex multiple logical streams into a single @@ -65,22 +52,93 @@ packets span multiple pages; the specifics of handling this special case are described later under 'Continuous and Discontinuous Streams'.

    +

    Seeking

    + +Ogg is designed to use a bisection search to implement exact +positional seeking rather than building an index; an index requires +two-pass encoding and as such is not acceptible given the requirement +for full-featured linear encoding.

    + +Even making an index optional then requires an +application to support multiple methods (bisection search for a +one-pass stream, indexing for a two-pass stream), which adds no +additional functionality as bisection search delivers the same +functionality for both stream types.

    + +Seek operations are by absolute time; a direct bisection search must +find the exact time position requested. Information in the Ogg +bitstream is arranged such that all information to be presented for +playback fromt he desired seek point will occur at or after the +desired seek point. Seek operations are neither 'fuzzy' nor +heuristic.

    + +Although keyframe handling in video appears to be an exception to +"all needed playback information lies ahead of a given seek", +keyframes can still be handled directly within this indexless +framework. Seeking to a keyframe in video (as well as seeking in other +media types with analagous restraints) is handled as two seeks; first +a seek to the desired time which extracts state information that +decodes to the time of the last keyframe, followed by a second seek +directly to the keyframe. The location of the previous keyframe is +embedded as state information in the granulepos; this mechanism is +described in more detail later. + +

    Continuous and Discontinuous Streams

    + +Logical streams within a physical Ogg stream belong to one of two +categories, "Continuous" streams and "Discontinuous" streams. +Although these are discussed in more detail later, the distinction is +important to a high-level understanding of how to buffer an Ogg +stream.

    + +A stream that provides a gapless, time-continuous media type with a +fine-grained timebase is considered to be 'Continuous'. A continuous +stream should never be starved of data. Clear examples of continuous +data types include broadcast audio and video.

    + +A stream that delivers data in a potentially irregular pattern or with +widely spaced timing gaps is considered to be 'Discontinuous'. A +discontinuous stream may be best thought of as data representing +scattered events; although they happen in order, they are typically +unconnected data often located far apart. One possible example of a +discontinuous stream types would be captioning. Although it's +possible to design captions as a continuous stream type, it's most +natural to think of captions as widely spaced pieces of text with +little happing between.

    + +The fundamental design distinction between continuous and +discontinuous streams concerns buffering.

    +

    Buffering

    -Ogg's multiplexing design minimizes extraneous buffering required to -maintain audio/video sync by arranging audio, video and other data in -chronological order. Thus, a normally streamed file delivers all -data for decode 'just in time'; pages arrive in the order they must -be consumed.

    +Because a continuous stream is, by definition, gapless, Ogg buffering +is based on the simple premise of never allowing any active continuous +stream to starve for data during decode; buffering proceeds ahead +until all continuous streams in a physical stream have data ready to +decode on demand.

    + +Discontinuous stream data may occur on a farily regular basis, but the +timing of, for example, a specific caption is impossible to predict +with certainty in most captioning systems. Thus the buffering system +should take discontinuous data 'as it comes' rather than working ahead +(for a potentially unbounded period) to look for future discontinuous +data. As such, discontinuous streams are ingored when managing +buffering; their pages simply 'fall out' of the stream when continuous +streams are handled properly.

    Buffering requirements need not be explicitly declared or managed for the encoded stream; the decoder simply reads as much data as is necessary to keep all continuous stream types gapless (also ensuring discontinuous data arrives in time) and no more, resulting in optimum -buffer usage for free. Because all pages of all data types are -stamped with absolute timing information within the stream, -inter-stream synchronization timing is always explicitly maintained -without the need for explicitly declared buffer-ahead hinting.

    +implicit buffer usage for a given stream. Because all pages of all +data types are stamped with absolute timing information within the +stream, inter-stream synchronization timing is always explicitly +maintained without the need for explicitly declared buffer-ahead +hinting.

    + +Further details, mechanisms and reasons for the differing arrangement +and behavior of continuous and discontinuous streams is discussed +later.

    Whole-stream navigation

    @@ -90,19 +148,19 @@ navigating each interleaved stream as a seperate entity.

    First Example: seeking to a desired time position in a multiplexed (or unmultiplexed) Ogg stream can be accomplished through a bisection -search on time position of all pages int he stream (as encoded in the +search on time position of all pages in the stream (as encoded in the granule position). More powerful searches (such as a keyframe-aware seek within video) are also possible with additional search complexity, but similar computational compelxity.

    Second Example: A bitstream section may consist of three multiplexed -streams of differing lenghts. The result of multiplexing these +streams of differing lengths. The result of multiplexing these streams should be thought of as a single mixed stream with a length equal to the longest of the three component streams. Although it is also possible to think of the multiplexed results as three concurrent streams of different lenghts and it is possible to recover the three original streams, it will also become obvious that once multiplexed, -it isn't possible to find the internal lenghts of the component +it isn't possible to find the internal lengths of the component streams without a linear search of the whole bitstream section. However, it is possible to find the length of the whole bitstream section easily (in near-constant time per section) just as it is for a @@ -117,7 +175,7 @@ of every Ogg page. Although the granule position represents absolute time within a logical stream, its value does not necessarily directly encode a simple timestamp. It may represent frames elapsed (as in Vorbis), a simple timestamp, or a more complex bit-division encoding -(such as in Theora). The exact meaning of the granule position is up +(such as in Theora). The exact encoding of the granule position is up to a specific codec.

    The granule position is governed by the following rules: @@ -216,17 +274,22 @@ codec's initial header, and the rest is just arithmetic.

    The third point appears trickier at first glance, but it too can be handled through the granule position mapping mechanism. Here we arrange the granule position in such a way that granule positions of -keyframes are easy to find. Divide the granule position

    - -[FINISH DESCRIBING "THE GRANPOS HACK" HERE. ELOQUENCE IS CURRENTLY -ELUDING ME, BUT FOR NOW THE CORE TEAM UNDERSTANDS THIS ONE. Do be -sure to fill me in before this doc is public :-] - -

    -     Can seek quickly to any keyframe without index
    -     Naieve seeking algorithm still availble; just lower performance
    -     Bisection seeking used anyway
    -
    +keyframes are easy to find. Divide the granule position into two +fields; the most-significant bits are an absolute frame counter, but +it's only updated at each keyframe. The least significant bits encode +the number of frames since the last keyframe. In this way, each +granule position both encodes the absolute time of the current frame +as well as the absolute time of the last keyframe.

    + +Seeking to a most recent preceeding keyframe is then accomplished by +first seeking to the original desired point, inspecting the granulepos +of the resulting video page, extracting from that granulepos the +absolute time of the desired keyframe, and then seeking directly to +that keyframe's page. Of course, it's still possible for an +application to ignore keyframes and use a simpler seeking algorithm +(decode would be unable to present decoded video until the next +keyframe). Surprisingly many player applications do choose the +simpler approach.

    granule position, packets and pages

    @@ -240,116 +303,34 @@ is not intended to be the general case.

    Because Ogg functions at the page, not packet, level, this once-per-page time information provides Ogg with the finest-grained time information is can use. Ogg passes this granule positioning data -to the codec (along with the packets extracted from a page); it is -intended to be the responsibility of codecs to track timing -information at granularities finer than a single page.

    +to the codec (along with the packets extracted from a page); it is the +responsibility of codecs to track timing information at granularities +finer than a single page.

    start-time and end-time positioning

    A granule position represents the instantaneous time location -between two pages. In an "end-time" encoded page, the granulepos -represents the point in time immediately after the last data decoded -from a page. In a "start-time" encoded page, it represents the point -in time immediately before the first data decoded from the page.

    - -Start-time or end-time positioning is flagged in bit 3 of byte 5 in -the Ogg page header. A set bit indicates start-time positioning. -Version 0 Ogg streams are restricted to using end-time positioning; -version 1 may use either or both start-time and end-time -positioning. A single logical stream within the multiplexed physical -Ogg version 1 stream may also mix start-time and end-time -positioning.

    - -[POINT OF DISCUSSION: this flag can be added without upping the -bitstream revision. However, old software is unaware of start-time -ordering; the result is as harmless as seeking inaccuracies or as -serious as crashing poorly designed code. Upping the Ogg bitstream -revision would force old code to reject these new streams; although -old code generally doesn;t verify that any reserved flags are zero as -the spec mandates, the do check bitstream revision number]

    - - Start- and end-time do not affect multiplexing sort-order; pages are -still sorted by the absolute time a given granulepos maps to +between two pages. However, continuous streams and discontinuous +streams differ on whether the granulepos represents the end-time of +the data on a page or the start-time. Continuous streams are +'end-time' encoded; the granulepos represents the point in time +immediately after the last data decoded from a page. Discontinuous +streams are 'start-time' encoded; the granulepos represents the point +in time of the first data decoded from the page.

    + +An Ogg stream type is declared continuous or discontinuous by its +codec. A given codec may support both continuous and discontinuous +operation so long as any given logical stream is continuous or +discontinuous for its entirety and the codec is able to ascertain (and +inform the Ogg layer) as to which after decoding the initial stream +header. The majority of codecs will always be continuous (such as +Vorbis) or discontinuous (such as Writ).

    + +Start- and end-time encoding do not affect multiplexing sort-order; +pages are still sorted by the absolute time a given granulepos maps to regardless of whether that granulepos prepresents start- or end-time.

    -

    use of end-time positioning

    - -End-time positioning is most useful in unmultiplexed streams. It allows -two useful features relatively more easily: -
      -
    1. "short" beginning-of-stream and end-of-stream packets can be represented entirely using granulepos; the codec does not need to store auxiliary sizing information in the codec's data packets.
      -
    2. Retrieving the exact end-time of a stream is the trivial operation of inspecting the granule posiiton of the last page.
      -
    - -However, end-time coding results in sightly less efficient buffering -usage in a multiplexed stream. - -

    use of start-time positioning

    - -Multiplexed streams of start-time encoded pages yield optimal -buffering behavior; it requires the minimum theoretical buffer space -of any possible arrangement of pages. This is the primary benefit of -start-time positioning.

    - -The drawbacks of start-time positioning mirror the benefits attributed to -end-time positioning. Namely:

    - -

      -
    1. - -Codecs that generate short packets can no longer infer the presence of -a short packet from granulepos context; the 'shortness' of the packet -must be encoded in the packet itself. This drawback is minor, however -it does mean that codecs like Vorbis (which relies on granpos context -to detect sort packets) absolutely must use end-time positioning to -handle short packets.
      -
    2. -Determining ending time position of a stream requires slightly more -work than in an end-time encoded stream; the packets of the final -stream page must be counted forward to find ending time. -
      -
    - -Despite these minor drawbacks, the additional buffer efficiency of -start-time positioning strongly recommends its use in both multiplexed -and unmultiplexed streams. Use of end-time positioning should largely be -treated as a legacy means of supporting codecs that use -granulepos-context to determine short packets (such as Vorbis I).

    - -

    mixed start-time and end-time positioning

    - -Mixed positioning may refer to either multiplexing two or more streams -that use different time positionings, or using more than one time -positioning within a logical stream.

    - -Mixed positioning mostly affects only buffer efficiency; although -end-time positioning is less efficient than start-time, mixed-time -positioning will often be less efficient than both. The inefficiency is -relative however; buffer efficiency can still be excellent in all -three cases.

    - -One possible use of mixed-time positioning is combine the benefits of -end-time and start-time positioning, for example, use start-time positioning -for all but the last page of a stream, which is then coded in end-time -format. This way, a short packet can be flagged using granulepos -context and the end-time position of the stream is immediately obvious -from inspecting the last granule position.

    - -[POINT OF DISCUSSION: the above suggestion looks like it may be worth -considering as the suggested way of positioning the stream, thus doing -away entirely with the need to 'count time forward through packets' on -the last page of a start-time encoded stream to find final steam -length. However, a truncated stream will be missing the end-time last -page. - -1) We could say 'mixed time is the way to go' and just let a -damaged/truncated stream suffer. - -2) We could say 'counting time forward through packets is just the way -it has to be done' and do away with the possibility of mixed coding -entirely] -

    Multiplex/Demultiplex Division of Labor

    The Ogg multiplex/deultiplex layer provides mechanisms for encoding @@ -364,7 +345,7 @@ knowledge, however. Unlike other framing systems, Ogg maintains strict seperation between framing and the framed bistream data; Ogg does not replicate codec-specific information in the page/framing data, nor does Ogg blur the line between framing and stream -data/metadata. Because Ogg is fully data agnostic toward the data it +data/metadata. Because Ogg is fully data-agnostic toward the data it frames, operations which require specifics of bitstream data (such as 'seek to keyframe') also require interaction with the codec layer (because, in this example, the Ogg layer is not aware of the concept @@ -379,33 +360,6 @@ interaction with the codecs in order to decode the granule position of a given stream type back to absolute time or in order to find 'decodable points' such as keyframes in video. -

    Continuous and Discontinuous Streams

    - -

    continuous description

    -A stream that provides a gapless, time-continuous media type is -considered to be 'Continuous'. Clear examples of continuous data -types include broadcast audio and video. Such a stream should never -allow a playback buffer to starve, and Ogg implementations must buffer -ahead sufficient pages such that all continuous streams in a physical -stream have data ready to decode on demand.

    - -

    discontinuous description

    -A stream that delivers data in a potentially irregular pattern or with -widely spaced timing gaps is considered to be 'Discontinuous'. An -examples of a discontinuous stream types would be captioning. -Although captions still occur on a regular basis, the timing of a -specific caption is impossible to predict with certainty in most -captioning systems.

    - -

    declaration

    An Ogg stream type is defined to be continuous or -discontinuous by its codec. A given codec may support both continuous -and discontinuous operation so long as any given logical stream is -continuous or discontinuous for its entirety and the codec is able to -ascertain (and inform the Ogg layer) as to which after decoding the -initial stream header. The majority of codecs will always be -continuous (such as Vorbis) or discontinuous (such as Writ). - -

    Unsorted Discussion Points

    flushes around keyframes? RFC suggestion: repaginating or building a -- cgit v1.2.3 From 39ea1f46a1274d8be09c8f9fa742838fa2758e60 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Mon, 5 Jul 2004 11:13:36 +0000 Subject: * error out on autotools failures so warnings are caught early on * clean up AC_OUTPUT * AUTOMAKE_OPTIONS = foreign only needs to be done toplevel (this can be verified by checking Makefile's generated in other directories and seeing that the var isn't used) svn path=/trunk/ogg/; revision=6990 --- doc/Makefile.am | 2 -- doc/ogg/Makefile.am | 2 -- 2 files changed, 4 deletions(-) (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index 81eae4b..e5ebcf6 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,7 +1,5 @@ ## Process this with automake to create Makefile.in -AUTOMAKE_OPTIONS = foreign - SUBDIRS = ogg docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) diff --git a/doc/ogg/Makefile.am b/doc/ogg/Makefile.am index af12d84..8a51188 100644 --- a/doc/ogg/Makefile.am +++ b/doc/ogg/Makefile.am @@ -1,7 +1,5 @@ ## Process this file with automake to produce Makefile.in -AUTOMAKE_OPTIONS = foreign - docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/ogg doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ -- cgit v1.2.3 From 81e8703c56912875171e69ebb8f34a966266a8d3 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Tue, 28 Sep 2004 06:06:31 +0000 Subject: Fix documentation for ogg_stream_packetout(). This routine would appear to return '0' when no data or only an incomplete packet are available. This is distinct from the other two cases. Also clarify the function of the packet argument. 'decode' in this use was ambiguous. svn path=/trunk/ogg/; revision=7888 --- doc/ogg/ogg_stream_packetout.html | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/ogg/ogg_stream_packetout.html b/doc/ogg/ogg_stream_packetout.html index e4b3a28..d879339 100644 --- a/doc/ogg/ogg_stream_packetout.html +++ b/doc/ogg/ogg_stream_packetout.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.0 - 20000615

    libogg release 1.1.3 - 20040927

    @@ -37,7 +37,9 @@ int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
    Pointer to a previously declared ogg_stream_state struct. Before this function is called, an ogg_page should be submitted to the stream using ogg_stream_pagein().
    op
    -
    Pointer to the packet that will be submitted to the decoding layer after this function is called.
    +
    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.
    @@ -45,6 +47,7 @@ href="ogg_stream_state.html">ogg_stream_state struct. Before this function
    • -1 if we are out of sync and there is a gap in the data. Usually this will not be a fatal error.
    • +
    • 0 if there is no data available, or only a partial packet.
    • 1 in all other cases.
    @@ -59,7 +62,7 @@ href="ogg_stream_state.html">ogg_stream_state struct. Before this function

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    -

    libogg release 1.0 - 20000615

    +

    libogg release 1.1.3 - 20040927

    -- cgit v1.2.3 From 7a1fb6f949dfca7597bbef5eaef19a347cfef1eb Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Tue, 28 Sep 2004 06:21:08 +0000 Subject: additional verbosity on ogg_stream_packetout() svn path=/trunk/ogg/; revision=7889 --- doc/ogg/ogg_stream_packetout.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/ogg/ogg_stream_packetout.html b/doc/ogg/ogg_stream_packetout.html index d879339..bc57e85 100644 --- a/doc/ogg/ogg_stream_packetout.html +++ b/doc/ogg/ogg_stream_packetout.html @@ -17,8 +17,8 @@

    declared in "ogg/ogg.h";

    -

    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.

    -

    In a typical decoding situation, this should be used after calling ogg_stream_pagein() to submit a page of data to the bitstream.

    +

    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. Each successive call returns the next complete packet built from those segments.

    +

    In a typical decoding situation, this should be used after calling ogg_stream_pagein() 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.



    @@ -46,9 +46,9 @@ function is called.

    Return Values

      -
    • -1 if we are out of sync and there is a gap in the data. Usually this will not be a fatal error.
    • -
    • 0 if there is no data available, or only a partial packet. -
    • 1 in all other cases.
    • +
    • -1 if we are out of sync and there is a gap in the data. Usually this will not be a fatal error. op contains a the first packet decodable after the hole.
    • +
    • 0 if there is insufficient data available to complete a packet. op has not been updated. +
    • 1 if a packet was assembled normally. op contains the next packet from the stream.
    @@ -58,7 +58,7 @@ function is called.
    - + -- cgit v1.2.3 From 9042d026bf274ade69154eb14924eb3ed63cac10 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Sun, 15 May 2005 16:00:19 +0000 Subject: Document ogg_sync_wrote() on the ogg_sync_wrote page instead of half of ogg_sync_destroy(). svn path=/trunk/ogg/; revision=9283 --- doc/ogg/ogg_sync_wrote.html | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/ogg/ogg_sync_wrote.html b/doc/ogg/ogg_sync_wrote.html index 2110526..06318ab 100644 --- a/doc/ogg/ogg_sync_wrote.html +++ b/doc/ogg/ogg_sync_wrote.html @@ -19,12 +19,20 @@

    This function is used to tell the ogg_sync_state struct how many bytes we wrote into the buffer. -

    +

    +The general proceedure is to request a pointer into an internal +ogg_sync_state buffer by calling +ogg_sync_buffer(). 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.

    + +

    copyright © 2000 xiph.org

    copyright © 2004 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    @@ -34,6 +42,8 @@ int ogg_sync_destroy(ogg_sync_state *oy);
    oy
    Pointer to a previously declared ogg_sync_state struct.
    +
    bytes
    +
    Number of bytes of new data written.
    @@ -43,7 +53,7 @@ int ogg_sync_destroy(ogg_sync_state *oy);
  • 0 in all other cases.
  • -

    +


    -- cgit v1.2.3 From 74cb320ff2d91c5ce00f03769ebb334afba247fb Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Sun, 15 May 2005 16:24:00 +0000 Subject: Correct another documentation typo. svn path=/trunk/ogg/; revision=9284 --- doc/ogg/ogg_stream_reset_serialno.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/ogg/ogg_stream_reset_serialno.html b/doc/ogg/ogg_stream_reset_serialno.html index cd0088d..d75fdb3 100644 --- a/doc/ogg/ogg_stream_reset_serialno.html +++ b/doc/ogg/ogg_stream_reset_serialno.html @@ -1,7 +1,7 @@ -libogg - function - ogg_stream_reset +libogg - function - ogg_stream_reset_serialno @@ -27,7 +27,7 @@ Additionally, it sets the stream serial number to the given value.

    -- cgit v1.2.3 From 450a8295cda444e46059e0f5e552c24e99885c79 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 17 Jun 2005 16:40:24 +0000 Subject: Add the multiplex doc to the distribution. svn path=/trunk/ogg/; revision=9460 --- doc/Makefile.am | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index e5ebcf6..0d26aa1 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -4,6 +4,8 @@ SUBDIRS = ogg 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) -- cgit v1.2.3 From 0635fe4657b34640f37851baf98428446020c980 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Sat, 18 Jun 2005 15:22:11 +0000 Subject: doc typo fixes combined with a buildbot test svn path=/trunk/ogg/; revision=9466 --- doc/ogg-multiplex.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/ogg-multiplex.html b/doc/ogg-multiplex.html index 0fe270c..de487c4 100644 --- a/doc/ogg-multiplex.html +++ b/doc/ogg-multiplex.html @@ -27,7 +27,7 @@ specific low-level design decisions. The Ogg bitstream is intended to encapsulate chronological, time-linear mixed media into a single delivery stream or file. The design is such that an application can always encode and/or decode a -full-featured bitstream in one pass with no seeking an minimal +full-featured bitstream in one pass with no seeking and minimal buffering. Seeking to provide optimized encoding (such as two-pass encoding) or interactive decoding (such as scrubbing or instant replay) is not disallowed or discouraged, however no bitstream feature @@ -68,7 +68,7 @@ functionality for both stream types.

    Seek operations are by absolute time; a direct bisection search must find the exact time position requested. Information in the Ogg bitstream is arranged such that all information to be presented for -playback fromt he desired seek point will occur at or after the +playback from the desired seek point will occur at or after the desired seek point. Seek operations are neither 'fuzzy' nor heuristic.

    -- cgit v1.2.3 From ae575e3fa0d83cd041f53bbbe617a40a7edd36a0 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Sat, 18 Jun 2005 15:48:17 +0000 Subject: more typos svn path=/trunk/ogg/; revision=9467 --- doc/ogg-multiplex.html | 76 +++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 38 deletions(-) (limited to 'doc') diff --git a/doc/ogg-multiplex.html b/doc/ogg-multiplex.html index de487c4..046c0cd 100644 --- a/doc/ogg-multiplex.html +++ b/doc/ogg-multiplex.html @@ -12,7 +12,7 @@ Page Multiplexing and Ordering in a Physical Ogg Stream The low-level mechanisms of an Ogg stream (as described in the Ogg Bitstream Overview) provide means for mixing multiple logical streams and media types into a single linear-chronological stream. This -document specifices the high-level arrangement and use of page +document specifies the high-level arrangement and use of page structure to multiplex multiple streams of mixed media type within a physical Ogg stream. @@ -56,7 +56,7 @@ Streams'.

    Ogg is designed to use a bisection search to implement exact positional seeking rather than building an index; an index requires -two-pass encoding and as such is not acceptible given the requirement +two-pass encoding and as such is not acceptable given the requirement for full-featured linear encoding.

    Even making an index optional then requires an @@ -72,14 +72,14 @@ playback from the desired seek point will occur at or after the desired seek point. Seek operations are neither 'fuzzy' nor heuristic.

    -Although keyframe handling in video appears to be an exception to +Although key frame handling in video appears to be an exception to "all needed playback information lies ahead of a given seek", -keyframes can still be handled directly within this indexless -framework. Seeking to a keyframe in video (as well as seeking in other -media types with analagous restraints) is handled as two seeks; first +key frames can still be handled directly within this indexless +framework. Seeking to a key frame in video (as well as seeking in other +media types with analogous restraints) is handled as two seeks; first a seek to the desired time which extracts state information that -decodes to the time of the last keyframe, followed by a second seek -directly to the keyframe. The location of the previous keyframe is +decodes to the time of the last key frame, followed by a second seek +directly to the key frame. The location of the previous key frame is embedded as state information in the granulepos; this mechanism is described in more detail later. @@ -104,7 +104,7 @@ unconnected data often located far apart. One possible example of a discontinuous stream types would be captioning. Although it's possible to design captions as a continuous stream type, it's most natural to think of captions as widely spaced pieces of text with -little happing between.

    +little happening between.

    The fundamental design distinction between continuous and discontinuous streams concerns buffering.

    @@ -117,12 +117,12 @@ stream to starve for data during decode; buffering proceeds ahead until all continuous streams in a physical stream have data ready to decode on demand.

    -Discontinuous stream data may occur on a farily regular basis, but the +Discontinuous stream data may occur on a fairly regular basis, but the timing of, for example, a specific caption is impossible to predict with certainty in most captioning systems. Thus the buffering system should take discontinuous data 'as it comes' rather than working ahead (for a potentially unbounded period) to look for future discontinuous -data. As such, discontinuous streams are ingored when managing +data. As such, discontinuous streams are ignored when managing buffering; their pages simply 'fall out' of the stream when continuous streams are handled properly.

    @@ -144,21 +144,21 @@ later.

    Ogg is designed so that the simplest navigation operations treat the physical Ogg stream as a whole summary of its streams, rather than -navigating each interleaved stream as a seperate entity.

    +navigating each interleaved stream as a separate entity.

    First Example: seeking to a desired time position in a multiplexed (or unmultiplexed) Ogg stream can be accomplished through a bisection search on time position of all pages in the stream (as encoded in the -granule position). More powerful searches (such as a keyframe-aware +granule position). More powerful searches (such as a key frame-aware seek within video) are also possible with additional search -complexity, but similar computational compelxity.

    +complexity, but similar computational complexity.

    Second Example: A bitstream section may consist of three multiplexed streams of differing lengths. The result of multiplexing these streams should be thought of as a single mixed stream with a length equal to the longest of the three component streams. Although it is also possible to think of the multiplexed results as three concurrent -streams of different lenghts and it is possible to recover the three +streams of different lengths and it is possible to recover the three original streams, it will also become obvious that once multiplexed, it isn't possible to find the internal lengths of the component streams without a linear search of the whole bitstream section. @@ -205,7 +205,7 @@ absolute time value into a unique granule position value.

  • Codecs shall choose a granule position definition that allows that codec means to seek as directly as possible to an immediately decodable point, such as the bit-divided granule position encoding of -Theora allows the codec to seek efficiently to keyframes without using +Theora allows the codec to seek efficiently to key frame without using an index. That is, additional information other than absolute time may be encoded into a granule position value so long as the granule position obeys the above points. @@ -231,8 +231,8 @@ audio encodings where exact single-sample resolution is generally a requirement. A millisecond is both too large a granule and often does not represent an integer number of samples.

    -In the event that a audio frames always encode the same number of -samples, the granule position could simple be a linear count of frames +In the event that audio frames are always encoded as the same number of +samples, the granule position could simply be a linear count of frames since beginning of stream. This has the advantages of being exact and efficient. Position in time would simply be [granule_position] * [samples_per_frame] / [samples_per_second]. @@ -255,14 +255,14 @@ least the following complications:

  • video frames are relatively far apart compared to audio samples; for this reason, the point at which a video frame changes to the next -frame is usually a strictly defined offset within the frme 'period'. +frame is usually a strictly defined offset within the frame 'period'. That is, video at 50fps could just as easily define frame transitions <.015, .035, .055...> as at <.00, .02, .04...>.
  • frame rates often include drop-frames, leap-frames or other rational-but-non-integer timings. -
  • Decode must begin at a 'keyframe' or 'I frame'. Keyframes usually +
  • Decode must begin at a 'key frame' or 'I frame'. Keyframes usually occur relatively seldom. @@ -274,21 +274,21 @@ codec's initial header, and the rest is just arithmetic.

    The third point appears trickier at first glance, but it too can be handled through the granule position mapping mechanism. Here we arrange the granule position in such a way that granule positions of -keyframes are easy to find. Divide the granule position into two +key frames are easy to find. Divide the granule position into two fields; the most-significant bits are an absolute frame counter, but -it's only updated at each keyframe. The least significant bits encode -the number of frames since the last keyframe. In this way, each +it's only updated at each key frame. The least significant bits encode +the number of frames since the last key frame. In this way, each granule position both encodes the absolute time of the current frame -as well as the absolute time of the last keyframe.

    +as well as the absolute time of the last key frame.

    -Seeking to a most recent preceeding keyframe is then accomplished by +Seeking to a most recent preceding key frame is then accomplished by first seeking to the original desired point, inspecting the granulepos of the resulting video page, extracting from that granulepos the -absolute time of the desired keyframe, and then seeking directly to -that keyframe's page. Of course, it's still possible for an -application to ignore keyframes and use a simpler seeking algorithm +absolute time of the desired key frame, and then seeking directly to +that key frame's page. Of course, it's still possible for an +application to ignore key frames and use a simpler seeking algorithm (decode would be unable to present decoded video until the next -keyframe). Surprisingly many player applications do choose the +key frame). Surprisingly many player applications do choose the simpler approach.

    granule position, packets and pages

    @@ -328,12 +328,12 @@ Vorbis) or discontinuous (such as Writ).

    Start- and end-time encoding do not affect multiplexing sort-order; pages are still sorted by the absolute time a given granulepos maps to -regardless of whether that granulepos prepresents start- or +regardless of whether that granulepos represents start- or end-time.

    Multiplex/Demultiplex Division of Labor

    -The Ogg multiplex/deultiplex layer provides mechanisms for encoding +The Ogg multiplex/demultiplex layer provides mechanisms for encoding raw packets into Ogg pages, decoding Ogg pages back into the original codec packets, determining the logical structure of an Ogg stream, and navigating through and synchronizing with an Ogg stream at a desired @@ -342,27 +342,27 @@ in the Ogg domain and require no intervention from codecs.

    Implementation of more complex operations does require codec knowledge, however. Unlike other framing systems, Ogg maintains -strict seperation between framing and the framed bistream data; Ogg +strict separation between framing and the framed bitstream data; Ogg does not replicate codec-specific information in the page/framing data, nor does Ogg blur the line between framing and stream data/metadata. Because Ogg is fully data-agnostic toward the data it frames, operations which require specifics of bitstream data (such as -'seek to keyframe') also require interaction with the codec layer +'seek to key frame') also require interaction with the codec layer (because, in this example, the Ogg layer is not aware of the concept -of keyframes). This is different from systems that blur the -seperation between framing and stream data in order to simplify the -seperation of code. The Ogg system purposely keeps the distinction in +of key frames). This is different from systems that blur the +separation between framing and stream data in order to simplify the +separation of code. The Ogg system purposely keeps the distinction in data simple so that later codec innovations are not constrained by framing design.

    For this reason, however, complex seeking operations require interaction with the codecs in order to decode the granule position of a given stream type back to absolute time or in order to find -'decodable points' such as keyframes in video. +'decodable points' such as key frames in video.

    Unsorted Discussion Points

    -flushes around keyframes? RFC suggestion: repaginating or building a +flushes around key frames? RFC suggestion: repaginating or building a stream this way is nice but not required -- cgit v1.2.3 From a84a79abbb026b0ab7398ea67011948fb7f31e82 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Sat, 16 Jul 2005 19:36:56 +0000 Subject: New version of the interleave example that shows the possibility of non-contiguous eos pages. Ticket #503. svn path=/trunk/ogg/; revision=9574 --- doc/stream.png | Bin 2327 -> 2254 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'doc') diff --git a/doc/stream.png b/doc/stream.png index 6e9dca8..ce2d2da 100644 Binary files a/doc/stream.png and b/doc/stream.png differ -- cgit v1.2.3 From 6e275ac670397fa0d54fe2897ac3d058cb3055dd Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Sat, 30 Jul 2005 23:43:51 +0000 Subject: Rename the libogg api doc directory to doc/libogg for greater clarity. svn path=/trunk/ogg/; revision=9667 --- doc/Makefile.am | 2 +- doc/libogg/.cvsignore | 2 + doc/libogg/Makefile.am | 28 +++++++ doc/libogg/bitpacking.html | 99 ++++++++++++++++++++++++ doc/libogg/datastructures.html | 59 +++++++++++++++ doc/libogg/decoding.html | 100 ++++++++++++++++++++++++ doc/libogg/encoding.html | 64 ++++++++++++++++ doc/libogg/general.html | 105 ++++++++++++++++++++++++++ doc/libogg/index.html | 39 ++++++++++ doc/libogg/ogg_packet.html | 75 ++++++++++++++++++ doc/libogg/ogg_packet_clear.html | 62 +++++++++++++++ doc/libogg/ogg_page.html | 74 ++++++++++++++++++ doc/libogg/ogg_page_bos.html | 65 ++++++++++++++++ doc/libogg/ogg_page_checksum_set.html | 62 +++++++++++++++ doc/libogg/ogg_page_continued.html | 64 ++++++++++++++++ doc/libogg/ogg_page_eos.html | 65 ++++++++++++++++ doc/libogg/ogg_page_granulepos.html | 65 ++++++++++++++++ doc/libogg/ogg_page_packets.html | 75 ++++++++++++++++++ doc/libogg/ogg_page_pageno.html | 63 ++++++++++++++++ doc/libogg/ogg_page_serialno.html | 63 ++++++++++++++++ doc/libogg/ogg_page_version.html | 63 ++++++++++++++++ doc/libogg/ogg_stream_clear.html | 61 +++++++++++++++ doc/libogg/ogg_stream_destroy.html | 62 +++++++++++++++ doc/libogg/ogg_stream_eos.html | 62 +++++++++++++++ doc/libogg/ogg_stream_flush.html | 67 +++++++++++++++++ doc/libogg/ogg_stream_init.html | 66 ++++++++++++++++ doc/libogg/ogg_stream_packetin.html | 65 ++++++++++++++++ doc/libogg/ogg_stream_packetout.html | 71 ++++++++++++++++++ doc/libogg/ogg_stream_packetpeek.html | 85 +++++++++++++++++++++ doc/libogg/ogg_stream_pagein.html | 67 +++++++++++++++++ doc/libogg/ogg_stream_pageout.html | 66 ++++++++++++++++ doc/libogg/ogg_stream_reset.html | 61 +++++++++++++++ doc/libogg/ogg_stream_reset_serialno.html | 67 +++++++++++++++++ doc/libogg/ogg_stream_state.html | 121 ++++++++++++++++++++++++++++++ doc/libogg/ogg_sync_buffer.html | 67 +++++++++++++++++ doc/libogg/ogg_sync_clear.html | 62 +++++++++++++++ doc/libogg/ogg_sync_destroy.html | 62 +++++++++++++++ doc/libogg/ogg_sync_init.html | 63 ++++++++++++++++ doc/libogg/ogg_sync_pageout.html | 79 +++++++++++++++++++ doc/libogg/ogg_sync_pageseek.html | 68 +++++++++++++++++ doc/libogg/ogg_sync_reset.html | 63 ++++++++++++++++ doc/libogg/ogg_sync_state.html | 67 +++++++++++++++++ doc/libogg/ogg_sync_wrote.html | 73 ++++++++++++++++++ doc/libogg/oggpack_adv.html | 64 ++++++++++++++++ doc/libogg/oggpack_adv1.html | 62 +++++++++++++++ doc/libogg/oggpack_bits.html | 62 +++++++++++++++ doc/libogg/oggpack_buffer.html | 66 ++++++++++++++++ doc/libogg/oggpack_bytes.html | 62 +++++++++++++++ doc/libogg/oggpack_get_buffer.html | 62 +++++++++++++++ doc/libogg/oggpack_look.html | 66 ++++++++++++++++ doc/libogg/oggpack_look1.html | 63 ++++++++++++++++ doc/libogg/oggpack_read.html | 65 ++++++++++++++++ doc/libogg/oggpack_read1.html | 63 ++++++++++++++++ doc/libogg/oggpack_readinit.html | 64 ++++++++++++++++ doc/libogg/oggpack_reset.html | 62 +++++++++++++++ doc/libogg/oggpack_write.html | 68 +++++++++++++++++ doc/libogg/oggpack_writealign.html | 65 ++++++++++++++++ doc/libogg/oggpack_writeclear.html | 62 +++++++++++++++ doc/libogg/oggpack_writecopy.html | 69 +++++++++++++++++ doc/libogg/oggpack_writeinit.html | 62 +++++++++++++++ doc/libogg/oggpack_writetrunc.html | 65 ++++++++++++++++ doc/libogg/overview.html | 44 +++++++++++ doc/libogg/reference.html | 93 +++++++++++++++++++++++ doc/libogg/style.css | 7 ++ doc/libogg/vorbis_comment.html | 70 +++++++++++++++++ doc/libogg/vorbis_info.html | 80 ++++++++++++++++++++ doc/ogg/.cvsignore | 2 - doc/ogg/Makefile.am | 28 ------- doc/ogg/bitpacking.html | 99 ------------------------ doc/ogg/datastructures.html | 59 --------------- doc/ogg/decoding.html | 100 ------------------------ doc/ogg/encoding.html | 64 ---------------- doc/ogg/general.html | 105 -------------------------- doc/ogg/index.html | 39 ---------- doc/ogg/ogg_packet.html | 75 ------------------ doc/ogg/ogg_packet_clear.html | 62 --------------- doc/ogg/ogg_page.html | 74 ------------------ doc/ogg/ogg_page_bos.html | 65 ---------------- doc/ogg/ogg_page_checksum_set.html | 62 --------------- doc/ogg/ogg_page_continued.html | 64 ---------------- doc/ogg/ogg_page_eos.html | 65 ---------------- doc/ogg/ogg_page_granulepos.html | 65 ---------------- doc/ogg/ogg_page_packets.html | 75 ------------------ doc/ogg/ogg_page_pageno.html | 63 ---------------- doc/ogg/ogg_page_serialno.html | 63 ---------------- doc/ogg/ogg_page_version.html | 63 ---------------- doc/ogg/ogg_stream_clear.html | 61 --------------- doc/ogg/ogg_stream_destroy.html | 62 --------------- doc/ogg/ogg_stream_eos.html | 62 --------------- doc/ogg/ogg_stream_flush.html | 67 ----------------- doc/ogg/ogg_stream_init.html | 66 ---------------- doc/ogg/ogg_stream_packetin.html | 65 ---------------- doc/ogg/ogg_stream_packetout.html | 71 ------------------ doc/ogg/ogg_stream_packetpeek.html | 85 --------------------- doc/ogg/ogg_stream_pagein.html | 67 ----------------- doc/ogg/ogg_stream_pageout.html | 66 ---------------- doc/ogg/ogg_stream_reset.html | 61 --------------- doc/ogg/ogg_stream_reset_serialno.html | 67 ----------------- doc/ogg/ogg_stream_state.html | 121 ------------------------------ doc/ogg/ogg_sync_buffer.html | 67 ----------------- doc/ogg/ogg_sync_clear.html | 62 --------------- doc/ogg/ogg_sync_destroy.html | 62 --------------- doc/ogg/ogg_sync_init.html | 63 ---------------- doc/ogg/ogg_sync_pageout.html | 79 ------------------- doc/ogg/ogg_sync_pageseek.html | 68 ----------------- doc/ogg/ogg_sync_reset.html | 63 ---------------- doc/ogg/ogg_sync_state.html | 67 ----------------- doc/ogg/ogg_sync_wrote.html | 73 ------------------ doc/ogg/oggpack_adv.html | 64 ---------------- doc/ogg/oggpack_adv1.html | 62 --------------- doc/ogg/oggpack_bits.html | 62 --------------- doc/ogg/oggpack_buffer.html | 66 ---------------- doc/ogg/oggpack_bytes.html | 62 --------------- doc/ogg/oggpack_get_buffer.html | 62 --------------- doc/ogg/oggpack_look.html | 66 ---------------- doc/ogg/oggpack_look1.html | 63 ---------------- doc/ogg/oggpack_read.html | 65 ---------------- doc/ogg/oggpack_read1.html | 63 ---------------- doc/ogg/oggpack_readinit.html | 64 ---------------- doc/ogg/oggpack_reset.html | 62 --------------- doc/ogg/oggpack_write.html | 68 ----------------- doc/ogg/oggpack_writealign.html | 65 ---------------- doc/ogg/oggpack_writeclear.html | 62 --------------- doc/ogg/oggpack_writecopy.html | 69 ----------------- doc/ogg/oggpack_writeinit.html | 62 --------------- doc/ogg/oggpack_writetrunc.html | 65 ---------------- doc/ogg/overview.html | 44 ----------- doc/ogg/reference.html | 93 ----------------------- doc/ogg/style.css | 7 -- doc/ogg/vorbis_comment.html | 70 ----------------- doc/ogg/vorbis_info.html | 80 -------------------- 131 files changed, 4264 insertions(+), 4264 deletions(-) create mode 100644 doc/libogg/.cvsignore create mode 100644 doc/libogg/Makefile.am create mode 100644 doc/libogg/bitpacking.html create mode 100644 doc/libogg/datastructures.html create mode 100644 doc/libogg/decoding.html create mode 100644 doc/libogg/encoding.html create mode 100644 doc/libogg/general.html create mode 100644 doc/libogg/index.html create mode 100644 doc/libogg/ogg_packet.html create mode 100644 doc/libogg/ogg_packet_clear.html create mode 100644 doc/libogg/ogg_page.html create mode 100644 doc/libogg/ogg_page_bos.html create mode 100644 doc/libogg/ogg_page_checksum_set.html create mode 100644 doc/libogg/ogg_page_continued.html create mode 100644 doc/libogg/ogg_page_eos.html create mode 100644 doc/libogg/ogg_page_granulepos.html create mode 100644 doc/libogg/ogg_page_packets.html create mode 100644 doc/libogg/ogg_page_pageno.html create mode 100644 doc/libogg/ogg_page_serialno.html create mode 100644 doc/libogg/ogg_page_version.html create mode 100644 doc/libogg/ogg_stream_clear.html create mode 100644 doc/libogg/ogg_stream_destroy.html create mode 100644 doc/libogg/ogg_stream_eos.html create mode 100644 doc/libogg/ogg_stream_flush.html create mode 100644 doc/libogg/ogg_stream_init.html create mode 100644 doc/libogg/ogg_stream_packetin.html create mode 100644 doc/libogg/ogg_stream_packetout.html create mode 100644 doc/libogg/ogg_stream_packetpeek.html create mode 100644 doc/libogg/ogg_stream_pagein.html create mode 100644 doc/libogg/ogg_stream_pageout.html create mode 100644 doc/libogg/ogg_stream_reset.html create mode 100644 doc/libogg/ogg_stream_reset_serialno.html create mode 100644 doc/libogg/ogg_stream_state.html create mode 100644 doc/libogg/ogg_sync_buffer.html create mode 100644 doc/libogg/ogg_sync_clear.html create mode 100644 doc/libogg/ogg_sync_destroy.html create mode 100644 doc/libogg/ogg_sync_init.html create mode 100644 doc/libogg/ogg_sync_pageout.html create mode 100644 doc/libogg/ogg_sync_pageseek.html create mode 100644 doc/libogg/ogg_sync_reset.html create mode 100644 doc/libogg/ogg_sync_state.html create mode 100644 doc/libogg/ogg_sync_wrote.html create mode 100644 doc/libogg/oggpack_adv.html create mode 100644 doc/libogg/oggpack_adv1.html create mode 100644 doc/libogg/oggpack_bits.html create mode 100644 doc/libogg/oggpack_buffer.html create mode 100644 doc/libogg/oggpack_bytes.html create mode 100644 doc/libogg/oggpack_get_buffer.html create mode 100644 doc/libogg/oggpack_look.html create mode 100644 doc/libogg/oggpack_look1.html create mode 100644 doc/libogg/oggpack_read.html create mode 100644 doc/libogg/oggpack_read1.html create mode 100644 doc/libogg/oggpack_readinit.html create mode 100644 doc/libogg/oggpack_reset.html create mode 100644 doc/libogg/oggpack_write.html create mode 100644 doc/libogg/oggpack_writealign.html create mode 100644 doc/libogg/oggpack_writeclear.html create mode 100644 doc/libogg/oggpack_writecopy.html create mode 100644 doc/libogg/oggpack_writeinit.html create mode 100644 doc/libogg/oggpack_writetrunc.html create mode 100644 doc/libogg/overview.html create mode 100644 doc/libogg/reference.html create mode 100644 doc/libogg/style.css create mode 100644 doc/libogg/vorbis_comment.html create mode 100644 doc/libogg/vorbis_info.html delete mode 100644 doc/ogg/.cvsignore delete mode 100644 doc/ogg/Makefile.am delete mode 100644 doc/ogg/bitpacking.html delete mode 100644 doc/ogg/datastructures.html delete mode 100644 doc/ogg/decoding.html delete mode 100644 doc/ogg/encoding.html delete mode 100644 doc/ogg/general.html delete mode 100644 doc/ogg/index.html delete mode 100644 doc/ogg/ogg_packet.html delete mode 100644 doc/ogg/ogg_packet_clear.html delete mode 100644 doc/ogg/ogg_page.html delete mode 100644 doc/ogg/ogg_page_bos.html delete mode 100644 doc/ogg/ogg_page_checksum_set.html delete mode 100644 doc/ogg/ogg_page_continued.html delete mode 100644 doc/ogg/ogg_page_eos.html delete mode 100644 doc/ogg/ogg_page_granulepos.html delete mode 100644 doc/ogg/ogg_page_packets.html delete mode 100644 doc/ogg/ogg_page_pageno.html delete mode 100644 doc/ogg/ogg_page_serialno.html delete mode 100644 doc/ogg/ogg_page_version.html delete mode 100644 doc/ogg/ogg_stream_clear.html delete mode 100644 doc/ogg/ogg_stream_destroy.html delete mode 100644 doc/ogg/ogg_stream_eos.html delete mode 100644 doc/ogg/ogg_stream_flush.html delete mode 100644 doc/ogg/ogg_stream_init.html delete mode 100644 doc/ogg/ogg_stream_packetin.html delete mode 100644 doc/ogg/ogg_stream_packetout.html delete mode 100644 doc/ogg/ogg_stream_packetpeek.html delete mode 100644 doc/ogg/ogg_stream_pagein.html delete mode 100644 doc/ogg/ogg_stream_pageout.html delete mode 100644 doc/ogg/ogg_stream_reset.html delete mode 100644 doc/ogg/ogg_stream_reset_serialno.html delete mode 100644 doc/ogg/ogg_stream_state.html delete mode 100644 doc/ogg/ogg_sync_buffer.html delete mode 100644 doc/ogg/ogg_sync_clear.html delete mode 100644 doc/ogg/ogg_sync_destroy.html delete mode 100644 doc/ogg/ogg_sync_init.html delete mode 100644 doc/ogg/ogg_sync_pageout.html delete mode 100644 doc/ogg/ogg_sync_pageseek.html delete mode 100644 doc/ogg/ogg_sync_reset.html delete mode 100644 doc/ogg/ogg_sync_state.html delete mode 100644 doc/ogg/ogg_sync_wrote.html delete mode 100644 doc/ogg/oggpack_adv.html delete mode 100644 doc/ogg/oggpack_adv1.html delete mode 100644 doc/ogg/oggpack_bits.html delete mode 100644 doc/ogg/oggpack_buffer.html delete mode 100644 doc/ogg/oggpack_bytes.html delete mode 100644 doc/ogg/oggpack_get_buffer.html delete mode 100644 doc/ogg/oggpack_look.html delete mode 100644 doc/ogg/oggpack_look1.html delete mode 100644 doc/ogg/oggpack_read.html delete mode 100644 doc/ogg/oggpack_read1.html delete mode 100644 doc/ogg/oggpack_readinit.html delete mode 100644 doc/ogg/oggpack_reset.html delete mode 100644 doc/ogg/oggpack_write.html delete mode 100644 doc/ogg/oggpack_writealign.html delete mode 100644 doc/ogg/oggpack_writeclear.html delete mode 100644 doc/ogg/oggpack_writecopy.html delete mode 100644 doc/ogg/oggpack_writeinit.html delete mode 100644 doc/ogg/oggpack_writetrunc.html delete mode 100644 doc/ogg/overview.html delete mode 100644 doc/ogg/reference.html delete mode 100644 doc/ogg/style.css delete mode 100644 doc/ogg/vorbis_comment.html delete mode 100644 doc/ogg/vorbis_info.html (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index 0d26aa1..2e8724e 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,6 +1,6 @@ ## Process this with automake to create Makefile.in -SUBDIRS = ogg +SUBDIRS = libogg docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) diff --git a/doc/libogg/.cvsignore b/doc/libogg/.cvsignore new file mode 100644 index 0000000..282522d --- /dev/null +++ b/doc/libogg/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/doc/libogg/Makefile.am b/doc/libogg/Makefile.am new file mode 100644 index 0000000..8a51188 --- /dev/null +++ b/doc/libogg/Makefile.am @@ -0,0 +1,28 @@ +## Process this file with automake to produce Makefile.in + +docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/ogg + +doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ + general.html index.html ogg_packet.html ogg_packet_clear.html\ + ogg_page.html ogg_page_bos.html ogg_page_checksum_set.html\ + ogg_page_continued.html ogg_page_eos.html ogg_page_granulepos.html\ + ogg_page_packets.html ogg_page_pageno.html ogg_page_serialno.html\ + ogg_page_version.html ogg_stream_clear.html ogg_stream_destroy.html\ + ogg_stream_eos.html ogg_stream_flush.html ogg_stream_init.html\ + ogg_stream_packetin.html ogg_stream_packetout.html\ + ogg_stream_packetpeek.html ogg_stream_pagein.html\ + ogg_stream_pageout.html ogg_stream_reset.html\ + ogg_stream_reset_serialno.html ogg_stream_state.html\ + ogg_sync_buffer.html ogg_sync_clear.html ogg_sync_destroy.html\ + ogg_sync_init.html ogg_sync_pageout.html ogg_sync_pageseek.html\ + ogg_sync_reset.html ogg_sync_state.html ogg_sync_wrote.html\ + oggpack_adv.html oggpack_adv1.html oggpack_bits.html\ + oggpack_buffer.html oggpack_bytes.html oggpack_get_buffer.html\ + oggpack_look.html oggpack_look1.html oggpack_read.html\ + oggpack_read1.html oggpack_readinit.html oggpack_reset.html\ + oggpack_write.html oggpack_writealign.html oggpack_writeclear.html\ + oggpack_writecopy.html oggpack_writeinit.html oggpack_writetrunc.html\ + overview.html reference.html style.css vorbis_comment.html\ + vorbis_info.html + +EXTRA_DIST = $(doc_DATA) diff --git a/doc/libogg/bitpacking.html b/doc/libogg/bitpacking.html new file mode 100644 index 0000000..57ff78a --- /dev/null +++ b/doc/libogg/bitpacking.html @@ -0,0 +1,99 @@ + + + +libogg - Bitpacking Functions + + + + +
  • 
    -int ogg_sync_destroy(ogg_sync_state *oy);
    +int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
     
    
    -int ogg_stream_reset(ogg_stream_state *os, int serialno);
    +int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);
     
    + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    Bitpacking Functions

    +

    Libogg contains a basic bitpacking library that is useful for manipulating data within a buffer. +

    +All the libogg specific functions are declared in "ogg/ogg.h". +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    functionpurpose
    oggpack_writeinitInitializes a buffer for writing using this bitpacking library.
    oggpack_resetClears and resets the buffer to the initial position.
    oggpack_writeclearFrees the memory used by the buffer.
    oggpack_readinitInitializes a buffer for reading using this bitpacking library.
    oggpack_writeWrites bytes to the specified location within the buffer.
    oggpack_lookLook at a specified number of bits, <=32, without advancing the location pointer.
    oggpack_look1Looks at one bit without advancing the location pointer.
    oggpack_advAdvances the location pointer by a specified number of bits.
    oggpack_adv1Advances the location pointer by one bit.
    oggpack_readReads a specified number of bits from the buffer.
    oggpack_read1Reads one bit from the buffer.
    oggpack_bytesReturns the total number of bytes contained within the buffer.
    oggpack_bitsReturns the total number of bits contained within the buffer.
    oggpack_get_bufferReturns a pointer to the buffer encapsulated within the oggpack_buffer struct.
    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + diff --git a/doc/libogg/datastructures.html b/doc/libogg/datastructures.html new file mode 100644 index 0000000..13fee95 --- /dev/null +++ b/doc/libogg/datastructures.html @@ -0,0 +1,59 @@ + + + +libogg - Base Data Structures + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    Base Data Structures

    +

    Libogg uses several data structures to hold data and state information. +

    +All the libogg specific data structures are declared in "ogg/ogg.h". +

    + + + + + + + + + + + + + + + + + + + + + + +
    datatypepurpose
    ogg_pageThis structure encapsulates data into one ogg bitstream page.
    ogg_stream_stateThis structure contains current encode/decode data for a logical bitstream.
    ogg_packetThis structure encapsulates the data and metadata for a single raw Ogg Vorbis packet.
    ogg_sync_stateContains bitstream synchronization information.
    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html new file mode 100644 index 0000000..2cd576e --- /dev/null +++ b/doc/libogg/decoding.html @@ -0,0 +1,100 @@ + + + +libogg - Decoding + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    Decoding

    +

    Libogg contains a set of functions used in the decoding process. +

    +All the libogg specific functions are declared in "ogg/ogg.h". +

    +

    Decoding is based around the ogg synchronization layer. The ogg_sync_state struct coordinates between incoming data and the decoder. We read data into the synchronization layer, submit the data to the stream, and output raw packets to the decoder. +

    Decoding through the Ogg layer follows a specific logical sequence. A read loop follows these logical steps: +

    +

    In practice, streams are more complex, and Ogg also must handle headers, incomplete or dropped pages, and other errors in input. +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    functionpurpose
    ogg_sync_initInitializes an Ogg bitstream.
    ogg_sync_clearClears the status information from the synchronization struct. +
    ogg_sync_resetResets the synchronization status to initial values.
    ogg_sync_destroyFrees the synchronization struct.
    ogg_sync_bufferExposes a buffer from the synchronization layer in order to read data.
    ogg_sync_wroteTells the synchronization layer how many bytes were written into the buffer.
    ogg_sync_pageseekFinds the borders of pages and resynchronizes the stream.
    ogg_sync_pageoutOutputs a page from the synchronization layer.
    ogg_stream_pageinSubmits a complete page to the stream layer.
    ogg_stream_packetoutOutputs a packet to the codec-specific decoding engine.
    ogg_stream_packetpeekProvides access to the next packet in the bitstream without +advancing decoding.
    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html new file mode 100644 index 0000000..372ea80 --- /dev/null +++ b/doc/libogg/encoding.html @@ -0,0 +1,64 @@ + + + +libogg - Encoding + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    Encoding

    +

    Libogg contains a set of functions used in the encoding process. +

    +All the libogg specific functions are declared in "ogg/ogg.h". +

    +

    When encoding, the encoding engine will output raw packets which must be placed into an Ogg bitstream. +

    Raw packets are inserted into the stream, and an ogg_page is output when enough packets have been written to create a full page. The pages output are pointers to buffered packet segments, and can then be written out and saved as an ogg stream. +

    There are a couple of basic steps: +

      +
    • Use the encoding engine to produce a raw packet of data. +
    • Call ogg_stream_packetin to submit a raw packet to the stream. +
    • Use ogg_stream_pageout to output a page, if enough data has been submitted. Otherwise, continue submitting data. +
    +

    + + + + + + + + + + + + + + + + +
    functionpurpose
    ogg_stream_packetinSubmits a raw packet to the streaming layer, so that it can be formed into a page.
    ogg_stream_pageoutOutputs a completed page if the stream contains enough packets to form a full page. +
    ogg_stream_flushForces any remaining packets in the stream to be returned as a page of any size. +
    + +

    +
    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + diff --git a/doc/libogg/general.html b/doc/libogg/general.html new file mode 100644 index 0000000..f8c92e9 --- /dev/null +++ b/doc/libogg/general.html @@ -0,0 +1,105 @@ + + + +libogg - General Functions + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    General Functions

    +

    Libogg contains several functions which are generally useful when using Ogg streaming, whether encoding or decoding. +

    +All the libogg specific functions are declared in "ogg/ogg.h". +

    +

    These functions can be used to manipulate some of the basic elements of Ogg - streams and pages. Streams and pages are important during both the encode and decode process. +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    functionpurpose
    ogg_stream_initInitializes an Ogg bitstream.
    ogg_stream_clearClears the storage within the Ogg stream, but does not free the stream itself. +
    ogg_stream_resetResets the stream status to its initial position.
    ogg_stream_destroyFrees the entire Ogg stream.
    ogg_stream_eosIndicates whether we are at the end of the stream.
    ogg_page_versionReturns the version of ogg_page that this stream/page uses
    ogg_page_continuedIndicates if the current page contains a continued packet from the last page.
    ogg_page_packetsIndicates the number of packets contained in a page.
    ogg_page_bosIndicates if the current page is the beginning of the stream.
    ogg_page_eosIndicates if the current page is the end of the stream.
    ogg_page_granuleposReturns the precise playback location of this page.
    ogg_page_serialnoReturns the unique serial number of the logical bitstream associated with this page.
    ogg_page_pagenoReturns the sequential page number for this page.
    ogg_packet_clear + Clears the ogg_packet structure.
    ogg_page_checksum_setChecksums an ogg_page.
    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + diff --git a/doc/libogg/index.html b/doc/libogg/index.html new file mode 100644 index 0000000..123d965 --- /dev/null +++ b/doc/libogg/index.html @@ -0,0 +1,39 @@ + + + +libogg - Documentation + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    Libogg Documentation

    + +

    +Libogg contains necessary functionality to create, decode, and work with Ogg bitstreams. +

    This document explains how to use the libogg API in detail. +

    +libogg api overview
    +libogg api reference
    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@vorbis.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html new file mode 100644 index 0000000..0dab54e --- /dev/null +++ b/doc/libogg/ogg_packet.html @@ -0,0 +1,75 @@ + + + +libogg - datatype - ogg_packet + + + + + + + + + +

    libogg documentation

    libogg - 20011015

    + +

    ogg_packet

    + +

    declared in "ogg/ogg.h"

    + +

    +The ogg_packet struct encapsulates the data for a single raw packet of data +and is used to transfer data between the ogg framing layer and the handling codec. +

    + + + + + +
    +
    
    +typedef struct {
    +  unsigned char *packet;
    +  long  bytes;
    +  long  b_o_s;
    +  long  e_o_s;
    +
    +  ogg_int64_t  granulepos;
    +  ogg_int64_t  packetno; 
    +
    +} ogg_packet;
    +
    +
    + +

    Relevant Struct Members

    +
    +
    packet
    +
    Pointer to the packet's data. This is treated as an opaque type by the ogg layer.
    +
    bytes
    +
    Indicates the size of the packet data in bytes. Packets can be of arbitrary size.
    +
    b_o_s
    +
    Flag indicating whether this packet begins a logical bitstream. 1 indicates this is the first packet, 0 indicates any other position in the stream.
    +
    e_o_s
    +
    Flag indicating whether this packet ends a bitstream. 1 indicates the last packet, 0 indicates any other position in the stream.
    +
    granulepos
    +
    A number indicating the position of this packet in the decoded data. This is the last sample, frame or other unit of information ('granule') that can be completely decoded from this packet.
    +
    packetno
    +
    Sequential number of this packet in the ogg bitstream.
    +
    + + +

    +
    + + + + + + + + +

    copyright © 2001 xiph.org foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg - 20011015

    + + + + diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html new file mode 100644 index 0000000..5e0bdf3 --- /dev/null +++ b/doc/libogg/ogg_packet_clear.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_packet_clear + + + + + + + + + +

    libogg documentation

    libogg - 20011218

    + +

    ogg_packet_clear

    + +

    declared in "ogg/ogg.h";

    + +

    This function clears the memory used by the ogg_packet struct, and frees the internal allocated memory, but does not free +the structure itself. +

    + + + + +
    +
    
    +int ogg_packet_clear(ogg_packet *op);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the ogg_packet struct to be cleared.
    +
    + + +

    Return Values

    +
    +
  • +None.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg - 20011218

    + + + + + diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html new file mode 100644 index 0000000..8fdccc2 --- /dev/null +++ b/doc/libogg/ogg_page.html @@ -0,0 +1,74 @@ + + + +libogg - datatype - ogg_page + + + + + + + + + +

    libogg documentation

    libogg - 200011015

    + +

    ogg_page

    + +

    declared in "ogg/ogg.h"

    + +

    +The ogg_page struct encapsulates the data for an Ogg page. +

    +Ogg pages are the fundamental unit of framing and interleave in an ogg bitstream. +They are made up of packet segments of 255 bytes each. There can be as many as +255 packet segments per page, for a maximum page size of a little under 64 kB. +This is not a practical limitation as the segments can be joined across +page boundaries allowing packets of arbitrary size. In practice pages are +usually around 4 kB. +

    +

    For a complete description of ogg pages and headers, please refer to the framing document. + + + + + +
    +
    
    +typedef struct {
    +  unsigned char *header;
    +  long           header_len;
    +  unsigned char *body;
    +  long           body_len;
    +} ogg_page;
    +
    +
    + +

    Relevant Struct Members

    +
    +
    header
    +
    Pointer to the page header for this page. The exact contents of this header are defined in the framing spec document.
    +
    header_len
    +
    Length of the page header in bytes. +
    body
    +
    Pointer to the data for this page.
    +
    body_len
    +
    Length of the body data in bytes.
    +
    + + +

    +
    + + + + + + + + +

    copyright © 2001 xiph.org foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version - 20011015

    + + + + diff --git a/doc/libogg/ogg_page_bos.html b/doc/libogg/ogg_page_bos.html new file mode 100644 index 0000000..9e1462f --- /dev/null +++ b/doc/libogg/ogg_page_bos.html @@ -0,0 +1,65 @@ + + + +libogg - function - ogg_page_bos + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_page_bos

    + +

    declared in "ogg/ogg.h";

    + +

    Indicates whether this page is at the beginning of the logical bitstream. +

    +

    + + + + +
    +
    
    +int ogg_page_bos(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +greater than 0 if this page is the beginning of a bitstream.
  • +
  • +0 if this page is from any other location in the stream.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_page_checksum_set.html b/doc/libogg/ogg_page_checksum_set.html new file mode 100644 index 0000000..72780d0 --- /dev/null +++ b/doc/libogg/ogg_page_checksum_set.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_page_checksum_set + + + + + + + + + +

    libogg documentation

    libogg - 20011218

    + +

    ogg_page_checksum_set

    + +

    declared in "ogg/ogg.h";

    + +

    Checksums an ogg_page. +

    +

    + + + + +
    +
    
    +int ogg_page_checksum_set(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to an ogg_page struct.
    +
    + + +

    Return Values

    +
    +None. +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg - 20011218

    + + + + + diff --git a/doc/libogg/ogg_page_continued.html b/doc/libogg/ogg_page_continued.html new file mode 100644 index 0000000..36adc09 --- /dev/null +++ b/doc/libogg/ogg_page_continued.html @@ -0,0 +1,64 @@ + + + +libogg - function - ogg_page_version + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_page_continued

    + +

    declared in "ogg/ogg.h";

    + +

    Indicates whether this page contains packet data which has been continued from the previous page. +

    + + + + +
    +
    
    +int ogg_page_continued(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +1 if this page contains packet data continued from the last page.
  • +
  • +0 if this page does not contain continued data.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_page_eos.html b/doc/libogg/ogg_page_eos.html new file mode 100644 index 0000000..13747b5 --- /dev/null +++ b/doc/libogg/ogg_page_eos.html @@ -0,0 +1,65 @@ + + + +libogg - function - ogg_page_eos + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_page_eos

    + +

    declared in "ogg/ogg.h";

    + +

    Indicates whether this page is at the end of the logical bitstream. +

    +

    + + + + +
    +
    
    +int ogg_page_eos(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +greater than zero if this page contains the end of a bitstream.
  • +
  • +0 if this page is from any other location in the stream.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html new file mode 100644 index 0000000..50c5e45 --- /dev/null +++ b/doc/libogg/ogg_page_granulepos.html @@ -0,0 +1,65 @@ + + + +libogg - function - ogg_page_granulepos + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_page_granulepos

    + +

    declared in "ogg/ogg.h";

    + +

    Returns the exact granular position of the packet data contained at the end of this page. +

    This is useful for tracking location when seeking or decoding. +

    For example, in audio codecs this position is the pcm sample number and in video this is the frame number. +

    +

    + + + + +
    +
    
    +int ogg_page_granulepos(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +n is the specific last granular position of the decoded data contained in the page.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html new file mode 100644 index 0000000..e88724c --- /dev/null +++ b/doc/libogg/ogg_page_packets.html @@ -0,0 +1,75 @@ + + + +libogg - function - ogg_page_packets + + + + + + + + + +

    libogg documentation

    libogg - 20011218

    + +

    ogg_page_packets

    + +

    declared in "ogg/ogg.h";

    + +

    Returns the number of packets that are completed on this page. If the +leading packet is begun on a previous page, but ends on this page, it's +counted. +

    +

    + + + + +
    +
    
    +int ogg_page_packets(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +If a page consists of a packet begun on a previous page, and a new packet +begun (but not completed) on this page, the return will be:
    +
    +ogg_page_packets(page) will return 1,
    +ogg_page_continued(paged) will return non-zero.
    +

    +If a page happens to be a single packet that was begun on a previous page, and +spans to the next page (in the case of a three or more page packet), the +return will be:
    +
    +ogg_page_packets(page) will return 0,
    +ogg_page_continued(page) will return non-zero.
    +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg - 20011218

    + + + + + diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html new file mode 100644 index 0000000..0eca7af --- /dev/null +++ b/doc/libogg/ogg_page_pageno.html @@ -0,0 +1,63 @@ + + + +libogg - function - ogg_page_pageno + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_page_pageno

    + +

    declared in "ogg/ogg.h";

    + +

    Returns the sequential page number. +

    This is useful for ordering pages or determining when pages have been lost. +

    + + + + +
    +
    
    +int ogg_page_pageno(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +n is the page number for this page.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_page_serialno.html b/doc/libogg/ogg_page_serialno.html new file mode 100644 index 0000000..60305a9 --- /dev/null +++ b/doc/libogg/ogg_page_serialno.html @@ -0,0 +1,63 @@ + + + +libogg - function - ogg_page_serialno + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_page_serialno

    + +

    declared in "ogg/ogg.h";

    + +

    Returns the unique serial number for the logical bitstream of this page. Each page contains the serial number for the logical bitstream that it belongs to. +

    +

    + + + + +
    +
    
    +int ogg_page_serialno(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +n is the serial number for this page.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_page_version.html b/doc/libogg/ogg_page_version.html new file mode 100644 index 0000000..9f3c383 --- /dev/null +++ b/doc/libogg/ogg_page_version.html @@ -0,0 +1,63 @@ + + + +libogg - function - ogg_page_version + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_page_version

    + +

    declared in "ogg/ogg.h";

    + +

    This function returns the version of ogg_page used in this page. +

    In current versions of libogg, all ogg_page structs have the same version, so 0 should always be returned. +

    + + + + +
    +
    
    +int ogg_page_version(ogg_page *og);
    +
    +
    +
    + +

    Parameters

    +
    +
    og
    +
    Pointer to the current ogg_page struct.
    +
    + + +

    Return Values

    +
    +
  • +n is the version number. In the current version of Ogg, the version number is always 0. Nonzero return values indicate an error in page encoding.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html new file mode 100644 index 0000000..a261a5d --- /dev/null +++ b/doc/libogg/ogg_stream_clear.html @@ -0,0 +1,61 @@ + + + +libogg - function - ogg_stream_clear + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_stream_clear

    + +

    declared in "ogg/ogg.h";

    + +

    This function clears the memory used by the ogg_stream_state struct, but does not free it. +

    + + + + +
    +
    
    +int ogg_stream_clear(ogg_stream_state *os);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the ogg_stream_state struct to be cleared.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html new file mode 100644 index 0000000..ebe7a24 --- /dev/null +++ b/doc/libogg/ogg_stream_destroy.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_stream_destroy + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_stream_destroy

    + +

    declared in "ogg/ogg.h";

    + +

    This function frees the memory used by the ogg_stream_state struct. +

    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. +

    + + + + +
    +
    
    +int ogg_stream_destroy(ogg_stream_state *os);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the ogg_stream_state struct to be destroyed.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html new file mode 100644 index 0000000..40e577e --- /dev/null +++ b/doc/libogg/ogg_stream_eos.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_stream_eos + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_stream_eos

    + +

    declared in "ogg/ogg.h";

    + +

    This function indicates whether we have reached the end of the stream or not. +

    + + + + +
    +
    
    +int ogg_stream_eos(ogg_stream_state *os);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the current ogg_stream_state struct.
    +
    + + +

    Return Values

    +
    +
  • 1 if we are at the end of the stream.
  • +
  • +0 if we have not yet reached the end of the stream.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html new file mode 100644 index 0000000..05d75fb --- /dev/null +++ b/doc/libogg/ogg_stream_flush.html @@ -0,0 +1,67 @@ + + + +libogg - function - ogg_stream_flush + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_stream_flush

    + +

    declared in "ogg/ogg.h";

    + +

    This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page. +

    This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout should always be used. +

    This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. + +

    + + + + +
    +
    
    +int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to a previously declared ogg_stream_state struct, which represents the current logical bitstream.
    +
    og
    +
    Pointer to a page of data. The remaining packets in the stream will be placed into this page, if any remain. +
    + + +

    Return Values

    +
    +
  • 0 means that all packet data has already been flushed into pages, and there are no packets to put into the page.
  • +
  • +Nonzero means that remaining packets have successfully been flushed into the page.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html new file mode 100644 index 0000000..4f600ff --- /dev/null +++ b/doc/libogg/ogg_stream_init.html @@ -0,0 +1,66 @@ + + + +libogg - function - ogg_stream_init + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_stream_init

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to initialize an ogg_stream_state struct and allocates appropriate memory in preparation for encoding or decoding. +

    It also assigns the stream a given serial number. +

    + + + + +
    +
    
    +int ogg_stream_init(ogg_stream_state *os,int serialno);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the ogg_stream_state struct that we will be initializing.
    +
    serialno
    +
    Serial number that we will attach to this stream.
    +
    + + +

    Return Values

    +
    +
  • +0 if successful
  • +
  • +-1 if unsuccessful. If this fails, the ogg_stream_state was not properly declared before calling this function.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html new file mode 100644 index 0000000..c1018dc --- /dev/null +++ b/doc/libogg/ogg_stream_packetin.html @@ -0,0 +1,65 @@ + + + +libogg - function - ogg_stream_packetin + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_stream_packetin

    + +

    declared in "ogg/ogg.h";

    + +

    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. +

    In a typical decoding situation, this should be used after filling a packet with data + +

    + + + + +
    +
    
    +int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to a previously declared ogg_stream_state struct.
    +
    op
    +
    Pointer to the packet we are putting into the bitstream. +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html new file mode 100644 index 0000000..bc57e85 --- /dev/null +++ b/doc/libogg/ogg_stream_packetout.html @@ -0,0 +1,71 @@ + + + +libogg - function - ogg_stream_packetout + + + + + + + + + +

    libogg documentation

    libogg release 1.1.3 - 20040927

    + +

    ogg_stream_packetout

    + +

    declared in "ogg/ogg.h";

    + +

    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. Each successive call returns the next complete packet built from those segments.

    +

    In a typical decoding situation, this should be used after calling ogg_stream_pagein() 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.

    + +

    + + + + +
    +
    
    +int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to a previously declared ogg_stream_state struct. Before this function is called, an ogg_page should be submitted to the stream using ogg_stream_pagein().
    +
    op
    +
    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.
    +
    + + +

    Return Values

    +
    +
      +
    • -1 if we are out of sync and there is a gap in the data. Usually this will not be a fatal error. op contains a the first packet decodable after the hole.
    • +
    • 0 if there is insufficient data available to complete a packet. op has not been updated. +
    • 1 if a packet was assembled normally. op contains the next packet from the stream.
    • +
    +
    + +

    + +
    + + + + + + + + + +

    copyright © 2004 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.1.3 - 20040927

    + + + + diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html new file mode 100644 index 0000000..892977b --- /dev/null +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -0,0 +1,85 @@ + + + +libogg - function - ogg_stream_packetpeek + + + + + + + + + +

    libogg documentation

    libogg version 1.26 - 20010527

    + +

    ogg_stream_packetout

    + +

    declared in "ogg/ogg.h";

    + +

    This function attempts to assemble a raw data packet and returns +it without advancing decoding.

    + +

    In a typical situation, this would be called +speculatively after ogg_stream_pagein() to check +the packet contents before handing it off to a codec for +decompression. To advance page decoding and remove +the packet from the sync structure, call +ogg_stream_packetout().

    + +

    + + + + + +
    +
    
    +int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to a previously declared +ogg_stream_state struct. Before this +function is called, an ogg_page should be +submitted to the stream using +ogg_stream_pagein().
    +
    op
    +
    Pointer to the next packet available in the bitstream, if +any. A NULL value may be passed in the case of a simple "is there a +packet?" check.
    +
    + + +

    Return Values

    +
    +
      +
    • -1 if there's no packet available due to lost sync or a hole +in the data.
    • +
    • 1 if a packet is available.
    • +
    +
    + + +

    + +
    + + + + + + + + + +

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.26 - 20010527

    + + + + + diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html new file mode 100644 index 0000000..b884169 --- /dev/null +++ b/doc/libogg/ogg_stream_pagein.html @@ -0,0 +1,67 @@ + + + +libogg - function - ogg_stream_pagein + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_stream_pagein

    + +

    declared in "ogg/ogg.h";

    + +

    This function adds a complete page to the bitstream. +

    In a typical decoding situation, this function would be called after using ogg_sync_pageout to create a valid ogg_page struct. +

    Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer. + +

    + + + + +
    +
    
    +int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
    +
    og
    +
    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. +
    + + +

    Return Values

    +
    +
  • -1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, or that the page version was incorrect.
  • +
  • +0 means that the page was successfully submitted to the bitstream.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html new file mode 100644 index 0000000..c703382 --- /dev/null +++ b/doc/libogg/ogg_stream_pageout.html @@ -0,0 +1,66 @@ + + + +libogg - function - ogg_stream_pageout + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_stream_pageout

    + +

    declared in "ogg/ogg.h";

    + +

    This function forms packets into pages. If +

    In a typical encoding situation, this would be called after using ogg_stream_packetin to submit data packets to the bitstream. +

    Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer. + +

    + + + + +
    +
    
    +int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
    +
    og
    +
    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. +
    + + +

    Return Values

    +
    +
  • Zero means that insufficient data has accumulated to fill a page.
  • +
  • Non-zero means that a page has been completed and flushed.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html new file mode 100644 index 0000000..19634d4 --- /dev/null +++ b/doc/libogg/ogg_stream_reset.html @@ -0,0 +1,61 @@ + + + +libogg - function - ogg_stream_reset + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_stream_reset

    + +

    declared in "ogg/ogg.h";

    + +

    This function sets values in the ogg_stream_state struct back to initial values. +

    + + + + +
    +
    
    +int ogg_stream_reset(ogg_stream_state *os);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the ogg_stream_state struct to be cleared.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html new file mode 100644 index 0000000..d75fdb3 --- /dev/null +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -0,0 +1,67 @@ + + + +libogg - function - ogg_stream_reset_serialno + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20020719

    + +

    ogg_stream_reset

    + +

    declared in "ogg/ogg.h";

    + +

    This function reinitializes the values in the +ogg_stream_state, +just like ogg_stream_reset(). +Additionally, it sets the stream serial number to the given value.

    + +

    + + + + +
    +
    
    +int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);
    +
    +
    + +

    Parameters

    +
    +
    os
    +
    Pointer to the ogg_stream_state struct to be cleared.
    +
    serialno
    +
    New stream serial number to use
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20020719

    + + + + + diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html new file mode 100644 index 0000000..7f41737 --- /dev/null +++ b/doc/libogg/ogg_stream_state.html @@ -0,0 +1,121 @@ + + + +libogg - datatype - ogg_stream_state + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_stream_state

    + +

    declared in "ogg/ogg.h"

    + +

    +The ogg_stream_state struct tracks the current encode/decode state of the current logical bitstream. +

    + + + + + +
    +
    
    +typedef struct {
    +  unsigned char   *body_data;    /* bytes from packet bodies */
    +  long    body_storage;          /* storage elements allocated */
    +  long    body_fill;             /* elements stored; fill mark */
    +  long    body_returned;         /* elements of fill returned */
    +
    +
    +  int     *lacing_vals;    /* The values that will go to the segment table */
    +  ogg_int64_t *granule_vals;      /* granulepos values for headers. Not compact
    +                             this way, but it is simple coupled to the
    +                             lacing fifo */
    +  long    lacing_storage;
    +  long    lacing_fill;
    +  long    lacing_packet;
    +  long    lacing_returned;
    +
    +  unsigned char    header[282];      /* working space for header encode */
    +  int              header_fill;
    +
    +  int     e_o_s;          /* set when we have buffered the last packet in the
    +                             logical bitstream */
    +  int     b_o_s;          /* set after we've written the initial page
    +                             of a logical bitstream */
    +  long     serialno;
    +  int      pageno;
    +  ogg_int64_t  packetno;      /* sequence number for decode; the framing
    +                             knows where there's a hole in the data,
    +                             but we need coupling so that the codec
    +                             (which is in a seperate abstraction
    +                             layer) also knows about the gap */
    +  ogg_int64_t   granulepos;
    +
    +} ogg_stream_state;
    +
    +
    + +

    Relevant Struct Members

    +
    +
    body_data
    +
    Pointer to data from packet bodies.
    +
    body_storage
    +
    Storage allocated for bodies in bytes (filled or unfilled).
    +
    body_fill
    +
    Amount of storage filled with stored packet bodies.
    +
    body_returned
    +
    Number of elements returned from storage.
    +
    lacing_vals
    +
    String of lacing values for the packet segments within the current page. Each value is a byte, indicating packet segment length.
    +
    granule_vals
    +
    Pointer to the lacing values for the packet segments within the current page.
    +
    lacing_storage
    +
    Total amount of storage (in bytes) allocated for storing lacing values.
    +
    lacing_fill
    +
    Fill marker for the current vs. total allocated storage of lacing values for the page.
    +
    lacing_packet
    +
    Lacing value for current packet segment.
    +
    lacing_returned
    +
    Number of lacing values returned from lacing_storage.
    +
    header
    +
    Temporary storage for page header during encode process, while the header is being created.
    +
    header_fill
    +
    Fill marker for header storage allocation. Used during the header creation process.
    +
    e_o_s
    +
    Marker set when the last packet of the logical bitstream has been buffered.
    +
    b_o_s
    +
    Marker set after we have written the first page in the logical bitstream.
    +
    serialno
    +
    Serial number of this logical bitstream.
    +
    pageno
    +
    Number of the current page within the stream.
    +
    packetno
    +
    Number of the current packet.
    +
    granulepos
    +
    Exact position of decoding/encoding process.
    +
    + + +

    +
    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html new file mode 100644 index 0000000..4c84694 --- /dev/null +++ b/doc/libogg/ogg_sync_buffer.html @@ -0,0 +1,67 @@ + + + +libogg - function - ogg_sync_buffer + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_sync_buffer

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to provide a properly-sized buffer for writing. +

    Buffer space which has already been returned is cleared, and the buffer is extended as necessary by the size plus some additional bytes. Within the current implementation, an extra 4096 bytes are allocated, but applications should not rely on this additional buffer space. +

    The buffer exposed by this function is empty internal storage from the ogg_sync_state struct, beginning at the fill mark within the struct. +

    A pointer to this buffer is returned to be used by the calling application. + +

    + + + + +
    +
    
    +char *ogg_sync_buffer(ogg_sync_state *oy, long size);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct.
    +
    size
    +
    Size of the desired buffer. The actual size of the buffer returned will be this size plus some extra bytes (currently 4096). +
    + + +

    Return Values

    +
    +
  • +Returns a pointer to the newly allocated buffer.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_sync_clear.html b/doc/libogg/ogg_sync_clear.html new file mode 100644 index 0000000..325e856 --- /dev/null +++ b/doc/libogg/ogg_sync_clear.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_sync_clear + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_sync_clear

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to free the internal storage of an ogg_sync_state struct and resets the struct to the initial state. To free the entire struct, ogg_sync_destroy should be used instead. In situations where the struct needs to be reset but the internal storage does not need to be freed, ogg_sync_reset should be used. + +

    + + + + +
    +
    
    +int ogg_sync_clear(ogg_sync_state *oy);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html new file mode 100644 index 0000000..d2f9ae8 --- /dev/null +++ b/doc/libogg/ogg_sync_destroy.html @@ -0,0 +1,62 @@ + + + +libogg - function - ogg_sync_destroy + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_sync_destroy

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to destroy an ogg_sync_state struct and free all memory used. + +

    + + + + +
    +
    
    +int ogg_sync_destroy(ogg_sync_state *oy);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_sync_init.html b/doc/libogg/ogg_sync_init.html new file mode 100644 index 0000000..f42c81d --- /dev/null +++ b/doc/libogg/ogg_sync_init.html @@ -0,0 +1,63 @@ + + + +libogg - function - ogg_sync_init + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_sync_init

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to initialize an ogg_sync_state struct to a known initial value in preparation for manipulation of an Ogg bitstream. +

    The ogg_sync struct is important when decoding, as it synchronizes retrieval and return of data. + +

    + + + + +
    +
    
    +int ogg_sync_init(ogg_sync_state *oy);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct. After this function call, this struct has been initialized.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html new file mode 100644 index 0000000..4fcdb17 --- /dev/null +++ b/doc/libogg/ogg_sync_pageout.html @@ -0,0 +1,79 @@ + + + +libogg - function - ogg_sync_pageout + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_sync_pageout

    + +

    declared in "ogg/ogg.h";

    + +

    This function takes the data stored in the buffer of the ogg_sync_state struct and inserts them into an ogg_page. + +

    In an actual decoding loop, this function should be called first to ensure that the buffer is cleared. The example code below illustrates a clean reading loop which will fill and output pages. +

    Caution:This function should be called before reading into the buffer to ensure that data does not remain in the ogg_sync_state struct. Failing to do so may result in a memory leak. See the example code below for details. + +

    + + + + +
    +
    
    +int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct. Normally, the internal storage of this struct should be filled with newly read data and verified using ogg_sync_wrote.
    +
    og
    +
    Pointer to page struct filled by this function. +
    + + +

    Return Values

    +
    +
  • -1 if we were not properly synced and had to skip some bytes.
  • +
  • +0 if we need more data to verify a page.
  • +
  • +1 if we have a page.
  • +
    +

    + +

    Example Usage

    +
    +if (ogg_sync_pageout(&oy, &og) != 1) {
    +	buffer = ogg_sync_buffer(&oy, 8192);
    +	bytes = fread(buffer, 1, 8192, stdin);
    +	ogg_sync_wrote(&oy, bytes);
    +}
    +
    + +

    +
    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html new file mode 100644 index 0000000..7371b82 --- /dev/null +++ b/doc/libogg/ogg_sync_pageseek.html @@ -0,0 +1,68 @@ + + + +libogg - function - ogg_sync_pageseek + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_sync_pageseek

    + +

    declared in "ogg/ogg.h";

    + +

    This function synchronizes the ogg_sync_state struct to the next ogg_page. +

    This is useful when seeking within a bitstream. ogg_sync_pageseek will synchronize to the next page in the bitstream and return information about how many bytes we advanced or skipped in order to do so. + +

    + + + + +
    +
    
    +int ogg_sync_pageseek(ogg_sync_state *oy, ogg_page *og);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct.
    +
    og
    +
    Pointer to a page (or an incomplete page) of data. This is the page we are attempting to sync. +
    + + +

    Return Values

    +
    +
  • -n means that we skipped n bytes within the bitstream.
  • +
  • +0 means that the page isn't ready and we need more data. No bytes have been skipped.
  • +
  • +n means that the page was synced at the current location, with a page length of n bytes. +
  • +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_sync_reset.html b/doc/libogg/ogg_sync_reset.html new file mode 100644 index 0000000..d27efbd --- /dev/null +++ b/doc/libogg/ogg_sync_reset.html @@ -0,0 +1,63 @@ + + + +libogg - function - ogg_sync_reset + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_sync_reset

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to reset the internal counters of the ogg_sync_state struct to initial values. +

    It is a good idea to call this before seeking within a bitstream. + +

    + + + + +
    +
    
    +int ogg_sync_reset(ogg_sync_state *oy);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct.
    +
    + + +

    Return Values

    +
    +
  • +0 is always returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html new file mode 100644 index 0000000..15a7e3c --- /dev/null +++ b/doc/libogg/ogg_sync_state.html @@ -0,0 +1,67 @@ + + + +libogg - datatype - ogg_sync_state + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_sync_state

    + +

    declared in "ogg/ogg.h"

    + +

    +The ogg_sync_state struct tracks the synchronization of the current page. +

    It is used during decoding to track the status of data as it is read in and +

    + + + + + +
    +
    
    +typedef struct {
    +  unsigned char *data;
    +  int storage;
    +  int fill;
    +  int returned;
    +
    +  int unsynced;
    +  int headerbytes;
    +  int bodybytes;
    +} ogg_sync_state;
    +
    +
    + +

    Relevant Struct Members

    +
    +
    data
    +
    Pointer to data from packet bodies.
    +
    storage
    +
    Pointer to data from packet bodies.
    +
    + + +

    +
    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html new file mode 100644 index 0000000..06318ab --- /dev/null +++ b/doc/libogg/ogg_sync_wrote.html @@ -0,0 +1,73 @@ + + + +libogg - function - ogg_sync_wrote + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    ogg_sync_wrote

    + +

    declared in "ogg/ogg.h";

    + +

    This function is used to tell the ogg_sync_state struct how many bytes we wrote into the buffer. + +

    +The general proceedure is to request a pointer into an internal +ogg_sync_state buffer by calling +ogg_sync_buffer(). 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.

    + +
    + + + + +
    +
    
    +int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
    +
    +
    + +

    Parameters

    +
    +
    oy
    +
    Pointer to a previously declared ogg_sync_state struct.
    +
    bytes
    +
    Number of bytes of new data written.
    +
    + + +

    Return Values

    +
    +
  • -1 if the number of bytes written overflows the internal storage of the ogg_sync_state struct. +
  • +0 in all other cases.
  • +
    + + +

    +
    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_adv.html b/doc/libogg/oggpack_adv.html new file mode 100644 index 0000000..66140ec --- /dev/null +++ b/doc/libogg/oggpack_adv.html @@ -0,0 +1,64 @@ + + + +libogg - function - oggpack_adv + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_adv

    + +

    declared in "ogg/ogg.h";

    + +

    This function advances the location pointer by the specified number of bits without reading any data. + +

    + + + + +
    +
    
    +void  oggpack_adv(oggpack_buffer *b,int bits);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to the current oggpack_buffer.
    +
    bits
    +
    Number of bits to advance.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20020719

    + + + + + diff --git a/doc/libogg/oggpack_adv1.html b/doc/libogg/oggpack_adv1.html new file mode 100644 index 0000000..d02ae43 --- /dev/null +++ b/doc/libogg/oggpack_adv1.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_adv1 + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_adv1

    + +

    declared in "ogg/ogg.h";

    + +

    This function advances the location pointer by one bit without reading any data. + +

    + + + + +
    +
    
    +void  oggpack_adv1(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to the current oggpack_buffer.
    +
    + + +

    Return Values

    +
    +
  • No values are returned. +
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_bits.html b/doc/libogg/oggpack_bits.html new file mode 100644 index 0000000..b1bdc39 --- /dev/null +++ b/doc/libogg/oggpack_bits.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_bits + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_bits

    + +

    declared in "ogg/ogg.h";

    + +

    This function returns the total number of bits currently in the oggpack_buffer's internal buffer. + +

    + + + + +
    +
    
    +long oggpack_bits(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    oggpack_buffer struct to be .
    +
    + + +

    Return Values

    +
    +
  • +n is the total number of bits within the current buffer.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_buffer.html b/doc/libogg/oggpack_buffer.html new file mode 100644 index 0000000..42f21ec --- /dev/null +++ b/doc/libogg/oggpack_buffer.html @@ -0,0 +1,66 @@ + + + +libogg - datatype - oggpack_buffer + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_buffer

    + +

    declared in "ogg/ogg.h"

    + +

    +The oggpack_buffer struct is used with libogg's bitpacking functions. You should never need to directly access anything in this structure. +

    + + + + + +
    +
    
    +typedef struct {
    +  long endbyte;
    +  int  endbit;
    +
    +  unsigned char *buffer;
    +  unsigned char *ptr;
    +  long storage;
    +} oggpack_buffer;
    +
    +
    + +

    Relevant Struct Members

    +
    +
    buffer
    +
    Pointer to data being manipulated.
    +
    ptr
    +
    Location pointer to mark which data has been read.
    +
    storage
    +
    Size of buffer. +
    + + +

    +
    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + diff --git a/doc/libogg/oggpack_bytes.html b/doc/libogg/oggpack_bytes.html new file mode 100644 index 0000000..5e0382d --- /dev/null +++ b/doc/libogg/oggpack_bytes.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_bytes + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20020719

    + +

    oggpack_bytes

    + +

    declared in "ogg/ogg.h";

    + +

    This function returns the total number of bytes currently in the oggpack_buffer's internal buffer. +

    The return value is the number of complete bytes in the buffer. There may be extra (<8) bits. +

    + + + + +
    +
    
    +long oggpack_bytes(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    oggpack_buffer struct to be checked.
    +
    + + +

    Return Values

    +
    +
  • +n is the total number of bytes within the current buffer.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20020719

    + + + + + diff --git a/doc/libogg/oggpack_get_buffer.html b/doc/libogg/oggpack_get_buffer.html new file mode 100644 index 0000000..9d2c143 --- /dev/null +++ b/doc/libogg/oggpack_get_buffer.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_get_buffer + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_get_buffer

    + +

    declared in "ogg/ogg.h";

    + +

    This function returns a pointer to the data buffer within the given oggpack_buffer struct. + +

    + + + + +
    +
    
    +unsigned char *oggpack_get_buffer(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to the current oggpack_buffer.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_look.html b/doc/libogg/oggpack_look.html new file mode 100644 index 0000000..3386d0b --- /dev/null +++ b/doc/libogg/oggpack_look.html @@ -0,0 +1,66 @@ + + + +libogg - function - oggpack_look + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_look

    + +

    declared in "ogg/ogg.h";

    + +

    This function looks at a specified number of bits inside the buffer without advancing the location pointer. +

    The specified number of bits are read, starting from the location pointer. +

    This function can be used to read 32 or fewer bits. + +

    + + + + +
    +
    
    +long  oggpack_look(oggpack_buffer *b,int bits);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to oggpack_buffer to be read.
    +
    bits
    +
    Number of bits to look at. For this function, must be 32 or fewer.
    +
    + + +

    Return Values

    +
    +
  • +n represents the requested bits.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_look1.html b/doc/libogg/oggpack_look1.html new file mode 100644 index 0000000..4b9cfe7 --- /dev/null +++ b/doc/libogg/oggpack_look1.html @@ -0,0 +1,63 @@ + + + +libogg - function - oggpack_look1 + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_look1

    + +

    declared in "ogg/ogg.h";

    + +

    This function looks at the next bit without advancing the location pointer. +

    The next bit is read starting from the location pointer. + +

    + + + + +
    +
    
    +long  oggpack_look1(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to an oggpack_buffer struct containing our buffer.
    +
    + + +

    Return Values

    +
    +
  • +n represents the value of the next bit after the location pointer.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_read.html b/doc/libogg/oggpack_read.html new file mode 100644 index 0000000..faf3eb7 --- /dev/null +++ b/doc/libogg/oggpack_read.html @@ -0,0 +1,65 @@ + + + +libogg - function - oggpack_read + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_read

    + +

    declared in "ogg/ogg.h";

    + +

    This function reads the requested number of bits from the buffer and advances the location pointer. +

    Before reading, the buffer should be initialized using oggpack_readinit. + +

    + + + + +
    +
    
    +long oggpack_read(oggpack_buffer *b,int bits);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to an oggpack_buffer struct containing buffered data to be read.
    +
    bits
    +
    Number of bits to read.
    +
    + + +

    Return Values

    +
    +
  • +n represents the requested bits.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_read1.html b/doc/libogg/oggpack_read1.html new file mode 100644 index 0000000..e697a60 --- /dev/null +++ b/doc/libogg/oggpack_read1.html @@ -0,0 +1,63 @@ + + + +libogg - function - oggpack_read1 + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_read1

    + +

    declared in "ogg/ogg.h";

    + +

    This function reads one bit from the oggpack_buffer data buffer and advances the location pointer. +

    Before reading, the buffer should be initialized using oggpack_readinit. + +

    + + + + +
    +
    
    +long  oggpack_read1(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to an oggpack_buffer struct containing buffered data to be read.
    +
    + + +

    Return Values

    +
    +
  • +n is the bit read by this function.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_readinit.html b/doc/libogg/oggpack_readinit.html new file mode 100644 index 0000000..6d537a3 --- /dev/null +++ b/doc/libogg/oggpack_readinit.html @@ -0,0 +1,64 @@ + + + +libogg - function - oggpack_readinit + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_readinit

    + +

    declared in "ogg/ogg.h";

    + +

    This function takes an ordinary buffer and prepares an oggpack_buffer for reading using the Ogg bitpacking functions. + +

    + + + + +
    +
    
    +void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Pointer to oggpack_buffer to be initialized with some extra markers to ease bit navigation and manipulation.
    +
    buf
    +
    Original data buffer, to be inserted into the oggpack_buffer so that it can be read using bitpacking functions. +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_reset.html b/doc/libogg/oggpack_reset.html new file mode 100644 index 0000000..9002310 --- /dev/null +++ b/doc/libogg/oggpack_reset.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_reset + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_reset

    + +

    declared in "ogg/ogg.h";

    + +

    This function resets the contents of an oggpack_buffer to their original state but does not free the memory used. + +

    + + + + +
    +
    
    +void  oggpack_reset(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    oggpack_buffer to be reset.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_write.html b/doc/libogg/oggpack_write.html new file mode 100644 index 0000000..33d8788 --- /dev/null +++ b/doc/libogg/oggpack_write.html @@ -0,0 +1,68 @@ + + + +libogg - function - oggpack_write + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_write

    + +

    declared in "ogg/ogg.h";

    + +

    This function writes bits into an oggpack_buffer. +

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit. +

    Only 32 bits can be written at a time. + +

    + + + + +
    +
    
    +void  oggpack_write(oggpack_buffer *b,unsigned long value,int bits);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Buffer to be used for writing.
    +
    value
    +
    The data to be written into the buffer. This must be 32 bits or fewer.
    +
    bits
    +
    The number of bits being written into the buffer.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_writealign.html b/doc/libogg/oggpack_writealign.html new file mode 100644 index 0000000..0137e61 --- /dev/null +++ b/doc/libogg/oggpack_writealign.html @@ -0,0 +1,65 @@ + + + +libogg - function - oggpack_writealign + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20020719

    + +

    oggpack_writealign

    + +

    declared in "ogg/ogg.h";

    + +

    This function pads the oggpack_buffer with zeros out to the +next byte boundary.

    +

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit. +

    Only 32 bits can be written at a time.

    + +

    + + + + +
    +
    
    +void  oggpack_writetrunc(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Buffer to be used for writing.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20020719

    + + + + + diff --git a/doc/libogg/oggpack_writeclear.html b/doc/libogg/oggpack_writeclear.html new file mode 100644 index 0000000..a554eed --- /dev/null +++ b/doc/libogg/oggpack_writeclear.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_reset + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_writeclear

    + +

    declared in "ogg/ogg.h";

    + +

    This function clears the buffer after writing and frees the memory used by the oggpack_buffer. + +

    + + + + +
    +
    
    +void oggpack_writeclear(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Our oggpack_buffer. This is an ordinary data buffer with some extra markers to ease bit navigation and manipulation.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_writecopy.html b/doc/libogg/oggpack_writecopy.html new file mode 100644 index 0000000..18f599a --- /dev/null +++ b/doc/libogg/oggpack_writecopy.html @@ -0,0 +1,69 @@ + + + +libogg - function - oggpack_writecopy + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20020719

    + +

    oggpack_writecopy

    + +

    declared in "ogg/ogg.h";

    + +

    This function copies a sequence of bits from a source buffer into an +oggpack_buffer.

    +

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit.

    +

    Only 32 bits can be written at a time.

    + +

    + + + + +
    +
    
    +void  oggpack_writecopy(oggpack_buffer *b, void *source, long bits);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Buffer to be used for writing.
    +
    source
    +
    A pointer to the data to be written into the buffer.
    +
    bits
    +
    The number of bits to be copied into the buffer.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20020719

    + + + + + diff --git a/doc/libogg/oggpack_writeinit.html b/doc/libogg/oggpack_writeinit.html new file mode 100644 index 0000000..1da1f17 --- /dev/null +++ b/doc/libogg/oggpack_writeinit.html @@ -0,0 +1,62 @@ + + + +libogg - function - oggpack_writeinit + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    oggpack_writeinit

    + +

    declared in "ogg/ogg.h";

    + +

    This function initializes an oggpack_buffer for writing using the Ogg bitpacking functions. + +

    + + + + +
    +
    
    +void  oggpack_writeinit(oggpack_buffer *b);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Buffer to be used for writing. This is an ordinary data buffer with some extra markers to ease bit navigation and manipulation.
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + + diff --git a/doc/libogg/oggpack_writetrunc.html b/doc/libogg/oggpack_writetrunc.html new file mode 100644 index 0000000..7e8750c --- /dev/null +++ b/doc/libogg/oggpack_writetrunc.html @@ -0,0 +1,65 @@ + + + +libogg - function - oggpack_writetrunc + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20020719

    + +

    oggpack_write

    + +

    declared in "ogg/ogg.h";

    + +

    This function truncates an already written-to oggpack_buffer.

    +

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit.

    + +

    + + + + +
    +
    
    +void  oggpack_writetrunc(oggpack_buffer *b, long bits);
    +
    +
    + +

    Parameters

    +
    +
    b
    +
    Buffer to be truncated.
    +
    bits
    +
    Number of bits to keep in the buffer (size after truncation)
    +
    + + +

    Return Values

    +
    +
  • +No values are returned.
  • +
    +

    + +

    +


    + + + + + + + + +

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20020719

    + + + + + diff --git a/doc/libogg/overview.html b/doc/libogg/overview.html new file mode 100644 index 0000000..f21cf4b --- /dev/null +++ b/doc/libogg/overview.html @@ -0,0 +1,44 @@ + + + +libogg - API Overview + + + + + + + + + +

    libogg documentation

    libogg release 1.0 - 20000615

    + +

    Libogg API Overview

    + +

    +The libogg API consists of the following functional categories: +

    +

    + +

    +
    + + + + + + + + +

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    + + + + diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html new file mode 100644 index 0000000..eddb2af --- /dev/null +++ b/doc/libogg/reference.html @@ -0,0 +1,93 @@ + + + +Libogg API Reference + + + + + + + + + +

    libogg documentation

    libogg - 20020719

    + +

    Libogg API Reference

    + +

    +Data Structures
    +oggpack_buffer
    +ogg_page
    +ogg_stream_state
    +ogg_packet
    +ogg_sync_state
    +
    +Bitpacking
    +oggpack_writeinit()
    +oggpack_reset()
    +oggpack_writetrunc()
    +oggpack_writealign()
    +oggpack_writecopy()
    +oggpack_writeclear()
    +oggpack_readinit()
    +oggpack_write()
    +oggpack_look()
    +oggpack_look1()
    +oggpack_adv()
    +oggpack_adv1()
    +oggpack_read()
    +oggpack_read1()
    +oggpack_bytes()
    +oggpack_bits()
    +oggpack_get_buffer()
    +
    +Decoding-Related
    +ogg_sync_init()
    +ogg_sync_clear()
    +ogg_sync_destroy()
    +ogg_sync_reset()
    +ogg_sync_buffer()
    +ogg_sync_wrote()
    +ogg_sync_pageseek()
    +ogg_sync_pageout()
    +ogg_stream_pagein()
    +ogg_stream_packetout()
    +ogg_stream_packetpeek()
    +
    +Encoding-Related
    +ogg_stream_packetin()
    +ogg_stream_pageout()
    +ogg_stream_flush()
    +
    +General
    +ogg_stream_init()
    +ogg_stream_clear()
    +ogg_stream_reset()
    +ogg_stream_reset_serialno()
    +ogg_stream_destroy()
    +ogg_page_version()
    +ogg_page_continued()
    +ogg_page_packets()
    +ogg_page_bos()
    +ogg_page_eos()
    +ogg_page_granulepos()
    +ogg_page_serialno()
    +ogg_page_pageno()
    +ogg_packet_clear()
    +ogg_page_checksum_set()
    +

    +


    + + + + + + + + +

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis
    team@vorbis.org

    libogg documentation

    libogg - 20020719

    + + + + diff --git a/doc/libogg/style.css b/doc/libogg/style.css new file mode 100644 index 0000000..81cf417 --- /dev/null +++ b/doc/libogg/style.css @@ -0,0 +1,7 @@ +BODY { font-family: Helvetica, sans-serif } +TD { font-family: Helvetica, sans-serif } +P { font-family: Helvetica, sans-serif } +H1 { font-family: Helvetica, sans-serif } +H2 { font-family: Helvetica, sans-serif } +H4 { font-family: Helvetica, sans-serif } +P.tiny { font-size: 8pt } diff --git a/doc/libogg/vorbis_comment.html b/doc/libogg/vorbis_comment.html new file mode 100644 index 0000000..a7b076b --- /dev/null +++ b/doc/libogg/vorbis_comment.html @@ -0,0 +1,70 @@ + + + +Vorbisfile - datatype - vorbis_comment + + + + + + + + + +

    Vorbisfile documentation

    libVorbisfile version 1.65 - 20020702

    + +

    vorbis_comment

    + +

    declared in "vorbis/codec.h"

    + +

    +The vorbis_comment structure defines an Ogg Vorbis comment. +

    +Only the fields the program needs must be defined. If a field isn't +defined by the application, it will either be blank (if it's a string value) +or set to some reasonable default (usually 0). +

    + + + + + +
    +
    typedef struct vorbis_comment{
    +  /* unlimited user comment fields. */
    +  char **user_comments;
    +  int  *comment_lengths;
    +  int   comments;
    +  char *vendor;
    +
    +} vorbis_comment;
    +
    + +

    Parameters

    +
    +
    user_comments
    +
    Unlimited user comment array. The individual strings in the array are 8 bit clean, by the Vorbis specification, and as such the comment_lengths array should be consulted to determine string length. For convenience, each string is also NULL-terminated by the decode library (although Vorbis comments are not NULL terminated within the bitstream itself).
    +
    comment_lengths
    +
    An array that stores the length of each comment string
    +
    comments
    +
    number of user comments in user_comments field.
    +
    vendor
    +
    Information about the creator of the file. Stored in a standard C 0-terminated string.
    +
    + + +

    +
    + + + + + + + + +

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis

    Vorbisfile documentation

    libVorbisfile version 1.65 - 20020719

    + + + + diff --git a/doc/libogg/vorbis_info.html b/doc/libogg/vorbis_info.html new file mode 100644 index 0000000..893e453 --- /dev/null +++ b/doc/libogg/vorbis_info.html @@ -0,0 +1,80 @@ + + + +Vorbisfile - datatype - vorbis_info + + + + + + + + + +

    Vorbisfile documentation

    libVorbisfile version 1.65 - 20020702

    + +

    vorbis_info

    + +

    declared in "vorbis/codec.h"

    + +

    +The vorbis_info structure contains basic information about the audio in a vorbis bitstream. +

    + + + + + +
    +
    typedef struct vorbis_info{
    +  int version;
    +  int channels;
    +  long rate;
    +  
    +  long bitrate_upper;
    +  long bitrate_nominal;
    +  long bitrate_lower;
    +  long bitrate_window;
    +
    +  void *codec_setup;
    +
    +} vorbis_info;
    +
    + +

    Relevant Struct Members

    +
    +
    version
    +
    Vorbis encoder version used to create this bitstream.
    +
    channels
    +
    Int signifying number of channels in bitstream.
    +
    rate
    +
    Sampling rate of the bitstream.
    +
    bitrate_upper
    +
    Specifies the upper limit in a VBR bitstream. If the value matches the bitrate_nominal and bitrate_lower parameters, the stream is fixed bitrate. May be unset if no limit exists.
    +
    bitrate_nominal
    +
    Specifies the average bitrate for a VBR bitstream. May be unset. If the bitrate_upper and bitrate_lower parameters match, the stream is fixed bitrate.
    +
    bitrate_lower
    +
    Specifies the lower limit in a VBR bitstream. If the value matches the bitrate_nominal and bitrate_upper parameters, the stream is fixed bitrate. May be unset if no limit exists.
    +
    bitrate_window
    +
    Currently unset.
    + +
    codec_setup
    +
    Internal structure that contains the detailed/unpacked configuration for decoding the current Vorbis bitstream.
    +
    + + +

    +
    + + + + + + + + +

    copyright © 2002 Xiph.org

    Ogg Vorbis

    Vorbisfile documentation

    libVorbisfile version 1.65 - 20020702

    + + + + diff --git a/doc/ogg/.cvsignore b/doc/ogg/.cvsignore deleted file mode 100644 index 282522d..0000000 --- a/doc/ogg/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/doc/ogg/Makefile.am b/doc/ogg/Makefile.am deleted file mode 100644 index 8a51188..0000000 --- a/doc/ogg/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -## Process this file with automake to produce Makefile.in - -docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/ogg - -doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ - general.html index.html ogg_packet.html ogg_packet_clear.html\ - ogg_page.html ogg_page_bos.html ogg_page_checksum_set.html\ - ogg_page_continued.html ogg_page_eos.html ogg_page_granulepos.html\ - ogg_page_packets.html ogg_page_pageno.html ogg_page_serialno.html\ - ogg_page_version.html ogg_stream_clear.html ogg_stream_destroy.html\ - ogg_stream_eos.html ogg_stream_flush.html ogg_stream_init.html\ - ogg_stream_packetin.html ogg_stream_packetout.html\ - ogg_stream_packetpeek.html ogg_stream_pagein.html\ - ogg_stream_pageout.html ogg_stream_reset.html\ - ogg_stream_reset_serialno.html ogg_stream_state.html\ - ogg_sync_buffer.html ogg_sync_clear.html ogg_sync_destroy.html\ - ogg_sync_init.html ogg_sync_pageout.html ogg_sync_pageseek.html\ - ogg_sync_reset.html ogg_sync_state.html ogg_sync_wrote.html\ - oggpack_adv.html oggpack_adv1.html oggpack_bits.html\ - oggpack_buffer.html oggpack_bytes.html oggpack_get_buffer.html\ - oggpack_look.html oggpack_look1.html oggpack_read.html\ - oggpack_read1.html oggpack_readinit.html oggpack_reset.html\ - oggpack_write.html oggpack_writealign.html oggpack_writeclear.html\ - oggpack_writecopy.html oggpack_writeinit.html oggpack_writetrunc.html\ - overview.html reference.html style.css vorbis_comment.html\ - vorbis_info.html - -EXTRA_DIST = $(doc_DATA) diff --git a/doc/ogg/bitpacking.html b/doc/ogg/bitpacking.html deleted file mode 100644 index 57ff78a..0000000 --- a/doc/ogg/bitpacking.html +++ /dev/null @@ -1,99 +0,0 @@ - - - -libogg - Bitpacking Functions - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    Bitpacking Functions

    -

    Libogg contains a basic bitpacking library that is useful for manipulating data within a buffer. -

    -All the libogg specific functions are declared in "ogg/ogg.h". -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    functionpurpose
    oggpack_writeinitInitializes a buffer for writing using this bitpacking library.
    oggpack_resetClears and resets the buffer to the initial position.
    oggpack_writeclearFrees the memory used by the buffer.
    oggpack_readinitInitializes a buffer for reading using this bitpacking library.
    oggpack_writeWrites bytes to the specified location within the buffer.
    oggpack_lookLook at a specified number of bits, <=32, without advancing the location pointer.
    oggpack_look1Looks at one bit without advancing the location pointer.
    oggpack_advAdvances the location pointer by a specified number of bits.
    oggpack_adv1Advances the location pointer by one bit.
    oggpack_readReads a specified number of bits from the buffer.
    oggpack_read1Reads one bit from the buffer.
    oggpack_bytesReturns the total number of bytes contained within the buffer.
    oggpack_bitsReturns the total number of bits contained within the buffer.
    oggpack_get_bufferReturns a pointer to the buffer encapsulated within the oggpack_buffer struct.
    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - diff --git a/doc/ogg/datastructures.html b/doc/ogg/datastructures.html deleted file mode 100644 index 13fee95..0000000 --- a/doc/ogg/datastructures.html +++ /dev/null @@ -1,59 +0,0 @@ - - - -libogg - Base Data Structures - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    Base Data Structures

    -

    Libogg uses several data structures to hold data and state information. -

    -All the libogg specific data structures are declared in "ogg/ogg.h". -

    - - - - - - - - - - - - - - - - - - - - - - -
    datatypepurpose
    ogg_pageThis structure encapsulates data into one ogg bitstream page.
    ogg_stream_stateThis structure contains current encode/decode data for a logical bitstream.
    ogg_packetThis structure encapsulates the data and metadata for a single raw Ogg Vorbis packet.
    ogg_sync_stateContains bitstream synchronization information.
    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - diff --git a/doc/ogg/decoding.html b/doc/ogg/decoding.html deleted file mode 100644 index 2cd576e..0000000 --- a/doc/ogg/decoding.html +++ /dev/null @@ -1,100 +0,0 @@ - - - -libogg - Decoding - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    Decoding

    -

    Libogg contains a set of functions used in the decoding process. -

    -All the libogg specific functions are declared in "ogg/ogg.h". -

    -

    Decoding is based around the ogg synchronization layer. The ogg_sync_state struct coordinates between incoming data and the decoder. We read data into the synchronization layer, submit the data to the stream, and output raw packets to the decoder. -

    Decoding through the Ogg layer follows a specific logical sequence. A read loop follows these logical steps: -

    -

    In practice, streams are more complex, and Ogg also must handle headers, incomplete or dropped pages, and other errors in input. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    functionpurpose
    ogg_sync_initInitializes an Ogg bitstream.
    ogg_sync_clearClears the status information from the synchronization struct. -
    ogg_sync_resetResets the synchronization status to initial values.
    ogg_sync_destroyFrees the synchronization struct.
    ogg_sync_bufferExposes a buffer from the synchronization layer in order to read data.
    ogg_sync_wroteTells the synchronization layer how many bytes were written into the buffer.
    ogg_sync_pageseekFinds the borders of pages and resynchronizes the stream.
    ogg_sync_pageoutOutputs a page from the synchronization layer.
    ogg_stream_pageinSubmits a complete page to the stream layer.
    ogg_stream_packetoutOutputs a packet to the codec-specific decoding engine.
    ogg_stream_packetpeekProvides access to the next packet in the bitstream without -advancing decoding.
    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - diff --git a/doc/ogg/encoding.html b/doc/ogg/encoding.html deleted file mode 100644 index 372ea80..0000000 --- a/doc/ogg/encoding.html +++ /dev/null @@ -1,64 +0,0 @@ - - - -libogg - Encoding - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    Encoding

    -

    Libogg contains a set of functions used in the encoding process. -

    -All the libogg specific functions are declared in "ogg/ogg.h". -

    -

    When encoding, the encoding engine will output raw packets which must be placed into an Ogg bitstream. -

    Raw packets are inserted into the stream, and an ogg_page is output when enough packets have been written to create a full page. The pages output are pointers to buffered packet segments, and can then be written out and saved as an ogg stream. -

    There are a couple of basic steps: -

      -
    • Use the encoding engine to produce a raw packet of data. -
    • Call ogg_stream_packetin to submit a raw packet to the stream. -
    • Use ogg_stream_pageout to output a page, if enough data has been submitted. Otherwise, continue submitting data. -
    -

    - - - - - - - - - - - - - - - - -
    functionpurpose
    ogg_stream_packetinSubmits a raw packet to the streaming layer, so that it can be formed into a page.
    ogg_stream_pageoutOutputs a completed page if the stream contains enough packets to form a full page. -
    ogg_stream_flushForces any remaining packets in the stream to be returned as a page of any size. -
    - -

    -
    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - diff --git a/doc/ogg/general.html b/doc/ogg/general.html deleted file mode 100644 index f8c92e9..0000000 --- a/doc/ogg/general.html +++ /dev/null @@ -1,105 +0,0 @@ - - - -libogg - General Functions - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    General Functions

    -

    Libogg contains several functions which are generally useful when using Ogg streaming, whether encoding or decoding. -

    -All the libogg specific functions are declared in "ogg/ogg.h". -

    -

    These functions can be used to manipulate some of the basic elements of Ogg - streams and pages. Streams and pages are important during both the encode and decode process. -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    functionpurpose
    ogg_stream_initInitializes an Ogg bitstream.
    ogg_stream_clearClears the storage within the Ogg stream, but does not free the stream itself. -
    ogg_stream_resetResets the stream status to its initial position.
    ogg_stream_destroyFrees the entire Ogg stream.
    ogg_stream_eosIndicates whether we are at the end of the stream.
    ogg_page_versionReturns the version of ogg_page that this stream/page uses
    ogg_page_continuedIndicates if the current page contains a continued packet from the last page.
    ogg_page_packetsIndicates the number of packets contained in a page.
    ogg_page_bosIndicates if the current page is the beginning of the stream.
    ogg_page_eosIndicates if the current page is the end of the stream.
    ogg_page_granuleposReturns the precise playback location of this page.
    ogg_page_serialnoReturns the unique serial number of the logical bitstream associated with this page.
    ogg_page_pagenoReturns the sequential page number for this page.
    ogg_packet_clear - Clears the ogg_packet structure.
    ogg_page_checksum_setChecksums an ogg_page.
    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - diff --git a/doc/ogg/index.html b/doc/ogg/index.html deleted file mode 100644 index 123d965..0000000 --- a/doc/ogg/index.html +++ /dev/null @@ -1,39 +0,0 @@ - - - -libogg - Documentation - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    Libogg Documentation

    - -

    -Libogg contains necessary functionality to create, decode, and work with Ogg bitstreams. -

    This document explains how to use the libogg API in detail. -

    -libogg api overview
    -libogg api reference
    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@vorbis.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - diff --git a/doc/ogg/ogg_packet.html b/doc/ogg/ogg_packet.html deleted file mode 100644 index 0dab54e..0000000 --- a/doc/ogg/ogg_packet.html +++ /dev/null @@ -1,75 +0,0 @@ - - - -libogg - datatype - ogg_packet - - - - - - - - - -

    libogg documentation

    libogg - 20011015

    - -

    ogg_packet

    - -

    declared in "ogg/ogg.h"

    - -

    -The ogg_packet struct encapsulates the data for a single raw packet of data -and is used to transfer data between the ogg framing layer and the handling codec. -

    - - - - - -
    -
    
    -typedef struct {
    -  unsigned char *packet;
    -  long  bytes;
    -  long  b_o_s;
    -  long  e_o_s;
    -
    -  ogg_int64_t  granulepos;
    -  ogg_int64_t  packetno; 
    -
    -} ogg_packet;
    -
    -
    - -

    Relevant Struct Members

    -
    -
    packet
    -
    Pointer to the packet's data. This is treated as an opaque type by the ogg layer.
    -
    bytes
    -
    Indicates the size of the packet data in bytes. Packets can be of arbitrary size.
    -
    b_o_s
    -
    Flag indicating whether this packet begins a logical bitstream. 1 indicates this is the first packet, 0 indicates any other position in the stream.
    -
    e_o_s
    -
    Flag indicating whether this packet ends a bitstream. 1 indicates the last packet, 0 indicates any other position in the stream.
    -
    granulepos
    -
    A number indicating the position of this packet in the decoded data. This is the last sample, frame or other unit of information ('granule') that can be completely decoded from this packet.
    -
    packetno
    -
    Sequential number of this packet in the ogg bitstream.
    -
    - - -

    -
    - - - - - - - - -

    copyright © 2001 xiph.org foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg - 20011015

    - - - - diff --git a/doc/ogg/ogg_packet_clear.html b/doc/ogg/ogg_packet_clear.html deleted file mode 100644 index 5e0bdf3..0000000 --- a/doc/ogg/ogg_packet_clear.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - ogg_packet_clear - - - - - - - - - -

    libogg documentation

    libogg - 20011218

    - -

    ogg_packet_clear

    - -

    declared in "ogg/ogg.h";

    - -

    This function clears the memory used by the ogg_packet struct, and frees the internal allocated memory, but does not free -the structure itself. -

    - - - - -
    -
    
    -int ogg_packet_clear(ogg_packet *op);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the ogg_packet struct to be cleared.
    -
    - - -

    Return Values

    -
    -
  • -None.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg - 20011218

    - - - - - diff --git a/doc/ogg/ogg_page.html b/doc/ogg/ogg_page.html deleted file mode 100644 index 8fdccc2..0000000 --- a/doc/ogg/ogg_page.html +++ /dev/null @@ -1,74 +0,0 @@ - - - -libogg - datatype - ogg_page - - - - - - - - - -

    libogg documentation

    libogg - 200011015

    - -

    ogg_page

    - -

    declared in "ogg/ogg.h"

    - -

    -The ogg_page struct encapsulates the data for an Ogg page. -

    -Ogg pages are the fundamental unit of framing and interleave in an ogg bitstream. -They are made up of packet segments of 255 bytes each. There can be as many as -255 packet segments per page, for a maximum page size of a little under 64 kB. -This is not a practical limitation as the segments can be joined across -page boundaries allowing packets of arbitrary size. In practice pages are -usually around 4 kB. -

    -

    For a complete description of ogg pages and headers, please refer to the framing document. - - - - - -
    -
    
    -typedef struct {
    -  unsigned char *header;
    -  long           header_len;
    -  unsigned char *body;
    -  long           body_len;
    -} ogg_page;
    -
    -
    - -

    Relevant Struct Members

    -
    -
    header
    -
    Pointer to the page header for this page. The exact contents of this header are defined in the framing spec document.
    -
    header_len
    -
    Length of the page header in bytes. -
    body
    -
    Pointer to the data for this page.
    -
    body_len
    -
    Length of the body data in bytes.
    -
    - - -

    -
    - - - - - - - - -

    copyright © 2001 xiph.org foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version - 20011015

    - - - - diff --git a/doc/ogg/ogg_page_bos.html b/doc/ogg/ogg_page_bos.html deleted file mode 100644 index 9e1462f..0000000 --- a/doc/ogg/ogg_page_bos.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - ogg_page_bos - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_page_bos

    - -

    declared in "ogg/ogg.h";

    - -

    Indicates whether this page is at the beginning of the logical bitstream. -

    -

    - - - - -
    -
    
    -int ogg_page_bos(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -greater than 0 if this page is the beginning of a bitstream.
  • -
  • -0 if this page is from any other location in the stream.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_page_checksum_set.html b/doc/ogg/ogg_page_checksum_set.html deleted file mode 100644 index 72780d0..0000000 --- a/doc/ogg/ogg_page_checksum_set.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - ogg_page_checksum_set - - - - - - - - - -

    libogg documentation

    libogg - 20011218

    - -

    ogg_page_checksum_set

    - -

    declared in "ogg/ogg.h";

    - -

    Checksums an ogg_page. -

    -

    - - - - -
    -
    
    -int ogg_page_checksum_set(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to an ogg_page struct.
    -
    - - -

    Return Values

    -
    -None. -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg - 20011218

    - - - - - diff --git a/doc/ogg/ogg_page_continued.html b/doc/ogg/ogg_page_continued.html deleted file mode 100644 index 36adc09..0000000 --- a/doc/ogg/ogg_page_continued.html +++ /dev/null @@ -1,64 +0,0 @@ - - - -libogg - function - ogg_page_version - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_page_continued

    - -

    declared in "ogg/ogg.h";

    - -

    Indicates whether this page contains packet data which has been continued from the previous page. -

    - - - - -
    -
    
    -int ogg_page_continued(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -1 if this page contains packet data continued from the last page.
  • -
  • -0 if this page does not contain continued data.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_page_eos.html b/doc/ogg/ogg_page_eos.html deleted file mode 100644 index 13747b5..0000000 --- a/doc/ogg/ogg_page_eos.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - ogg_page_eos - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_page_eos

    - -

    declared in "ogg/ogg.h";

    - -

    Indicates whether this page is at the end of the logical bitstream. -

    -

    - - - - -
    -
    
    -int ogg_page_eos(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -greater than zero if this page contains the end of a bitstream.
  • -
  • -0 if this page is from any other location in the stream.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_page_granulepos.html b/doc/ogg/ogg_page_granulepos.html deleted file mode 100644 index 50c5e45..0000000 --- a/doc/ogg/ogg_page_granulepos.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - ogg_page_granulepos - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_page_granulepos

    - -

    declared in "ogg/ogg.h";

    - -

    Returns the exact granular position of the packet data contained at the end of this page. -

    This is useful for tracking location when seeking or decoding. -

    For example, in audio codecs this position is the pcm sample number and in video this is the frame number. -

    -

    - - - - -
    -
    
    -int ogg_page_granulepos(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -n is the specific last granular position of the decoded data contained in the page.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_page_packets.html b/doc/ogg/ogg_page_packets.html deleted file mode 100644 index e88724c..0000000 --- a/doc/ogg/ogg_page_packets.html +++ /dev/null @@ -1,75 +0,0 @@ - - - -libogg - function - ogg_page_packets - - - - - - - - - -

    libogg documentation

    libogg - 20011218

    - -

    ogg_page_packets

    - -

    declared in "ogg/ogg.h";

    - -

    Returns the number of packets that are completed on this page. If the -leading packet is begun on a previous page, but ends on this page, it's -counted. -

    -

    - - - - -
    -
    
    -int ogg_page_packets(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -If a page consists of a packet begun on a previous page, and a new packet -begun (but not completed) on this page, the return will be:
    -
    -ogg_page_packets(page) will return 1,
    -ogg_page_continued(paged) will return non-zero.
    -

    -If a page happens to be a single packet that was begun on a previous page, and -spans to the next page (in the case of a three or more page packet), the -return will be:
    -
    -ogg_page_packets(page) will return 0,
    -ogg_page_continued(page) will return non-zero.
    -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg - 20011218

    - - - - - diff --git a/doc/ogg/ogg_page_pageno.html b/doc/ogg/ogg_page_pageno.html deleted file mode 100644 index 0eca7af..0000000 --- a/doc/ogg/ogg_page_pageno.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - ogg_page_pageno - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_page_pageno

    - -

    declared in "ogg/ogg.h";

    - -

    Returns the sequential page number. -

    This is useful for ordering pages or determining when pages have been lost. -

    - - - - -
    -
    
    -int ogg_page_pageno(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -n is the page number for this page.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_page_serialno.html b/doc/ogg/ogg_page_serialno.html deleted file mode 100644 index 60305a9..0000000 --- a/doc/ogg/ogg_page_serialno.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - ogg_page_serialno - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_page_serialno

    - -

    declared in "ogg/ogg.h";

    - -

    Returns the unique serial number for the logical bitstream of this page. Each page contains the serial number for the logical bitstream that it belongs to. -

    -

    - - - - -
    -
    
    -int ogg_page_serialno(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -n is the serial number for this page.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_page_version.html b/doc/ogg/ogg_page_version.html deleted file mode 100644 index 9f3c383..0000000 --- a/doc/ogg/ogg_page_version.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - ogg_page_version - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_page_version

    - -

    declared in "ogg/ogg.h";

    - -

    This function returns the version of ogg_page used in this page. -

    In current versions of libogg, all ogg_page structs have the same version, so 0 should always be returned. -

    - - - - -
    -
    
    -int ogg_page_version(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -n is the version number. In the current version of Ogg, the version number is always 0. Nonzero return values indicate an error in page encoding.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_stream_clear.html b/doc/ogg/ogg_stream_clear.html deleted file mode 100644 index a261a5d..0000000 --- a/doc/ogg/ogg_stream_clear.html +++ /dev/null @@ -1,61 +0,0 @@ - - - -libogg - function - ogg_stream_clear - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_stream_clear

    - -

    declared in "ogg/ogg.h";

    - -

    This function clears the memory used by the ogg_stream_state struct, but does not free it. -

    - - - - -
    -
    
    -int ogg_stream_clear(ogg_stream_state *os);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the ogg_stream_state struct to be cleared.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_stream_destroy.html b/doc/ogg/ogg_stream_destroy.html deleted file mode 100644 index ebe7a24..0000000 --- a/doc/ogg/ogg_stream_destroy.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - ogg_stream_destroy - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_stream_destroy

    - -

    declared in "ogg/ogg.h";

    - -

    This function frees the memory used by the ogg_stream_state struct. -

    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. -

    - - - - -
    -
    
    -int ogg_stream_destroy(ogg_stream_state *os);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the ogg_stream_state struct to be destroyed.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_stream_eos.html b/doc/ogg/ogg_stream_eos.html deleted file mode 100644 index 40e577e..0000000 --- a/doc/ogg/ogg_stream_eos.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - ogg_stream_eos - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_stream_eos

    - -

    declared in "ogg/ogg.h";

    - -

    This function indicates whether we have reached the end of the stream or not. -

    - - - - -
    -
    
    -int ogg_stream_eos(ogg_stream_state *os);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the current ogg_stream_state struct.
    -
    - - -

    Return Values

    -
    -
  • 1 if we are at the end of the stream.
  • -
  • -0 if we have not yet reached the end of the stream.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_stream_flush.html b/doc/ogg/ogg_stream_flush.html deleted file mode 100644 index 05d75fb..0000000 --- a/doc/ogg/ogg_stream_flush.html +++ /dev/null @@ -1,67 +0,0 @@ - - - -libogg - function - ogg_stream_flush - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_stream_flush

    - -

    declared in "ogg/ogg.h";

    - -

    This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page. -

    This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout should always be used. -

    This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. - -

    - - - - -
    -
    
    -int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to a previously declared ogg_stream_state struct, which represents the current logical bitstream.
    -
    og
    -
    Pointer to a page of data. The remaining packets in the stream will be placed into this page, if any remain. -
    - - -

    Return Values

    -
    -
  • 0 means that all packet data has already been flushed into pages, and there are no packets to put into the page.
  • -
  • -Nonzero means that remaining packets have successfully been flushed into the page.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_stream_init.html b/doc/ogg/ogg_stream_init.html deleted file mode 100644 index 4f600ff..0000000 --- a/doc/ogg/ogg_stream_init.html +++ /dev/null @@ -1,66 +0,0 @@ - - - -libogg - function - ogg_stream_init - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_stream_init

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to initialize an ogg_stream_state struct and allocates appropriate memory in preparation for encoding or decoding. -

    It also assigns the stream a given serial number. -

    - - - - -
    -
    
    -int ogg_stream_init(ogg_stream_state *os,int serialno);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the ogg_stream_state struct that we will be initializing.
    -
    serialno
    -
    Serial number that we will attach to this stream.
    -
    - - -

    Return Values

    -
    -
  • -0 if successful
  • -
  • --1 if unsuccessful. If this fails, the ogg_stream_state was not properly declared before calling this function.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_stream_packetin.html b/doc/ogg/ogg_stream_packetin.html deleted file mode 100644 index c1018dc..0000000 --- a/doc/ogg/ogg_stream_packetin.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - ogg_stream_packetin - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_stream_packetin

    - -

    declared in "ogg/ogg.h";

    - -

    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. -

    In a typical decoding situation, this should be used after filling a packet with data - -

    - - - - -
    -
    
    -int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to a previously declared ogg_stream_state struct.
    -
    op
    -
    Pointer to the packet we are putting into the bitstream. -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_stream_packetout.html b/doc/ogg/ogg_stream_packetout.html deleted file mode 100644 index bc57e85..0000000 --- a/doc/ogg/ogg_stream_packetout.html +++ /dev/null @@ -1,71 +0,0 @@ - - - -libogg - function - ogg_stream_packetout - - - - - - - - - -

    libogg documentation

    libogg release 1.1.3 - 20040927

    - -

    ogg_stream_packetout

    - -

    declared in "ogg/ogg.h";

    - -

    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. Each successive call returns the next complete packet built from those segments.

    -

    In a typical decoding situation, this should be used after calling ogg_stream_pagein() 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.

    - -

    - - - - -
    -
    
    -int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to a previously declared ogg_stream_state struct. Before this function is called, an ogg_page should be submitted to the stream using ogg_stream_pagein().
    -
    op
    -
    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.
    -
    - - -

    Return Values

    -
    -
      -
    • -1 if we are out of sync and there is a gap in the data. Usually this will not be a fatal error. op contains a the first packet decodable after the hole.
    • -
    • 0 if there is insufficient data available to complete a packet. op has not been updated. -
    • 1 if a packet was assembled normally. op contains the next packet from the stream.
    • -
    -
    - -

    - -
    - - - - - - - - - -

    copyright © 2004 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.1.3 - 20040927

    - - - - diff --git a/doc/ogg/ogg_stream_packetpeek.html b/doc/ogg/ogg_stream_packetpeek.html deleted file mode 100644 index 892977b..0000000 --- a/doc/ogg/ogg_stream_packetpeek.html +++ /dev/null @@ -1,85 +0,0 @@ - - - -libogg - function - ogg_stream_packetpeek - - - - - - - - - -

    libogg documentation

    libogg version 1.26 - 20010527

    - -

    ogg_stream_packetout

    - -

    declared in "ogg/ogg.h";

    - -

    This function attempts to assemble a raw data packet and returns -it without advancing decoding.

    - -

    In a typical situation, this would be called -speculatively after ogg_stream_pagein() to check -the packet contents before handing it off to a codec for -decompression. To advance page decoding and remove -the packet from the sync structure, call -ogg_stream_packetout().

    - -

    - - - - - -
    -
    
    -int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to a previously declared -ogg_stream_state struct. Before this -function is called, an ogg_page should be -submitted to the stream using -ogg_stream_pagein().
    -
    op
    -
    Pointer to the next packet available in the bitstream, if -any. A NULL value may be passed in the case of a simple "is there a -packet?" check.
    -
    - - -

    Return Values

    -
    -
      -
    • -1 if there's no packet available due to lost sync or a hole -in the data.
    • -
    • 1 if a packet is available.
    • -
    -
    - - -

    - -
    - - - - - - - - - -

    copyright © 2001 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg version 1.26 - 20010527

    - - - - - diff --git a/doc/ogg/ogg_stream_pagein.html b/doc/ogg/ogg_stream_pagein.html deleted file mode 100644 index b884169..0000000 --- a/doc/ogg/ogg_stream_pagein.html +++ /dev/null @@ -1,67 +0,0 @@ - - - -libogg - function - ogg_stream_pagein - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_stream_pagein

    - -

    declared in "ogg/ogg.h";

    - -

    This function adds a complete page to the bitstream. -

    In a typical decoding situation, this function would be called after using ogg_sync_pageout to create a valid ogg_page struct. -

    Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer. - -

    - - - - -
    -
    
    -int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
    -
    og
    -
    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. -
    - - -

    Return Values

    -
    -
  • -1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, or that the page version was incorrect.
  • -
  • -0 means that the page was successfully submitted to the bitstream.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_stream_pageout.html b/doc/ogg/ogg_stream_pageout.html deleted file mode 100644 index c703382..0000000 --- a/doc/ogg/ogg_stream_pageout.html +++ /dev/null @@ -1,66 +0,0 @@ - - - -libogg - function - ogg_stream_pageout - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_stream_pageout

    - -

    declared in "ogg/ogg.h";

    - -

    This function forms packets into pages. If -

    In a typical encoding situation, this would be called after using ogg_stream_packetin to submit data packets to the bitstream. -

    Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer. - -

    - - - - -
    -
    
    -int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
    -
    og
    -
    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. -
    - - -

    Return Values

    -
    -
  • Zero means that insufficient data has accumulated to fill a page.
  • -
  • Non-zero means that a page has been completed and flushed.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_stream_reset.html b/doc/ogg/ogg_stream_reset.html deleted file mode 100644 index 19634d4..0000000 --- a/doc/ogg/ogg_stream_reset.html +++ /dev/null @@ -1,61 +0,0 @@ - - - -libogg - function - ogg_stream_reset - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_stream_reset

    - -

    declared in "ogg/ogg.h";

    - -

    This function sets values in the ogg_stream_state struct back to initial values. -

    - - - - -
    -
    
    -int ogg_stream_reset(ogg_stream_state *os);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the ogg_stream_state struct to be cleared.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_stream_reset_serialno.html b/doc/ogg/ogg_stream_reset_serialno.html deleted file mode 100644 index d75fdb3..0000000 --- a/doc/ogg/ogg_stream_reset_serialno.html +++ /dev/null @@ -1,67 +0,0 @@ - - - -libogg - function - ogg_stream_reset_serialno - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20020719

    - -

    ogg_stream_reset

    - -

    declared in "ogg/ogg.h";

    - -

    This function reinitializes the values in the -ogg_stream_state, -just like ogg_stream_reset(). -Additionally, it sets the stream serial number to the given value.

    - -

    - - - - -
    -
    
    -int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the ogg_stream_state struct to be cleared.
    -
    serialno
    -
    New stream serial number to use
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20020719

    - - - - - diff --git a/doc/ogg/ogg_stream_state.html b/doc/ogg/ogg_stream_state.html deleted file mode 100644 index 7f41737..0000000 --- a/doc/ogg/ogg_stream_state.html +++ /dev/null @@ -1,121 +0,0 @@ - - - -libogg - datatype - ogg_stream_state - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_stream_state

    - -

    declared in "ogg/ogg.h"

    - -

    -The ogg_stream_state struct tracks the current encode/decode state of the current logical bitstream. -

    - - - - - -
    -
    
    -typedef struct {
    -  unsigned char   *body_data;    /* bytes from packet bodies */
    -  long    body_storage;          /* storage elements allocated */
    -  long    body_fill;             /* elements stored; fill mark */
    -  long    body_returned;         /* elements of fill returned */
    -
    -
    -  int     *lacing_vals;    /* The values that will go to the segment table */
    -  ogg_int64_t *granule_vals;      /* granulepos values for headers. Not compact
    -                             this way, but it is simple coupled to the
    -                             lacing fifo */
    -  long    lacing_storage;
    -  long    lacing_fill;
    -  long    lacing_packet;
    -  long    lacing_returned;
    -
    -  unsigned char    header[282];      /* working space for header encode */
    -  int              header_fill;
    -
    -  int     e_o_s;          /* set when we have buffered the last packet in the
    -                             logical bitstream */
    -  int     b_o_s;          /* set after we've written the initial page
    -                             of a logical bitstream */
    -  long     serialno;
    -  int      pageno;
    -  ogg_int64_t  packetno;      /* sequence number for decode; the framing
    -                             knows where there's a hole in the data,
    -                             but we need coupling so that the codec
    -                             (which is in a seperate abstraction
    -                             layer) also knows about the gap */
    -  ogg_int64_t   granulepos;
    -
    -} ogg_stream_state;
    -
    -
    - -

    Relevant Struct Members

    -
    -
    body_data
    -
    Pointer to data from packet bodies.
    -
    body_storage
    -
    Storage allocated for bodies in bytes (filled or unfilled).
    -
    body_fill
    -
    Amount of storage filled with stored packet bodies.
    -
    body_returned
    -
    Number of elements returned from storage.
    -
    lacing_vals
    -
    String of lacing values for the packet segments within the current page. Each value is a byte, indicating packet segment length.
    -
    granule_vals
    -
    Pointer to the lacing values for the packet segments within the current page.
    -
    lacing_storage
    -
    Total amount of storage (in bytes) allocated for storing lacing values.
    -
    lacing_fill
    -
    Fill marker for the current vs. total allocated storage of lacing values for the page.
    -
    lacing_packet
    -
    Lacing value for current packet segment.
    -
    lacing_returned
    -
    Number of lacing values returned from lacing_storage.
    -
    header
    -
    Temporary storage for page header during encode process, while the header is being created.
    -
    header_fill
    -
    Fill marker for header storage allocation. Used during the header creation process.
    -
    e_o_s
    -
    Marker set when the last packet of the logical bitstream has been buffered.
    -
    b_o_s
    -
    Marker set after we have written the first page in the logical bitstream.
    -
    serialno
    -
    Serial number of this logical bitstream.
    -
    pageno
    -
    Number of the current page within the stream.
    -
    packetno
    -
    Number of the current packet.
    -
    granulepos
    -
    Exact position of decoding/encoding process.
    -
    - - -

    -
    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - diff --git a/doc/ogg/ogg_sync_buffer.html b/doc/ogg/ogg_sync_buffer.html deleted file mode 100644 index 4c84694..0000000 --- a/doc/ogg/ogg_sync_buffer.html +++ /dev/null @@ -1,67 +0,0 @@ - - - -libogg - function - ogg_sync_buffer - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_sync_buffer

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to provide a properly-sized buffer for writing. -

    Buffer space which has already been returned is cleared, and the buffer is extended as necessary by the size plus some additional bytes. Within the current implementation, an extra 4096 bytes are allocated, but applications should not rely on this additional buffer space. -

    The buffer exposed by this function is empty internal storage from the ogg_sync_state struct, beginning at the fill mark within the struct. -

    A pointer to this buffer is returned to be used by the calling application. - -

    - - - - -
    -
    
    -char *ogg_sync_buffer(ogg_sync_state *oy, long size);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct.
    -
    size
    -
    Size of the desired buffer. The actual size of the buffer returned will be this size plus some extra bytes (currently 4096). -
    - - -

    Return Values

    -
    -
  • -Returns a pointer to the newly allocated buffer.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_sync_clear.html b/doc/ogg/ogg_sync_clear.html deleted file mode 100644 index 325e856..0000000 --- a/doc/ogg/ogg_sync_clear.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - ogg_sync_clear - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_sync_clear

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to free the internal storage of an ogg_sync_state struct and resets the struct to the initial state. To free the entire struct, ogg_sync_destroy should be used instead. In situations where the struct needs to be reset but the internal storage does not need to be freed, ogg_sync_reset should be used. - -

    - - - - -
    -
    
    -int ogg_sync_clear(ogg_sync_state *oy);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_sync_destroy.html b/doc/ogg/ogg_sync_destroy.html deleted file mode 100644 index d2f9ae8..0000000 --- a/doc/ogg/ogg_sync_destroy.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - ogg_sync_destroy - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_sync_destroy

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to destroy an ogg_sync_state struct and free all memory used. - -

    - - - - -
    -
    
    -int ogg_sync_destroy(ogg_sync_state *oy);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_sync_init.html b/doc/ogg/ogg_sync_init.html deleted file mode 100644 index f42c81d..0000000 --- a/doc/ogg/ogg_sync_init.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - ogg_sync_init - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_sync_init

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to initialize an ogg_sync_state struct to a known initial value in preparation for manipulation of an Ogg bitstream. -

    The ogg_sync struct is important when decoding, as it synchronizes retrieval and return of data. - -

    - - - - -
    -
    
    -int ogg_sync_init(ogg_sync_state *oy);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct. After this function call, this struct has been initialized.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_sync_pageout.html b/doc/ogg/ogg_sync_pageout.html deleted file mode 100644 index 4fcdb17..0000000 --- a/doc/ogg/ogg_sync_pageout.html +++ /dev/null @@ -1,79 +0,0 @@ - - - -libogg - function - ogg_sync_pageout - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_sync_pageout

    - -

    declared in "ogg/ogg.h";

    - -

    This function takes the data stored in the buffer of the ogg_sync_state struct and inserts them into an ogg_page. - -

    In an actual decoding loop, this function should be called first to ensure that the buffer is cleared. The example code below illustrates a clean reading loop which will fill and output pages. -

    Caution:This function should be called before reading into the buffer to ensure that data does not remain in the ogg_sync_state struct. Failing to do so may result in a memory leak. See the example code below for details. - -

    - - - - -
    -
    
    -int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct. Normally, the internal storage of this struct should be filled with newly read data and verified using ogg_sync_wrote.
    -
    og
    -
    Pointer to page struct filled by this function. -
    - - -

    Return Values

    -
    -
  • -1 if we were not properly synced and had to skip some bytes.
  • -
  • -0 if we need more data to verify a page.
  • -
  • -1 if we have a page.
  • -
    -

    - -

    Example Usage

    -
    -if (ogg_sync_pageout(&oy, &og) != 1) {
    -	buffer = ogg_sync_buffer(&oy, 8192);
    -	bytes = fread(buffer, 1, 8192, stdin);
    -	ogg_sync_wrote(&oy, bytes);
    -}
    -
    - -

    -
    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_sync_pageseek.html b/doc/ogg/ogg_sync_pageseek.html deleted file mode 100644 index 7371b82..0000000 --- a/doc/ogg/ogg_sync_pageseek.html +++ /dev/null @@ -1,68 +0,0 @@ - - - -libogg - function - ogg_sync_pageseek - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_sync_pageseek

    - -

    declared in "ogg/ogg.h";

    - -

    This function synchronizes the ogg_sync_state struct to the next ogg_page. -

    This is useful when seeking within a bitstream. ogg_sync_pageseek will synchronize to the next page in the bitstream and return information about how many bytes we advanced or skipped in order to do so. - -

    - - - - -
    -
    
    -int ogg_sync_pageseek(ogg_sync_state *oy, ogg_page *og);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct.
    -
    og
    -
    Pointer to a page (or an incomplete page) of data. This is the page we are attempting to sync. -
    - - -

    Return Values

    -
    -
  • -n means that we skipped n bytes within the bitstream.
  • -
  • -0 means that the page isn't ready and we need more data. No bytes have been skipped.
  • -
  • -n means that the page was synced at the current location, with a page length of n bytes. -
  • -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_sync_reset.html b/doc/ogg/ogg_sync_reset.html deleted file mode 100644 index d27efbd..0000000 --- a/doc/ogg/ogg_sync_reset.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - ogg_sync_reset - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_sync_reset

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to reset the internal counters of the ogg_sync_state struct to initial values. -

    It is a good idea to call this before seeking within a bitstream. - -

    - - - - -
    -
    
    -int ogg_sync_reset(ogg_sync_state *oy);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/ogg_sync_state.html b/doc/ogg/ogg_sync_state.html deleted file mode 100644 index 15a7e3c..0000000 --- a/doc/ogg/ogg_sync_state.html +++ /dev/null @@ -1,67 +0,0 @@ - - - -libogg - datatype - ogg_sync_state - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_sync_state

    - -

    declared in "ogg/ogg.h"

    - -

    -The ogg_sync_state struct tracks the synchronization of the current page. -

    It is used during decoding to track the status of data as it is read in and -

    - - - - - -
    -
    
    -typedef struct {
    -  unsigned char *data;
    -  int storage;
    -  int fill;
    -  int returned;
    -
    -  int unsynced;
    -  int headerbytes;
    -  int bodybytes;
    -} ogg_sync_state;
    -
    -
    - -

    Relevant Struct Members

    -
    -
    data
    -
    Pointer to data from packet bodies.
    -
    storage
    -
    Pointer to data from packet bodies.
    -
    - - -

    -
    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - diff --git a/doc/ogg/ogg_sync_wrote.html b/doc/ogg/ogg_sync_wrote.html deleted file mode 100644 index 06318ab..0000000 --- a/doc/ogg/ogg_sync_wrote.html +++ /dev/null @@ -1,73 +0,0 @@ - - - -libogg - function - ogg_sync_wrote - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    ogg_sync_wrote

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to tell the ogg_sync_state struct how many bytes we wrote into the buffer. - -

    -The general proceedure is to request a pointer into an internal -ogg_sync_state buffer by calling -ogg_sync_buffer(). 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.

    - -
    - - - - -
    -
    
    -int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct.
    -
    bytes
    -
    Number of bytes of new data written.
    -
    - - -

    Return Values

    -
    -
  • -1 if the number of bytes written overflows the internal storage of the ogg_sync_state struct. -
  • -0 in all other cases.
  • -
    - - -

    -
    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_adv.html b/doc/ogg/oggpack_adv.html deleted file mode 100644 index 66140ec..0000000 --- a/doc/ogg/oggpack_adv.html +++ /dev/null @@ -1,64 +0,0 @@ - - - -libogg - function - oggpack_adv - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_adv

    - -

    declared in "ogg/ogg.h";

    - -

    This function advances the location pointer by the specified number of bits without reading any data. - -

    - - - - -
    -
    
    -void  oggpack_adv(oggpack_buffer *b,int bits);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to the current oggpack_buffer.
    -
    bits
    -
    Number of bits to advance.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20020719

    - - - - - diff --git a/doc/ogg/oggpack_adv1.html b/doc/ogg/oggpack_adv1.html deleted file mode 100644 index d02ae43..0000000 --- a/doc/ogg/oggpack_adv1.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_adv1 - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_adv1

    - -

    declared in "ogg/ogg.h";

    - -

    This function advances the location pointer by one bit without reading any data. - -

    - - - - -
    -
    
    -void  oggpack_adv1(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to the current oggpack_buffer.
    -
    - - -

    Return Values

    -
    -
  • No values are returned. -
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_bits.html b/doc/ogg/oggpack_bits.html deleted file mode 100644 index b1bdc39..0000000 --- a/doc/ogg/oggpack_bits.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_bits - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_bits

    - -

    declared in "ogg/ogg.h";

    - -

    This function returns the total number of bits currently in the oggpack_buffer's internal buffer. - -

    - - - - -
    -
    
    -long oggpack_bits(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    oggpack_buffer struct to be .
    -
    - - -

    Return Values

    -
    -
  • -n is the total number of bits within the current buffer.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_buffer.html b/doc/ogg/oggpack_buffer.html deleted file mode 100644 index 42f21ec..0000000 --- a/doc/ogg/oggpack_buffer.html +++ /dev/null @@ -1,66 +0,0 @@ - - - -libogg - datatype - oggpack_buffer - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_buffer

    - -

    declared in "ogg/ogg.h"

    - -

    -The oggpack_buffer struct is used with libogg's bitpacking functions. You should never need to directly access anything in this structure. -

    - - - - - -
    -
    
    -typedef struct {
    -  long endbyte;
    -  int  endbit;
    -
    -  unsigned char *buffer;
    -  unsigned char *ptr;
    -  long storage;
    -} oggpack_buffer;
    -
    -
    - -

    Relevant Struct Members

    -
    -
    buffer
    -
    Pointer to data being manipulated.
    -
    ptr
    -
    Location pointer to mark which data has been read.
    -
    storage
    -
    Size of buffer. -
    - - -

    -
    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - diff --git a/doc/ogg/oggpack_bytes.html b/doc/ogg/oggpack_bytes.html deleted file mode 100644 index 5e0382d..0000000 --- a/doc/ogg/oggpack_bytes.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_bytes - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20020719

    - -

    oggpack_bytes

    - -

    declared in "ogg/ogg.h";

    - -

    This function returns the total number of bytes currently in the oggpack_buffer's internal buffer. -

    The return value is the number of complete bytes in the buffer. There may be extra (<8) bits. -

    - - - - -
    -
    
    -long oggpack_bytes(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    oggpack_buffer struct to be checked.
    -
    - - -

    Return Values

    -
    -
  • -n is the total number of bytes within the current buffer.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20020719

    - - - - - diff --git a/doc/ogg/oggpack_get_buffer.html b/doc/ogg/oggpack_get_buffer.html deleted file mode 100644 index 9d2c143..0000000 --- a/doc/ogg/oggpack_get_buffer.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_get_buffer - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_get_buffer

    - -

    declared in "ogg/ogg.h";

    - -

    This function returns a pointer to the data buffer within the given oggpack_buffer struct. - -

    - - - - -
    -
    
    -unsigned char *oggpack_get_buffer(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to the current oggpack_buffer.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_look.html b/doc/ogg/oggpack_look.html deleted file mode 100644 index 3386d0b..0000000 --- a/doc/ogg/oggpack_look.html +++ /dev/null @@ -1,66 +0,0 @@ - - - -libogg - function - oggpack_look - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_look

    - -

    declared in "ogg/ogg.h";

    - -

    This function looks at a specified number of bits inside the buffer without advancing the location pointer. -

    The specified number of bits are read, starting from the location pointer. -

    This function can be used to read 32 or fewer bits. - -

    - - - - -
    -
    
    -long  oggpack_look(oggpack_buffer *b,int bits);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to oggpack_buffer to be read.
    -
    bits
    -
    Number of bits to look at. For this function, must be 32 or fewer.
    -
    - - -

    Return Values

    -
    -
  • -n represents the requested bits.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_look1.html b/doc/ogg/oggpack_look1.html deleted file mode 100644 index 4b9cfe7..0000000 --- a/doc/ogg/oggpack_look1.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - oggpack_look1 - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_look1

    - -

    declared in "ogg/ogg.h";

    - -

    This function looks at the next bit without advancing the location pointer. -

    The next bit is read starting from the location pointer. - -

    - - - - -
    -
    
    -long  oggpack_look1(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to an oggpack_buffer struct containing our buffer.
    -
    - - -

    Return Values

    -
    -
  • -n represents the value of the next bit after the location pointer.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_read.html b/doc/ogg/oggpack_read.html deleted file mode 100644 index faf3eb7..0000000 --- a/doc/ogg/oggpack_read.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - oggpack_read - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_read

    - -

    declared in "ogg/ogg.h";

    - -

    This function reads the requested number of bits from the buffer and advances the location pointer. -

    Before reading, the buffer should be initialized using oggpack_readinit. - -

    - - - - -
    -
    
    -long oggpack_read(oggpack_buffer *b,int bits);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to an oggpack_buffer struct containing buffered data to be read.
    -
    bits
    -
    Number of bits to read.
    -
    - - -

    Return Values

    -
    -
  • -n represents the requested bits.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_read1.html b/doc/ogg/oggpack_read1.html deleted file mode 100644 index e697a60..0000000 --- a/doc/ogg/oggpack_read1.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - oggpack_read1 - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_read1

    - -

    declared in "ogg/ogg.h";

    - -

    This function reads one bit from the oggpack_buffer data buffer and advances the location pointer. -

    Before reading, the buffer should be initialized using oggpack_readinit. - -

    - - - - -
    -
    
    -long  oggpack_read1(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to an oggpack_buffer struct containing buffered data to be read.
    -
    - - -

    Return Values

    -
    -
  • -n is the bit read by this function.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_readinit.html b/doc/ogg/oggpack_readinit.html deleted file mode 100644 index 6d537a3..0000000 --- a/doc/ogg/oggpack_readinit.html +++ /dev/null @@ -1,64 +0,0 @@ - - - -libogg - function - oggpack_readinit - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_readinit

    - -

    declared in "ogg/ogg.h";

    - -

    This function takes an ordinary buffer and prepares an oggpack_buffer for reading using the Ogg bitpacking functions. - -

    - - - - -
    -
    
    -void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to oggpack_buffer to be initialized with some extra markers to ease bit navigation and manipulation.
    -
    buf
    -
    Original data buffer, to be inserted into the oggpack_buffer so that it can be read using bitpacking functions. -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_reset.html b/doc/ogg/oggpack_reset.html deleted file mode 100644 index 9002310..0000000 --- a/doc/ogg/oggpack_reset.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_reset - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_reset

    - -

    declared in "ogg/ogg.h";

    - -

    This function resets the contents of an oggpack_buffer to their original state but does not free the memory used. - -

    - - - - -
    -
    
    -void  oggpack_reset(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    oggpack_buffer to be reset.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_write.html b/doc/ogg/oggpack_write.html deleted file mode 100644 index 33d8788..0000000 --- a/doc/ogg/oggpack_write.html +++ /dev/null @@ -1,68 +0,0 @@ - - - -libogg - function - oggpack_write - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_write

    - -

    declared in "ogg/ogg.h";

    - -

    This function writes bits into an oggpack_buffer. -

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit. -

    Only 32 bits can be written at a time. - -

    - - - - -
    -
    
    -void  oggpack_write(oggpack_buffer *b,unsigned long value,int bits);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Buffer to be used for writing.
    -
    value
    -
    The data to be written into the buffer. This must be 32 bits or fewer.
    -
    bits
    -
    The number of bits being written into the buffer.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_writealign.html b/doc/ogg/oggpack_writealign.html deleted file mode 100644 index 0137e61..0000000 --- a/doc/ogg/oggpack_writealign.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - oggpack_writealign - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20020719

    - -

    oggpack_writealign

    - -

    declared in "ogg/ogg.h";

    - -

    This function pads the oggpack_buffer with zeros out to the -next byte boundary.

    -

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit. -

    Only 32 bits can be written at a time.

    - -

    - - - - -
    -
    
    -void  oggpack_writetrunc(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Buffer to be used for writing.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20020719

    - - - - - diff --git a/doc/ogg/oggpack_writeclear.html b/doc/ogg/oggpack_writeclear.html deleted file mode 100644 index a554eed..0000000 --- a/doc/ogg/oggpack_writeclear.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_reset - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_writeclear

    - -

    declared in "ogg/ogg.h";

    - -

    This function clears the buffer after writing and frees the memory used by the oggpack_buffer. - -

    - - - - -
    -
    
    -void oggpack_writeclear(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Our oggpack_buffer. This is an ordinary data buffer with some extra markers to ease bit navigation and manipulation.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_writecopy.html b/doc/ogg/oggpack_writecopy.html deleted file mode 100644 index 18f599a..0000000 --- a/doc/ogg/oggpack_writecopy.html +++ /dev/null @@ -1,69 +0,0 @@ - - - -libogg - function - oggpack_writecopy - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20020719

    - -

    oggpack_writecopy

    - -

    declared in "ogg/ogg.h";

    - -

    This function copies a sequence of bits from a source buffer into an -oggpack_buffer.

    -

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit.

    -

    Only 32 bits can be written at a time.

    - -

    - - - - -
    -
    
    -void  oggpack_writecopy(oggpack_buffer *b, void *source, long bits);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Buffer to be used for writing.
    -
    source
    -
    A pointer to the data to be written into the buffer.
    -
    bits
    -
    The number of bits to be copied into the buffer.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20020719

    - - - - - diff --git a/doc/ogg/oggpack_writeinit.html b/doc/ogg/oggpack_writeinit.html deleted file mode 100644 index 1da1f17..0000000 --- a/doc/ogg/oggpack_writeinit.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_writeinit - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    oggpack_writeinit

    - -

    declared in "ogg/ogg.h";

    - -

    This function initializes an oggpack_buffer for writing using the Ogg bitpacking functions. - -

    - - - - -
    -
    
    -void  oggpack_writeinit(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Buffer to be used for writing. This is an ordinary data buffer with some extra markers to ease bit navigation and manipulation.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - - diff --git a/doc/ogg/oggpack_writetrunc.html b/doc/ogg/oggpack_writetrunc.html deleted file mode 100644 index 7e8750c..0000000 --- a/doc/ogg/oggpack_writetrunc.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - oggpack_writetrunc - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20020719

    - -

    oggpack_write

    - -

    declared in "ogg/ogg.h";

    - -

    This function truncates an already written-to oggpack_buffer.

    -

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit.

    - -

    - - - - -
    -
    
    -void  oggpack_writetrunc(oggpack_buffer *b, long bits);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Buffer to be truncated.
    -
    bits
    -
    Number of bits to keep in the buffer (size after truncation)
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20020719

    - - - - - diff --git a/doc/ogg/overview.html b/doc/ogg/overview.html deleted file mode 100644 index f21cf4b..0000000 --- a/doc/ogg/overview.html +++ /dev/null @@ -1,44 +0,0 @@ - - - -libogg - API Overview - - - - - - - - - -

    libogg documentation

    libogg release 1.0 - 20000615

    - -

    Libogg API Overview

    - -

    -The libogg API consists of the following functional categories: -

    -

    - -

    -
    - - - - - - - - -

    copyright © 2000 xiph.org

    Ogg Vorbis
    team@xiph.org

    libogg documentation

    libogg release 1.0 - 20000615

    - - - - diff --git a/doc/ogg/reference.html b/doc/ogg/reference.html deleted file mode 100644 index eddb2af..0000000 --- a/doc/ogg/reference.html +++ /dev/null @@ -1,93 +0,0 @@ - - - -Libogg API Reference - - - - - - - - - -

    libogg documentation

    libogg - 20020719

    - -

    Libogg API Reference

    - -

    -Data Structures
    -oggpack_buffer
    -ogg_page
    -ogg_stream_state
    -ogg_packet
    -ogg_sync_state
    -
    -Bitpacking
    -oggpack_writeinit()
    -oggpack_reset()
    -oggpack_writetrunc()
    -oggpack_writealign()
    -oggpack_writecopy()
    -oggpack_writeclear()
    -oggpack_readinit()
    -oggpack_write()
    -oggpack_look()
    -oggpack_look1()
    -oggpack_adv()
    -oggpack_adv1()
    -oggpack_read()
    -oggpack_read1()
    -oggpack_bytes()
    -oggpack_bits()
    -oggpack_get_buffer()
    -
    -Decoding-Related
    -ogg_sync_init()
    -ogg_sync_clear()
    -ogg_sync_destroy()
    -ogg_sync_reset()
    -ogg_sync_buffer()
    -ogg_sync_wrote()
    -ogg_sync_pageseek()
    -ogg_sync_pageout()
    -ogg_stream_pagein()
    -ogg_stream_packetout()
    -ogg_stream_packetpeek()
    -
    -Encoding-Related
    -ogg_stream_packetin()
    -ogg_stream_pageout()
    -ogg_stream_flush()
    -
    -General
    -ogg_stream_init()
    -ogg_stream_clear()
    -ogg_stream_reset()
    -ogg_stream_reset_serialno()
    -ogg_stream_destroy()
    -ogg_page_version()
    -ogg_page_continued()
    -ogg_page_packets()
    -ogg_page_bos()
    -ogg_page_eos()
    -ogg_page_granulepos()
    -ogg_page_serialno()
    -ogg_page_pageno()
    -ogg_packet_clear()
    -ogg_page_checksum_set()
    -

    -


    - - - - - - - - -

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis
    team@vorbis.org

    libogg documentation

    libogg - 20020719

    - - - - diff --git a/doc/ogg/style.css b/doc/ogg/style.css deleted file mode 100644 index 81cf417..0000000 --- a/doc/ogg/style.css +++ /dev/null @@ -1,7 +0,0 @@ -BODY { font-family: Helvetica, sans-serif } -TD { font-family: Helvetica, sans-serif } -P { font-family: Helvetica, sans-serif } -H1 { font-family: Helvetica, sans-serif } -H2 { font-family: Helvetica, sans-serif } -H4 { font-family: Helvetica, sans-serif } -P.tiny { font-size: 8pt } diff --git a/doc/ogg/vorbis_comment.html b/doc/ogg/vorbis_comment.html deleted file mode 100644 index a7b076b..0000000 --- a/doc/ogg/vorbis_comment.html +++ /dev/null @@ -1,70 +0,0 @@ - - - -Vorbisfile - datatype - vorbis_comment - - - - - - - - - -

    Vorbisfile documentation

    libVorbisfile version 1.65 - 20020702

    - -

    vorbis_comment

    - -

    declared in "vorbis/codec.h"

    - -

    -The vorbis_comment structure defines an Ogg Vorbis comment. -

    -Only the fields the program needs must be defined. If a field isn't -defined by the application, it will either be blank (if it's a string value) -or set to some reasonable default (usually 0). -

    - - - - - -
    -
    typedef struct vorbis_comment{
    -  /* unlimited user comment fields. */
    -  char **user_comments;
    -  int  *comment_lengths;
    -  int   comments;
    -  char *vendor;
    -
    -} vorbis_comment;
    -
    - -

    Parameters

    -
    -
    user_comments
    -
    Unlimited user comment array. The individual strings in the array are 8 bit clean, by the Vorbis specification, and as such the comment_lengths array should be consulted to determine string length. For convenience, each string is also NULL-terminated by the decode library (although Vorbis comments are not NULL terminated within the bitstream itself).
    -
    comment_lengths
    -
    An array that stores the length of each comment string
    -
    comments
    -
    number of user comments in user_comments field.
    -
    vendor
    -
    Information about the creator of the file. Stored in a standard C 0-terminated string.
    -
    - - -

    -
    - - - - - - - - -

    copyright © 2002 Xiph.org Foundation

    Ogg Vorbis

    Vorbisfile documentation

    libVorbisfile version 1.65 - 20020719

    - - - - diff --git a/doc/ogg/vorbis_info.html b/doc/ogg/vorbis_info.html deleted file mode 100644 index 893e453..0000000 --- a/doc/ogg/vorbis_info.html +++ /dev/null @@ -1,80 +0,0 @@ - - - -Vorbisfile - datatype - vorbis_info - - - - - - - - - -

    Vorbisfile documentation

    libVorbisfile version 1.65 - 20020702

    - -

    vorbis_info

    - -

    declared in "vorbis/codec.h"

    - -

    -The vorbis_info structure contains basic information about the audio in a vorbis bitstream. -

    - - - - - -
    -
    typedef struct vorbis_info{
    -  int version;
    -  int channels;
    -  long rate;
    -  
    -  long bitrate_upper;
    -  long bitrate_nominal;
    -  long bitrate_lower;
    -  long bitrate_window;
    -
    -  void *codec_setup;
    -
    -} vorbis_info;
    -
    - -

    Relevant Struct Members

    -
    -
    version
    -
    Vorbis encoder version used to create this bitstream.
    -
    channels
    -
    Int signifying number of channels in bitstream.
    -
    rate
    -
    Sampling rate of the bitstream.
    -
    bitrate_upper
    -
    Specifies the upper limit in a VBR bitstream. If the value matches the bitrate_nominal and bitrate_lower parameters, the stream is fixed bitrate. May be unset if no limit exists.
    -
    bitrate_nominal
    -
    Specifies the average bitrate for a VBR bitstream. May be unset. If the bitrate_upper and bitrate_lower parameters match, the stream is fixed bitrate.
    -
    bitrate_lower
    -
    Specifies the lower limit in a VBR bitstream. If the value matches the bitrate_nominal and bitrate_upper parameters, the stream is fixed bitrate. May be unset if no limit exists.
    -
    bitrate_window
    -
    Currently unset.
    - -
    codec_setup
    -
    Internal structure that contains the detailed/unpacked configuration for decoding the current Vorbis bitstream.
    -
    - - -

    -
    - - - - - - - - -

    copyright © 2002 Xiph.org

    Ogg Vorbis

    Vorbisfile documentation

    libVorbisfile version 1.65 - 20020702

    - - - - -- cgit v1.2.3 From 9c524d53c8a3c0a411f5f0f7b1627bbde6baf1d1 Mon Sep 17 00:00:00 2001 From: nehal Date: Mon, 5 Sep 2005 00:14:31 +0000 Subject: cleanup docs svn path=/trunk/ogg/; revision=9956 --- doc/fish_xiph_org.png | Bin 0 -> 2536 bytes doc/framing.html | 330 ++++++++++++++++++++++++-------------------- doc/index.html | 94 ++++++++++++- doc/ogg-multiplex.html | 368 +++++++++++++++++++++++++++++-------------------- doc/oggstream.html | 248 +++++++++++++++++++-------------- 5 files changed, 639 insertions(+), 401 deletions(-) create mode 100644 doc/fish_xiph_org.png (limited to 'doc') diff --git a/doc/fish_xiph_org.png b/doc/fish_xiph_org.png new file mode 100644 index 0000000..b398c06 Binary files /dev/null and b/doc/fish_xiph_org.png differ diff --git a/doc/framing.html b/doc/framing.html index 26293dc..191c1fb 100644 --- a/doc/framing.html +++ b/doc/framing.html @@ -1,23 +1,87 @@ -xiph.org: Ogg Vorbis documentation - -

    - -

    -Ogg logical bitstream framing -

    - -Last update to this document: July 14, 2002
    + + + + + +Ogg Documentation + + + + + + + + + +

    Ogg logical bitstream framing

    Ogg bitstreams

    -The Ogg transport bitstream is designed to provide framing, error +

    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. +codec or Tarkin video codec.

    Application example: Vorbis

    -Vorbis encodes short-time blocks of PCM data into raw packets of + +

    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 @@ -25,29 +89,24 @@ 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.

    +boundaries without relying on decoding to find packet boundaries.

    Design constraints for Ogg bitstreams

    -
    1. True streaming; we must not need to seek to build a 100% - complete bitstream. - -
    2. Use no more than approximately 1-2% of bitstream bandwidth for - packet boundary marking, high-level framing, sync and seeking. - -
    3. Specification of absolute position within the original sample - stream. - -
    4. Simple mechanism to ease limited editing, such as a simplified - concatenation mechanism. - -
    5. Detection of corruption, recapture after error and direct, random - access to data at arbitrary positions in the bitstream. +
        +
      1. True streaming; we must not need to seek to build a 100% complete bitstream.
      2. +
      3. Use no more than approximately 1-2% of bitstream bandwidth for packet + boundary marking, high-level framing, sync and seeking.
      4. +
      5. Specification of absolute position within the original sample stream.
      6. +
      7. Simple mechanism to ease limited editing, such as a simplified concatenation + mechanism.
      8. +
      9. Detection of corruption, recapture after error and direct, random + access to data at arbitrary positions in the bitstream.

      Logical and Physical Bitstreams

      -A logical Ogg bitstream is a contiguous stream of +

      A logical Ogg bitstream is a contiguous stream of sequential pages belonging only to the logical bitstream. A physical Ogg bitstream is constructed from one or more than one logical Ogg bitstream (the simplest physical bitstream @@ -57,38 +116,38 @@ bitstreams into more complex physical bitstreams is described in the Ogg bitstream overview. The exact mapping of raw Vorbis packets into a valid Ogg Vorbis physical bitstream is described in Vorbis -bitstream mapping. +bitstream mapping.

      Bitstream structure

      -An Ogg stream is structured by dividing incoming packets into +

      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.

      +header/page size and data integrity.

      -The bitstream is captured (or recaptured) by looking for the beginning +

      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.

      +packets themselves.

      Packet segmentation

      -Packets are logically divided into multiple segments before encoding +

      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.

      +boundaries.

      -The raw packet is logically divided into [n] 255 byte segments and a -last fractional segment of < 255 bytes. A packet size may well +

      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.

      +then saved and placed into the header segment table.

      -An example should make the basic concept clear:

      +

      An example should make the basic concept clear:

       
      @@ -100,21 +159,21 @@ lacing values for page header segment table: 255,255,243
       
       
      -We simply add the lacing values for the total size; the last lacing +

      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 +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.

      +so, see a fairly constant ~.5% overhead on encoding space.

      -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 +

      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:

      +multiple of 255 bytes) is terminated by a lacing value of 0:

      
       raw packet:
      @@ -124,20 +183,20 @@ raw packet:
       lacing values: 255, 0
       
      -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.

      +

      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.

      Packets spanning pages

      -Packets are not restricted to beginning and ending within a page, +

      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).

      +initialization data at the beginning of a logical bitstream).

      -After segmenting a packet, the encoder may decide not to place all the +

      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 @@ -147,9 +206,9 @@ 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).

      +the page body of the subsequent page).

      -The last mechanic to spanning a page boundary is to set the header +

      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 @@ -160,45 +219,45 @@ 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.

      +cannot be trusted.

      -Note that a packet can span an arbitrary number of pages; the above +

      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.

      +the span is a nil case as far as data is concerned.

      -The encoding looks odd, but is properly optimized for speed and the +

      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).

      +in page generation and increased overall encoder complexity).

      -The main point behind tracking individual packets (and packet +

      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.

      +data comes last.

      Page header

      -The headering mechanism is designed to avoid copying and re-assembly +

      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.

      +buffered packet segments.

      capture_pattern

      - 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).

      +

      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).

      
        byte value
      @@ -211,7 +270,7 @@ buffered packet segments.

      stream_structure_version

      - The capture pattern is followed by the stream structure revision: +

      The capture pattern is followed by the stream structure revision:

      
        byte value
      @@ -221,7 +280,7 @@ buffered packet segments.

      header_type_flag

      - The header type flag identifies this page's context in the bitstream: +

      The header type flag identifies this page's context in the bitstream:

      
        byte value
      @@ -236,21 +295,21 @@ buffered packet segments.

      absolute granule position

      - (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. -

      - A special value of '-1' (in two's complement) indicates that no packets - finish on this page. +

      (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.

      + +

      A special value of '-1' (in two's complement) indicates that no packets +finish on this page.

      
        byte value
      @@ -267,13 +326,13 @@ buffered packet segments.

      stream serial number

      - 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: +

      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:

      
        byte value
      @@ -286,8 +345,8 @@ buffered packet segments.

      page sequence no

      - Page counter; lets us know if a page is lost (useful where packets - span page boundaries). +

      Page counter; lets us know if a page is lost (useful where packets +span page boundaries).

      
        byte value
      @@ -300,17 +359,17 @@ buffered packet segments.

      page checksum

      - 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.

      - - (A thorough discussion of CRC algorithms can be found in "A - Painless Guide to CRC Error Detection Algorithms" by Ross - Williams ross@guest.adelaide.edu.au.) +

      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.

      + +

      (A thorough discussion of CRC algorithms can be found in "A +Painless Guide to CRC Error Detection Algorithms" by Ross +Williams ross@guest.adelaide.edu.au.)

      
        byte value
      @@ -323,14 +382,14 @@ buffered packet segments.

      page_segments

      - 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).

      +

      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).

      
        byte value
      @@ -340,8 +399,8 @@ buffered packet segments.

      segment_table (containing packet lacing values)

      - The lacing values for each packet segment physically appearing in - this page are listed in contiguous order. +

      The lacing values for each packet segment physically appearing in +this page are listed in contiguous order.

      
        byte value
      @@ -351,45 +410,22 @@ buffered packet segments.

      n 0x00-0xff (0-255, n=page_segments+26)

      -Total page size is calculated directly from the known header size and +

      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.

      +immediately after the header.

      -Page headers typically impose a flat .25-.5% space overhead assuming +

      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.

      - -


      - - - - - -Ogg is a Xiph.org Foundation 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 About -the Xiph.org Foundation for details. -

      - -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.

      - -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.

      - -Ogg, Vorbis, Xiph.org Foundation and their logos are trademarks (tm) -of the Xiph.org Foundation. These -pages are copyright (C) 1994-2002 Xiph.org Foundation. All rights -reserved.

      +stereo encodings.

      - + + + diff --git a/doc/index.html b/doc/index.html index b7ad768..78050a0 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,4 +1,92 @@ -Ogg logical and physical bitstream overview
      -Ogg logical bitstream framing
      -Ogg multi-stream multiplexing
      + + + + +Ogg Documentation + + + + + + + + + + + + + + + + + diff --git a/doc/ogg-multiplex.html b/doc/ogg-multiplex.html index 046c0cd..1f5dd41 100644 --- a/doc/ogg-multiplex.html +++ b/doc/ogg-multiplex.html @@ -1,162 +1,225 @@ -xiph.org: Ogg documentation - -

      - -

      -Page Multiplexing and Ordering in a Physical Ogg Stream -

      - -Last update to this document: May 17, 2004
      -

      - -The low-level mechanisms of an Ogg stream (as described in the Ogg + + + + + +Ogg Documentation + + + + + + + +

      + +

      Page Multiplexing and Ordering in a Physical Ogg Stream

      + +

      The low-level mechanisms of an Ogg stream (as described in the Ogg Bitstream Overview) provide means for mixing multiple logical streams -and media types into a single linear-chronological stream. This +and media types into a single linear-chronological stream. This document specifies the high-level arrangement and use of page structure to multiplex multiple streams of mixed media type within a -physical Ogg stream. +physical Ogg stream.

      Design Elements

      -The design and arrangement of the Ogg container format is governed by +

      The design and arrangement of the Ogg container format is governed by several high-level design decisions that form the reasoning behind -specific low-level design decisions. +specific low-level design decisions.

      Linear media

      -The Ogg bitstream is intended to encapsulate chronological, -time-linear mixed media into a single delivery stream or file. The +

      The Ogg bitstream is intended to encapsulate chronological, +time-linear mixed media into a single delivery stream or file. The design is such that an application can always encode and/or decode a full-featured bitstream in one pass with no seeking and minimal -buffering. Seeking to provide optimized encoding (such as two-pass +buffering. Seeking to provide optimized encoding (such as two-pass encoding) or interactive decoding (such as scrubbing or instant replay) is not disallowed or discouraged, however no bitstream feature -must require nonlinear operation on the bitstream.

      +must require nonlinear operation on the bitstream.

      Multiplexing

      -Ogg bitstreams multiplex multiple logical streams into a single -physical stream at the page level. Each page contains an abstract +

      Ogg bitstreams multiplex multiple logical streams into a single +physical stream at the page level. Each page contains an abstract time stamp (the Granule Position) that represents an absolute time -landmark within the stream. After the pages representing stream +landmark within the stream. After the pages representing stream headers (all logical stream headers occur at the beginning of a physical bitstream section before any logical stream data), logical stream data pages are arranged in strict, monotonically increasing order of chronological absolute time as specified by the granule -position.

      +position.

      -The only exception to arranging pages in strictly ascending time order +

      The only exception to arranging pages in strictly ascending time order by granule position is those pages that do not set the granule -position value. This is a special case when exceptionally large +position value. This is a special case when exceptionally large packets span multiple pages; the specifics of handling this special case are described later under 'Continuous and Discontinuous -Streams'.

      +Streams'.

      Seeking

      -Ogg is designed to use a bisection search to implement exact +

      Ogg is designed to use a bisection search to implement exact positional seeking rather than building an index; an index requires two-pass encoding and as such is not acceptable given the requirement -for full-featured linear encoding.

      +for full-featured linear encoding.

      -Even making an index optional then requires an +

      Even making an index optional then requires an application to support multiple methods (bisection search for a one-pass stream, indexing for a two-pass stream), which adds no additional functionality as bisection search delivers the same -functionality for both stream types.

      +functionality for both stream types.

      -Seek operations are by absolute time; a direct bisection search must -find the exact time position requested. Information in the Ogg +

      Seek operations are by absolute time; a direct bisection search must +find the exact time position requested. Information in the Ogg bitstream is arranged such that all information to be presented for playback from the desired seek point will occur at or after the -desired seek point. Seek operations are neither 'fuzzy' nor -heuristic.

      +desired seek point. Seek operations are neither 'fuzzy' nor +heuristic.

      -Although key frame handling in video appears to be an exception to +

      Although key frame handling in video appears to be an exception to "all needed playback information lies ahead of a given seek", key frames can still be handled directly within this indexless framework. Seeking to a key frame in video (as well as seeking in other media types with analogous restraints) is handled as two seeks; first a seek to the desired time which extracts state information that decodes to the time of the last key frame, followed by a second seek -directly to the key frame. The location of the previous key frame is +directly to the key frame. The location of the previous key frame is embedded as state information in the granulepos; this mechanism is -described in more detail later. +described in more detail later.

      Continuous and Discontinuous Streams

      -Logical streams within a physical Ogg stream belong to one of two +

      Logical streams within a physical Ogg stream belong to one of two categories, "Continuous" streams and "Discontinuous" streams. Although these are discussed in more detail later, the distinction is important to a high-level understanding of how to buffer an Ogg -stream.

      +stream.

      -A stream that provides a gapless, time-continuous media type with a -fine-grained timebase is considered to be 'Continuous'. A continuous -stream should never be starved of data. Clear examples of continuous -data types include broadcast audio and video.

      +

      A stream that provides a gapless, time-continuous media type with a +fine-grained timebase is considered to be 'Continuous'. A continuous +stream should never be starved of data. Clear examples of continuous +data types include broadcast audio and video.

      -A stream that delivers data in a potentially irregular pattern or with -widely spaced timing gaps is considered to be 'Discontinuous'. A +

      A stream that delivers data in a potentially irregular pattern or with +widely spaced timing gaps is considered to be 'Discontinuous'. A discontinuous stream may be best thought of as data representing scattered events; although they happen in order, they are typically unconnected data often located far apart. One possible example of a -discontinuous stream types would be captioning. Although it's +discontinuous stream types would be captioning. Although it's possible to design captions as a continuous stream type, it's most natural to think of captions as widely spaced pieces of text with -little happening between.

      +little happening between.

      -The fundamental design distinction between continuous and -discontinuous streams concerns buffering.

      +

      The fundamental design distinction between continuous and +discontinuous streams concerns buffering.

      Buffering

      -Because a continuous stream is, by definition, gapless, Ogg buffering +

      Because a continuous stream is, by definition, gapless, Ogg buffering is based on the simple premise of never allowing any active continuous stream to starve for data during decode; buffering proceeds ahead until all continuous streams in a physical stream have data ready to -decode on demand.

      +decode on demand.

      -Discontinuous stream data may occur on a fairly regular basis, but the +

      Discontinuous stream data may occur on a fairly regular basis, but the timing of, for example, a specific caption is impossible to predict with certainty in most captioning systems. Thus the buffering system should take discontinuous data 'as it comes' rather than working ahead (for a potentially unbounded period) to look for future discontinuous -data. As such, discontinuous streams are ignored when managing +data. As such, discontinuous streams are ignored when managing buffering; their pages simply 'fall out' of the stream when continuous -streams are handled properly.

      +streams are handled properly.

      -Buffering requirements need not be explicitly declared or managed for +

      Buffering requirements need not be explicitly declared or managed for the encoded stream; the decoder simply reads as much data as is necessary to keep all continuous stream types gapless (also ensuring discontinuous data arrives in time) and no more, resulting in optimum -implicit buffer usage for a given stream. Because all pages of all +implicit buffer usage for a given stream. Because all pages of all data types are stamped with absolute timing information within the stream, inter-stream synchronization timing is always explicitly maintained without the need for explicitly declared buffer-ahead -hinting.

      +hinting.

      -Further details, mechanisms and reasons for the differing arrangement +

      Further details, mechanisms and reasons for the differing arrangement and behavior of continuous and discontinuous streams is discussed -later.

      +later.

      Whole-stream navigation

      -Ogg is designed so that the simplest navigation operations treat the +

      Ogg is designed so that the simplest navigation operations treat the physical Ogg stream as a whole summary of its streams, rather than -navigating each interleaved stream as a separate entity.

      +navigating each interleaved stream as a separate entity.

      -First Example: seeking to a desired time position in a multiplexed (or +

      First Example: seeking to a desired time position in a multiplexed (or unmultiplexed) Ogg stream can be accomplished through a bisection search on time position of all pages in the stream (as encoded in the granule position). More powerful searches (such as a key frame-aware seek within video) are also possible with additional search -complexity, but similar computational complexity.

      +complexity, but similar computational complexity.

      -Second Example: A bitstream section may consist of three multiplexed -streams of differing lengths. The result of multiplexing these +

      Second Example: A bitstream section may consist of three multiplexed +streams of differing lengths. The result of multiplexing these streams should be thought of as a single mixed stream with a length -equal to the longest of the three component streams. Although it is +equal to the longest of the three component streams. Although it is also possible to think of the multiplexed results as three concurrent streams of different lengths and it is possible to recover the three original streams, it will also become obvious that once multiplexed, @@ -164,21 +227,22 @@ it isn't possible to find the internal lengths of the component streams without a linear search of the whole bitstream section. However, it is possible to find the length of the whole bitstream section easily (in near-constant time per section) just as it is for a -single-media unmultiplexed stream.

      +single-media unmultiplexed stream.

      Granule Position

      Description

      -The Granule Position is a signed 64 bit field appearing in the header -of every Ogg page. Although the granule position represents absolute +

      The Granule Position is a signed 64 bit field appearing in the header +of every Ogg page. Although the granule position represents absolute time within a logical stream, its value does not necessarily directly -encode a simple timestamp. It may represent frames elapsed (as in +encode a simple timestamp. It may represent frames elapsed (as in Vorbis), a simple timestamp, or a more complex bit-division encoding -(such as in Theora). The exact encoding of the granule position is up -to a specific codec.

      +(such as in Theora). The exact encoding of the granule position is up +to a specific codec.

      + +

      The granule position is governed by the following rules:

      -The granule position is governed by the following rules:
      • Granule Position must always increase forward or remain equal from @@ -187,183 +251,195 @@ time to which any correct sequence of granule position maps must similarly always increase forward or remain equal. (A codec may make use of data, such as a control sequence, that only affects codec working state without producing data and thus advancing granule -position and time. Although the packet sequence number increases in +position and time. Although the packet sequence number increases in this case, the granule position, and thus the time position, do -not.)
        +not.)
      • Granule position may only be unset if there no packet defining a time boundary on the page (that is, if no packet in a continuous stream ends on the page, or no packet in a discontinuous stream begins -on the page. This will be discussed in more detail under Continuous -and Discontinuous streams).
        +on the page. This will be discussed in more detail under Continuous +and Discontinuous streams).
      • A codec must be able to translate a given granule position value to a unique, deterministic absolute time value through direct -calculation. A codec is not required to be able to translate an -absolute time value into a unique granule position value.
        +calculation. A codec is not required to be able to translate an +absolute time value into a unique granule position value.
      • Codecs shall choose a granule position definition that allows that codec means to seek as directly as possible to an immediately decodable point, such as the bit-divided granule position encoding of Theora allows the codec to seek efficiently to key frame without using -an index. That is, additional information other than absolute time +an index. That is, additional information other than absolute time may be encoded into a granule position value so long as the granule -position obeys the above points. +position obeys the above points.
      • +

      Example: timestamp

      -In general, a codec/stream type should choose the simplest granule -position encoding that addresses its requirements. The examples here -are by no means exhaustive of the possibilities within Ogg.

      +

      In general, a codec/stream type should choose the simplest granule +position encoding that addresses its requirements. The examples here +are by no means exhaustive of the possibilities within Ogg.

      -A simple granule position could encode a timestamp directly. For +

      A simple granule position could encode a timestamp directly. For example, a granule position that encoded milliseconds from beginning of stream would allow a logical stream length of over 100,000,000,000 days before beginning a new logical stream (to avoid the granule -position wrapping).

      +position wrapping).

      Example: framestamp

      -A simple millisecond timestamp granule encoding might suit many stream +

      A simple millisecond timestamp granule encoding might suit many stream types, but a millisecond resolution is inappropriate to, eg, most audio encodings where exact single-sample resolution is generally a -requirement. A millisecond is both too large a granule and often does -not represent an integer number of samples.

      +requirement. A millisecond is both too large a granule and often does +not represent an integer number of samples.

      -In the event that audio frames are always encoded as the same number of +

      In the event that audio frames are always encoded as the same number of samples, the granule position could simply be a linear count of frames since beginning of stream. This has the advantages of being exact and -efficient. Position in time would simply be [granule_position] * -[samples_per_frame] / [samples_per_second]. +efficient. Position in time would simply be [granule_position] * +[samples_per_frame] / [samples_per_second].

      Example: samplestamp (Vorbis)

      -Frame counting is insufficient in codecs such as Vorbis where an audio -frame [packet] encodes a variable number of samples. In Vorbis's +

      Frame counting is insufficient in codecs such as Vorbis where an audio +frame [packet] encodes a variable number of samples. In Vorbis's case, the granule position is a count of the number of raw samples from the beginning of stream; the absolute time of a granule position is [granule_position] / -[samples_per_second]. +[samples_per_second].

      Example: bit-divided framestamp (Theora)

      -Some video codecs may be able to use the simple framestamp scheme for -granule position. However, most modern video codecs introduce at -least the following complications:

      +

      Some video codecs may be able to use the simple framestamp scheme for +granule position. However, most modern video codecs introduce at +least the following complications:

      +
      • video frames are relatively far apart compared to audio samples; for this reason, the point at which a video frame changes to the next frame is usually a strictly defined offset within the frame 'period'. That is, video at 50fps could just as easily define frame transitions -<.015, .035, .055...> as at <.00, .02, .04...>. +<.015, .035, .055...> as at <.00, .02, .04...>.
      • frame rates often include drop-frames, leap-frames or other -rational-but-non-integer timings. +rational-but-non-integer timings.
      • + +
      • Decode must begin at a 'key frame' or 'I frame'. Keyframes usually +occur relatively seldom.
      • -
      • Decode must begin at a 'key frame' or 'I frame'. Keyframes usually -occur relatively seldom.
      -The first two points can be handled straightforwardly via the fact +

      The first two points can be handled straightforwardly via the fact that the codec has complete control mapping granule position to absolute time; non-integer frame rates and offsets can be set in the -codec's initial header, and the rest is just arithmetic.

      +codec's initial header, and the rest is just arithmetic.

      -The third point appears trickier at first glance, but it too can be -handled through the granule position mapping mechanism. Here we +

      The third point appears trickier at first glance, but it too can be +handled through the granule position mapping mechanism. Here we arrange the granule position in such a way that granule positions of -key frames are easy to find. Divide the granule position into two +key frames are easy to find. Divide the granule position into two fields; the most-significant bits are an absolute frame counter, but -it's only updated at each key frame. The least significant bits encode -the number of frames since the last key frame. In this way, each +it's only updated at each key frame. The least significant bits encode +the number of frames since the last key frame. In this way, each granule position both encodes the absolute time of the current frame -as well as the absolute time of the last key frame.

      +as well as the absolute time of the last key frame.

      -Seeking to a most recent preceding key frame is then accomplished by +

      Seeking to a most recent preceding key frame is then accomplished by first seeking to the original desired point, inspecting the granulepos of the resulting video page, extracting from that granulepos the absolute time of the desired key frame, and then seeking directly to -that key frame's page. Of course, it's still possible for an +that key frame's page. Of course, it's still possible for an application to ignore key frames and use a simpler seeking algorithm (decode would be unable to present decoded video until the next -key frame). Surprisingly many player applications do choose the -simpler approach.

      +key frame). Surprisingly many player applications do choose the +simpler approach.

      granule position, packets and pages

      -Although each packet of data in a logical stream theoretically has a +

      Although each packet of data in a logical stream theoretically has a specific granule position, only one granule position is encoded -per page. It is possible to encode a logical stream such that each +per page. It is possible to encode a logical stream such that each page contains only a single packet (so that granule positions are preserved for each packet), however a one-to-one packet/page mapping -is not intended to be the general case.

      +is not intended to be the general case.

      -Because Ogg functions at the page, not packet, level, this +

      Because Ogg functions at the page, not packet, level, this once-per-page time information provides Ogg with the finest-grained -time information is can use. Ogg passes this granule positioning data +time information is can use. Ogg passes this granule positioning data to the codec (along with the packets extracted from a page); it is the responsibility of codecs to track timing information at granularities -finer than a single page.

      +finer than a single page.

      start-time and end-time positioning

      -A granule position represents the instantaneous time location -between two pages. However, continuous streams and discontinuous +

      A granule position represents the instantaneous time location +between two pages. However, continuous streams and discontinuous streams differ on whether the granulepos represents the end-time of -the data on a page or the start-time. Continuous streams are +the data on a page or the start-time. Continuous streams are 'end-time' encoded; the granulepos represents the point in time -immediately after the last data decoded from a page. Discontinuous +immediately after the last data decoded from a page. Discontinuous streams are 'start-time' encoded; the granulepos represents the point -in time of the first data decoded from the page.

      +in time of the first data decoded from the page.

      -An Ogg stream type is declared continuous or discontinuous by its -codec. A given codec may support both continuous and discontinuous +

      An Ogg stream type is declared continuous or discontinuous by its +codec. A given codec may support both continuous and discontinuous operation so long as any given logical stream is continuous or discontinuous for its entirety and the codec is able to ascertain (and inform the Ogg layer) as to which after decoding the initial stream -header. The majority of codecs will always be continuous (such as -Vorbis) or discontinuous (such as Writ).

      +header. The majority of codecs will always be continuous (such as +Vorbis) or discontinuous (such as Writ).

      -Start- and end-time encoding do not affect multiplexing sort-order; +

      Start- and end-time encoding do not affect multiplexing sort-order; pages are still sorted by the absolute time a given granulepos maps to regardless of whether that granulepos represents start- or -end-time.

      +end-time.

      Multiplex/Demultiplex Division of Labor

      -The Ogg multiplex/demultiplex layer provides mechanisms for encoding +

      The Ogg multiplex/demultiplex layer provides mechanisms for encoding raw packets into Ogg pages, decoding Ogg pages back into the original codec packets, determining the logical structure of an Ogg stream, and navigating through and synchronizing with an Ogg stream at a desired -stream location. Strict multiplex/demultiplex operations are entirely -in the Ogg domain and require no intervention from codecs.

      +stream location. Strict multiplex/demultiplex operations are entirely +in the Ogg domain and require no intervention from codecs.

      -Implementation of more complex operations does require codec -knowledge, however. Unlike other framing systems, Ogg maintains +

      Implementation of more complex operations does require codec +knowledge, however. Unlike other framing systems, Ogg maintains strict separation between framing and the framed bitstream data; Ogg does not replicate codec-specific information in the page/framing data, nor does Ogg blur the line between framing and stream -data/metadata. Because Ogg is fully data-agnostic toward the data it +data/metadata. Because Ogg is fully data-agnostic toward the data it frames, operations which require specifics of bitstream data (such as 'seek to key frame') also require interaction with the codec layer (because, in this example, the Ogg layer is not aware of the concept -of key frames). This is different from systems that blur the +of key frames). This is different from systems that blur the separation between framing and stream data in order to simplify the -separation of code. The Ogg system purposely keeps the distinction in +separation of code. The Ogg system purposely keeps the distinction in data simple so that later codec innovations are not constrained by -framing design.

      +framing design.

      -For this reason, however, complex seeking operations require +

      For this reason, however, complex seeking operations require interaction with the codecs in order to decode the granule position of a given stream type back to absolute time or in order to find -'decodable points' such as key frames in video. +'decodable points' such as key frames in video.

      Unsorted Discussion Points

      -flushes around key frames? RFC suggestion: repaginating or building a -stream this way is nice but not required - +

      flushes around key frames? RFC suggestion: repaginating or building a +stream this way is nice but not required

      Appendix A: multiplexing examples

      + + + + + diff --git a/doc/oggstream.html b/doc/oggstream.html index 4df3346..d9b80db 100644 --- a/doc/oggstream.html +++ b/doc/oggstream.html @@ -1,43 +1,105 @@ -xiph.org: Ogg Vorbis documentation - -

      - - -

      -Ogg logical and physical bitstream overview -

      - -Last update to this document: July 14, 2002
      + + + + + +Ogg Documentation + + + + + + + + + +

      Ogg logical and physical bitstream overview

      Ogg bitstreams

      -Ogg codecs use octet vectors of raw, compressed data +

      Ogg codecs use octet vectors of raw, compressed data (packets). 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.

      +appear to be streams of random bytes with no landmarks.

      -Raw packets may be used directly by transport mechanisms that provide +

      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 +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.

      +boundaries without relying on decoding to find packet boundaries.

      Logical and physical bitstreams

      -Raw packets are grouped and encoded into contiguous pages of -structured bitstream data called logical bitstreams. A +

      Raw packets are grouped and encoded into contiguous pages of +structured bitstream data called logical bitstreams. A logical bitstream consists of pages, in order, belonging to a single -codec instance. Each page is a self contained entity (although it is +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.

      +verify and handle single pages at a time from the overall bitstream.

      -Multiple logical bitstreams can be combined (with restrictions) into a -single physical bitstream. A physical bitstream consists of +

      Multiple logical bitstreams can be combined (with restrictions) into a +single physical bitstream. 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 @@ -47,150 +109,126 @@ 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'.

      +is referred to as a 'degenerate stream'.

      -Ogg Logical Bitstream Framing discusses +

      Ogg Logical Bitstream Framing discusses the page format of an Ogg bitstream, the packet coding process -and logical bitstreams in detail. The remainder of this document +and logical bitstreams in detail. The remainder of this document specifies requirements for constructing finished, physical Ogg -bitstreams.

      +bitstreams.

      Mapping Restrictions

      -Logical bitstreams may not be mapped/multiplexed into physical -bitstreams without restriction. Here we discuss design restrictions +

      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. +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.

      +specific, restricted physical bitstream format.

      additional end-to-end structure

      -The framing specification defines +

      The framing specification 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 +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.

      +requirement given the variable size nature of pages.

      -In addition to the header flag marking the first and last pages of a +

      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.

      +additional restrictions. Each individual media mapping specifies its +own implementation details regarding these restrictions.

      -The first page of a logical Ogg bitstream consists of a single, +

      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 +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.

      +amount of data to uniquely identify the bitstream type.

      -As an example, Ogg Vorbis places the name and revision of the Vorbis +

      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.

      +audio bitstream.

      sequential multiplexing (chaining)

      -The simplest form of logical bitstream multiplexing is concatenation -(chaining). Complete logical bitstreams are strung -one-after-another in order. The bitstreams do not overlap; the final +

      The simplest form of logical bitstream multiplexing is concatenation +(chaining). 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.

      +initial page of the next. Chaining is the only logical->physical +mapping allowed by Ogg Vorbis.

      -Each chained logical bitstream must have a unique serial number within -the scope of the physical bitstream.

      +

      Each chained logical bitstream must have a unique serial number within +the scope of the physical bitstream.

      concurrent multiplexing (grouping)

      -Logical bitstreams may also be multiplexed 'in parallel' -(grouped). An example of grouping would be to allow +

      Logical bitstreams may also be multiplexed 'in parallel' +(grouped). 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.

      +Whole pages from multiple logical bitstreams are mixed together.

      -The initial pages of each logical bitstream must appear first; the -media mapping specifies the order of the initial pages. For example, +

      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 +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 +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, +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.

      +page header.

      -Each grouped bitstream must have a unique serial number within the -scope of the physical bitstream.

      +

      Each grouped bitstream must have a unique serial number within the +scope of the physical bitstream.

      sequential and concurrent multiplexing

      -Groups of concurrently multiplexed bitstreams may be chained -consecutively. Such a physical bitstream obeys all the rules of both +

      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.

      +bitstream.

      multiplexing example

      -Below, we present an example of a grouped and chained bitstream:

      +

      Below, we present an example of a grouped and chained bitstream:

      -

      +

      stream

      -In this example, we see pages from five total logical bitstreams -multiplexed into a physical bitstream. Note the following -characteristics: +

      In this example, we see pages from five total logical bitstreams +multiplexed into a physical bitstream. Note the following +characteristics:

      -
      1. Grouped bitstreams begin together; all of the initial pages -must appear before any data pages. When concurrently multiplexed +
          +
        1. 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.

          +bitstreams in the previous group have terminated.

        2. The pages of concurrently multiplexed bitstreams need not conform to a regular order; the only requirement is that page n of a logical bitstream follow page n-1 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 bitstreams. (Tying page appearance to bitrate demands is one logical strategy, ie, the page appears at the chronological point -where decode requires more information). - +where decode requires more information).
        -
        - - - - - -Ogg is a Xiph.org Foundation 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 About -the Xiph.org Foundation for details. -

        - -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.

        - -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.

        - -Ogg, Vorbis, Xiph.org Foundation and their logos are trademarks (tm) -of the Xiph.org Foundation. These -pages are copyright (C) 1994-2002 Xiph.org Foundation. All rights -reserved.

        - - +

        + + -- cgit v1.2.3 From 6da95bab7a808e065a08e3f3ddd33debc925dd31 Mon Sep 17 00:00:00 2001 From: nehal Date: Mon, 5 Sep 2005 00:15:53 +0000 Subject: add style for h4 svn path=/trunk/ogg/; revision=9957 --- doc/ogg-multiplex.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/ogg-multiplex.html b/doc/ogg-multiplex.html index 1f5dd41..1c274d5 100644 --- a/doc/ogg-multiplex.html +++ b/doc/ogg-multiplex.html @@ -30,7 +30,7 @@ img { line-height: 1.4; } -h1, h1 a, h2, h2 a, h3, h3 a { +h1, h1 a, h2, h2 a, h3, h3 a, h4, h4 a { font-weight: bold; color: #ff9900; margin: 1.3em 0 8px 0; -- cgit v1.2.3 From fe5e6bf1e74ac7a179e76bd16d08a0fddd2f18bb Mon Sep 17 00:00:00 2001 From: nehal Date: Thu, 8 Sep 2005 00:20:31 +0000 Subject: add a link to the libogg api; cleanups svn path=/trunk/ogg/; revision=9998 --- doc/index.html | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'doc') diff --git a/doc/index.html b/doc/index.html index 78050a0..bb484df 100644 --- a/doc/index.html +++ b/doc/index.html @@ -70,12 +70,24 @@ li { Fish Logo and Xiph.org +

        Ogg Documentation

        + +

        Ogg programming documentation

        + + + +

        Ogg bitsream documentation

        + +

        RFC documentation

        +
        • rfc3533: The Ogg Encapsulation Format Version 0
        • rfc3534: The application/ogg Media Type
        • -- cgit v1.2.3 From 46d7fe08f8cff45dcdcc9855830b13901a99fcff Mon Sep 17 00:00:00 2001 From: nehal Date: Thu, 8 Sep 2005 00:22:08 +0000 Subject: oops. fix link svn path=/trunk/ogg/; revision=9999 --- doc/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/index.html b/doc/index.html index bb484df..62db559 100644 --- a/doc/index.html +++ b/doc/index.html @@ -75,7 +75,7 @@ li {

          Ogg programming documentation

          Ogg bitsream documentation

          -- cgit v1.2.3 From 7defbb92454039a3b986924a043bce4def0fb4c7 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Wed, 21 Dec 2005 01:23:01 +0000 Subject: Sync with changes to the version distributed with libvorbis. svn path=/trunk/ogg/; revision=10669 --- doc/framing.html | 81 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 41 insertions(+), 40 deletions(-) (limited to 'doc') diff --git a/doc/framing.html b/doc/framing.html index 191c1fb..eba9c57 100644 --- a/doc/framing.html +++ b/doc/framing.html @@ -30,7 +30,7 @@ img { line-height: 1.4; } -h1, h1 a, h2, h2 a, h3, h3 a, h4, h4 a { +h1, h1 a, h2, h2 a, h3, h3 a { font-weight: bold; color: #ff9900; margin: 1.3em 0 8px 0; @@ -77,14 +77,14 @@ li {

          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.

          +codec or Theora video codec.

          Application example: Vorbis

          Vorbis encodes short-time blocks of PCM data into raw packets of -bit-packed data. These raw packets may be used directly by transport +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 +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 @@ -94,12 +94,14 @@ boundaries without relying on decoding to find packet boundaries.

          Design constraints for Ogg bitstreams

            -
          1. True streaming; we must not need to seek to build a 100% complete bitstream.
          2. -
          3. Use no more than approximately 1-2% of bitstream bandwidth for packet - boundary marking, high-level framing, sync and seeking.
          4. -
          5. Specification of absolute position within the original sample stream.
          6. -
          7. Simple mechanism to ease limited editing, such as a simplified concatenation - mechanism.
          8. +
          9. True streaming; we must not need to seek to build a 100% + complete bitstream.
          10. +
          11. Use no more than approximately 1-2% of bitstream bandwidth for + packet boundary marking, high-level framing, sync and seeking.
          12. +
          13. Specification of absolute position within the original sample + stream.
          14. +
          15. Simple mechanism to ease limited editing, such as a simplified + concatenation mechanism.
          16. Detection of corruption, recapture after error and direct, random access to data at arbitrary positions in the bitstream.
          @@ -107,28 +109,27 @@ boundaries without relying on decoding to find packet boundaries.

          Logical and Physical Bitstreams

          A logical Ogg bitstream is a contiguous stream of -sequential pages belonging only to the logical bitstream. A +sequential pages belonging only to the logical bitstream. A physical 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 +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 -Ogg bitstream overview. The exact +Ogg bitstream overview. The exact mapping of raw Vorbis packets into a valid Ogg Vorbis physical -bitstream is described in Vorbis -bitstream mapping.

          +bitstream is described in the Vorbis I Specification.

          Bitstream structure

          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. 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.

          The bitstream is captured (or recaptured) by looking for the beginning -of a page, specifically the capture pattern. Once the capture pattern +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.

          @@ -142,9 +143,9 @@ page data need not be disturbed, even when a packet spans page boundaries.

          The raw packet is logically divided into [n] 255 byte segments and a -last fractional segment of < 255 bytes. A packet size may well +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 +segment may be zero length. These values, called "lacing values" are then saved and placed into the header segment table.

          An example should make the basic concept clear:

          @@ -164,7 +165,7 @@ 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 +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 @@ -172,7 +173,7 @@ so, see a fairly constant ~.5% overhead on encoding space.

          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 +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:

          
          @@ -199,7 +200,7 @@ initialization data at the beginning of a logical bitstream).

          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 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 @@ -211,21 +212,21 @@ the page body of the subsequent page).

          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 +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 +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 +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.

          Note that a packet can span an arbitrary number of pages; the above -spanning process is repeated for each spanned page boundary. Also a +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 +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.

          @@ -248,7 +249,7 @@ data comes last.

          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 +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.

          @@ -296,16 +297,16 @@ intensive job of verifying that it has in fact found a page boundary

          absolute granule position

          (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' +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 +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 +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 +bitstream is. A truncated stream will still return the proper number of samples that can be decoded fully.

          A special value of '-1' (in two's complement) indicates that no packets @@ -327,11 +328,11 @@ finish on this page.

          stream serial number

          Ogg allows for separate logical bitstreams to be mixed at page -granularity in a physical bitstream. The most common case would be +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 +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 +a particular logical stream. Each logical stream must have a unique serial number within a physical stream:

          
          @@ -360,9 +361,9 @@ span page boundaries).

          page checksum

          32 bit CRC value (direct algorithm, initial val and final XOR = 0, -generator polynomial=0x04c11db7). The value is computed over the +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 +continued over the page. The CRC field is then filled with the computed value.

          (A thorough discussion of CRC algorithms can be found in ross@guest.adelaide.edu.au.)

          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 +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).

          @@ -415,7 +416,7 @@ lacing values in the segment table. Packet data segments follow immediately after the header.

          Page headers typically impose a flat .25-.5% space overhead assuming -nominal ~8k page sizes. The segmentation table needed for exact +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.

          -- cgit v1.2.3 From 0e33109e4d4444063f2b2466f393ca698696d242 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Sat, 28 Jan 2006 03:20:59 +0000 Subject: remove obsolete .cvsignore files svn path=/trunk/ogg/; revision=10757 --- doc/.cvsignore | 2 -- doc/libogg/.cvsignore | 2 -- 2 files changed, 4 deletions(-) delete mode 100644 doc/.cvsignore delete mode 100644 doc/libogg/.cvsignore (limited to 'doc') diff --git a/doc/.cvsignore b/doc/.cvsignore deleted file mode 100644 index 282522d..0000000 --- a/doc/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/doc/libogg/.cvsignore b/doc/libogg/.cvsignore deleted file mode 100644 index 282522d..0000000 --- a/doc/libogg/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in -- cgit v1.2.3 From 2ecaeacfb9f338cd1b64edfc1ecd66e37a32516d Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Thu, 23 Feb 2006 00:26:15 +0000 Subject: Update the link and email for Ross Williams' CRC paper. svn path=/trunk/ogg/; revision=10923 --- doc/framing.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/framing.html b/doc/framing.html index eba9c57..a1bbd18 100644 --- a/doc/framing.html +++ b/doc/framing.html @@ -367,10 +367,9 @@ continued over the page. The CRC field is then filled with the computed value.

          (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" by Ross -Williams ross@guest.adelaide.edu.au.)

          +Williams ross@ross.net.)

          
            byte value
          -- 
          cgit v1.2.3
          
          
          From d346ef4dbc99c5737b9d020a83daa4497e2a4970 Mon Sep 17 00:00:00 2001
          From: Ralph Giles 
          Date: Sat, 11 Mar 2006 07:45:56 +0000
          Subject: Correct cut-and-paste errors and further clarify memory ownership in
           the documentation for ogg_stream_pageout().
          
          svn path=/trunk/ogg/; revision=10993
          ---
           doc/libogg/ogg_stream_pageout.html | 35 ++++++++++++++++++++++++++---------
           1 file changed, 26 insertions(+), 9 deletions(-)
          
          (limited to 'doc')
          
          diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html
          index c703382..1894391 100644
          --- a/doc/libogg/ogg_stream_pageout.html
          +++ b/doc/libogg/ogg_stream_pageout.html
          @@ -9,7 +9,7 @@
           
          -
          +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20060310

          @@ -17,9 +17,22 @@

          declared in "ogg/ogg.h";

          -

          This function forms packets into pages. If -

          In a typical encoding situation, this would be called after using ogg_stream_packetin to submit data packets to the bitstream. -

          Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer. +

          This function forms packets into pages.

          + +

          In a typical encoding situation, this would be called after using ogg_stream_packetin() 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.

          + +

          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 ogg_stream_flush() +if immediate page generation is desired. This may be occasionally +necessary, for example, to limit the temporal latency of a variable +bitrate stream.



          @@ -37,14 +50,18 @@ int ogg_stream_pageout(ogg_stream_state *os,
          os
          Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
          og
          -
          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. +
          Pointer to an ogg_page 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().

          Return Values

          -
        • Zero means that insufficient data has accumulated to fill a page.
        • -
        • Non-zero means that a page has been completed and flushed.
        • +
        • Zero means that insufficient data has accumulated to fill a page. In +this case og is not modified.
        • +
        • Non-zero means that a page has been completed and returned.
        • @@ -52,11 +69,11 @@ int ogg_stream_pageout(ogg_stream_state *os,


          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2006 xiph.org

          Ogg Vorbis
          team@xiph.org

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20060310

          -- cgit v1.2.3 From 4dd1eea406ba9180283c616bddf6741e2b5ee034 Mon Sep 17 00:00:00 2001 From: Monty Date: Mon, 18 Jun 2007 21:11:34 +0000 Subject: Correction to longstanding errors/omissions in libogg documentation. svn path=/trunk/ogg/; revision=13140 --- doc/libogg/ogg_sync_state.html | 16 +++++++++++++--- doc/libogg/oggpack_writetrunc.html | 2 +- doc/libogg/reference.html | 6 +++--- 3 files changed, 17 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html index 15a7e3c..c9e773c 100644 --- a/doc/libogg/ogg_sync_state.html +++ b/doc/libogg/ogg_sync_state.html @@ -19,7 +19,7 @@

          The ogg_sync_state struct tracks the synchronization of the current page. -

          It is used during decoding to track the status of data as it is read in and +

          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.

          @@ -44,9 +44,19 @@ typedef struct {

          Relevant Struct Members

          data
          -
          Pointer to data from packet bodies.
          +
          Pointer to buffered stream data.
          storage
          -
          Pointer to data from packet bodies.
          +
          Current allocated size of the stream buffer held in *data.
          +
          fill
          +
          The number of valid bytes currently held in *data; functions as the buffer head pointer.
          +
          returned
          +
          The number of bytes at the head of *data that have already been returned as pages; functions as the buffer tail pointer.
          +
          unsynced
          +
          Synchronization state flag; nonzero if sync has not yet been attained or has been lost.
          +
          headerbytes
          +
          If synced, the number of bytes used by the synced page's header.
          +
          bodybytes
          +
          If synced, the number of bytes used by the synced page's body.
          diff --git a/doc/libogg/oggpack_writetrunc.html b/doc/libogg/oggpack_writetrunc.html index 7e8750c..e2af9a0 100644 --- a/doc/libogg/oggpack_writetrunc.html +++ b/doc/libogg/oggpack_writetrunc.html @@ -13,7 +13,7 @@
          -

          oggpack_write

          +

          oggpack_writetrunc

          declared in "ogg/ogg.h";

          diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html index eddb2af..ca31072 100644 --- a/doc/libogg/reference.html +++ b/doc/libogg/reference.html @@ -26,9 +26,9 @@ Bitpacking
          oggpack_writeinit()
          oggpack_reset()
          -oggpack_writetrunc()
          -oggpack_writealign()
          -oggpack_writecopy()
          +oggpack_writetrunc()
          +oggpack_writealign()
          +oggpack_writecopy()
          oggpack_writeclear()
          oggpack_readinit()
          oggpack_write()
          -- cgit v1.2.3 From 24c2249dd110ed69398936fb65ca153c0df29424 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 4 Jan 2008 20:11:22 +0000 Subject: Document the memory ownership when passing ogg packets in and out. svn path=/trunk/ogg/; revision=14360 --- doc/libogg/ogg_stream_packetin.html | 11 +++++++++-- doc/libogg/ogg_stream_packetout.html | 20 +++++++++++++++++--- 2 files changed, 26 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index c1018dc..4005d9e 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -17,8 +17,15 @@

          declared in "ogg/ogg.h";

          -

          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. -

          In a typical decoding situation, this should be used after filling a packet with data +

          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.

          + +

          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 ogg_stream_state, so the caller +is free to alter the contents of os after this call has returned.

          diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html index bc57e85..aa74fc3 100644 --- a/doc/libogg/ogg_stream_packetout.html +++ b/doc/libogg/ogg_stream_packetout.html @@ -17,8 +17,21 @@

          declared in "ogg/ogg.h";

          -

          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. Each successive call returns the next complete packet built from those segments.

          -

          In a typical decoding situation, this should be used after calling ogg_stream_pagein() 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.

          +

          This function assembles a data packet for output to the codec +decoding engine. The data has already been submitted to the +ogg_stream_state and broken +into segments. Each successive call returns the next complete packet +built from those segments.

          + +

          In a typical decoding situation, this should be used after calling +ogg_stream_pagein() 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.

          + +

          The op 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.



          @@ -39,7 +52,8 @@ href="ogg_stream_state.html">ogg_stream_state struct. Before this function
          op
          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.
          +function is called. The pointers are only valid until the next call +on this stream state. -- cgit v1.2.3 From e324b090264f2969fdf4427891f9ae768a2a889b Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 4 Jan 2008 20:41:16 +0000 Subject: Remove "Ogg Vorbis" project references and the obsolete contact email from the libogg documentation. svn path=/trunk/ogg/; revision=14365 --- doc/libogg/bitpacking.html | 2 +- doc/libogg/datastructures.html | 4 ++-- doc/libogg/decoding.html | 2 +- doc/libogg/encoding.html | 2 +- doc/libogg/general.html | 2 +- doc/libogg/index.html | 2 +- doc/libogg/ogg_packet.html | 2 +- doc/libogg/ogg_packet_clear.html | 2 +- doc/libogg/ogg_page.html | 2 +- doc/libogg/ogg_page_bos.html | 2 +- doc/libogg/ogg_page_checksum_set.html | 2 +- doc/libogg/ogg_page_continued.html | 2 +- doc/libogg/ogg_page_eos.html | 2 +- doc/libogg/ogg_page_granulepos.html | 2 +- doc/libogg/ogg_page_packets.html | 2 +- doc/libogg/ogg_page_pageno.html | 2 +- doc/libogg/ogg_page_serialno.html | 2 +- doc/libogg/ogg_page_version.html | 2 +- doc/libogg/ogg_stream_clear.html | 2 +- doc/libogg/ogg_stream_destroy.html | 2 +- doc/libogg/ogg_stream_eos.html | 2 +- doc/libogg/ogg_stream_flush.html | 2 +- doc/libogg/ogg_stream_init.html | 2 +- doc/libogg/ogg_stream_packetin.html | 2 +- doc/libogg/ogg_stream_packetout.html | 2 +- doc/libogg/ogg_stream_packetpeek.html | 2 +- doc/libogg/ogg_stream_pagein.html | 2 +- doc/libogg/ogg_stream_pageout.html | 2 +- doc/libogg/ogg_stream_reset.html | 2 +- doc/libogg/ogg_stream_reset_serialno.html | 2 +- doc/libogg/ogg_stream_state.html | 2 +- doc/libogg/ogg_sync_buffer.html | 2 +- doc/libogg/ogg_sync_clear.html | 2 +- doc/libogg/ogg_sync_destroy.html | 2 +- doc/libogg/ogg_sync_init.html | 2 +- doc/libogg/ogg_sync_pageout.html | 2 +- doc/libogg/ogg_sync_pageseek.html | 2 +- doc/libogg/ogg_sync_reset.html | 2 +- doc/libogg/ogg_sync_state.html | 2 +- doc/libogg/ogg_sync_wrote.html | 2 +- doc/libogg/oggpack_adv.html | 2 +- doc/libogg/oggpack_adv1.html | 2 +- doc/libogg/oggpack_bits.html | 2 +- doc/libogg/oggpack_buffer.html | 2 +- doc/libogg/oggpack_bytes.html | 2 +- doc/libogg/oggpack_get_buffer.html | 2 +- doc/libogg/oggpack_look.html | 2 +- doc/libogg/oggpack_look1.html | 2 +- doc/libogg/oggpack_read.html | 2 +- doc/libogg/oggpack_read1.html | 2 +- doc/libogg/oggpack_readinit.html | 2 +- doc/libogg/oggpack_reset.html | 2 +- doc/libogg/oggpack_write.html | 2 +- doc/libogg/oggpack_writealign.html | 2 +- doc/libogg/oggpack_writeclear.html | 2 +- doc/libogg/oggpack_writecopy.html | 2 +- doc/libogg/oggpack_writeinit.html | 2 +- doc/libogg/oggpack_writetrunc.html | 2 +- doc/libogg/overview.html | 2 +- doc/libogg/reference.html | 2 +- doc/libogg/vorbis_comment.html | 2 +- doc/libogg/vorbis_info.html | 2 +- 62 files changed, 63 insertions(+), 63 deletions(-) (limited to 'doc') diff --git a/doc/libogg/bitpacking.html b/doc/libogg/bitpacking.html index 57ff78a..0b8e1b8 100644 --- a/doc/libogg/bitpacking.html +++ b/doc/libogg/bitpacking.html @@ -87,7 +87,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".
          - + diff --git a/doc/libogg/datastructures.html b/doc/libogg/datastructures.html index 13fee95..542aef2 100644 --- a/doc/libogg/datastructures.html +++ b/doc/libogg/datastructures.html @@ -34,7 +34,7 @@ All the libogg specific data structures are declared in "ogg/ogg.h". - + @@ -47,7 +47,7 @@ All the libogg specific data structures are declared in "ogg/ogg.h".

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          ogg_packetThis structure encapsulates the data and metadata for a single raw Ogg Vorbis packet.This structure encapsulates the data and metadata for a single Ogg packet.
          ogg_sync_state
          - + diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html index 2cd576e..19a7f8f 100644 --- a/doc/libogg/decoding.html +++ b/doc/libogg/decoding.html @@ -88,7 +88,7 @@ advancing decoding.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html index 372ea80..32fa766 100644 --- a/doc/libogg/encoding.html +++ b/doc/libogg/encoding.html @@ -52,7 +52,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/general.html b/doc/libogg/general.html index f8c92e9..550ff0c 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -93,7 +93,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/index.html b/doc/libogg/index.html index 123d965..6b991b6 100644 --- a/doc/libogg/index.html +++ b/doc/libogg/index.html @@ -27,7 +27,7 @@ Libogg contains necessary functionality to create, decode, and work with Ogg bit

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html index 0dab54e..cf34ecf 100644 --- a/doc/libogg/ogg_packet.html +++ b/doc/libogg/ogg_packet.html @@ -63,7 +63,7 @@ typedef struct {

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@vorbis.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index 5e0bdf3..e1603ba 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -49,7 +49,7 @@ None.

          copyright © 2001 xiph.org foundation

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg - 20011015

          - + diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html index 8fdccc2..19ce4d3 100644 --- a/doc/libogg/ogg_page.html +++ b/doc/libogg/ogg_page.html @@ -62,7 +62,7 @@ typedef struct {

          copyright © 2001 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg - 20011218

          - + diff --git a/doc/libogg/ogg_page_bos.html b/doc/libogg/ogg_page_bos.html index 9e1462f..e6b5d7a 100644 --- a/doc/libogg/ogg_page_bos.html +++ b/doc/libogg/ogg_page_bos.html @@ -52,7 +52,7 @@ greater than 0 if this page is the beginning of a bitstream.

          copyright © 2001 xiph.org foundation

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg version - 20011015

          - + diff --git a/doc/libogg/ogg_page_checksum_set.html b/doc/libogg/ogg_page_checksum_set.html index 72780d0..1b3e656 100644 --- a/doc/libogg/ogg_page_checksum_set.html +++ b/doc/libogg/ogg_page_checksum_set.html @@ -49,7 +49,7 @@ None.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_page_continued.html b/doc/libogg/ogg_page_continued.html index 36adc09..664ddf6 100644 --- a/doc/libogg/ogg_page_continued.html +++ b/doc/libogg/ogg_page_continued.html @@ -51,7 +51,7 @@ int ogg_page_continued(ogg_page *og);

          copyright © 2001 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg - 20011218

          - + diff --git a/doc/libogg/ogg_page_eos.html b/doc/libogg/ogg_page_eos.html index 13747b5..5093dbf 100644 --- a/doc/libogg/ogg_page_eos.html +++ b/doc/libogg/ogg_page_eos.html @@ -52,7 +52,7 @@ greater than zero if this page contains the end of a bitstream.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html index 50c5e45..688c1fa 100644 --- a/doc/libogg/ogg_page_granulepos.html +++ b/doc/libogg/ogg_page_granulepos.html @@ -52,7 +52,7 @@ int ogg_page_granulepos(ogg_page *og);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html index e88724c..63053ed 100644 --- a/doc/libogg/ogg_page_packets.html +++ b/doc/libogg/ogg_page_packets.html @@ -62,7 +62,7 @@ ogg_page_continued(page) will return non-zero.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html index 0eca7af..e3aaf57 100644 --- a/doc/libogg/ogg_page_pageno.html +++ b/doc/libogg/ogg_page_pageno.html @@ -50,7 +50,7 @@ int ogg_page_pageno(ogg_page *og);

          copyright © 2001 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg - 20011218

          - + diff --git a/doc/libogg/ogg_page_serialno.html b/doc/libogg/ogg_page_serialno.html index 60305a9..0b87ae9 100644 --- a/doc/libogg/ogg_page_serialno.html +++ b/doc/libogg/ogg_page_serialno.html @@ -50,7 +50,7 @@ int ogg_page_serialno(ogg_page *og);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_page_version.html b/doc/libogg/ogg_page_version.html index 9f3c383..5335781 100644 --- a/doc/libogg/ogg_page_version.html +++ b/doc/libogg/ogg_page_version.html @@ -50,7 +50,7 @@ int ogg_page_version(ogg_page *og);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html index a261a5d..ba69195 100644 --- a/doc/libogg/ogg_stream_clear.html +++ b/doc/libogg/ogg_stream_clear.html @@ -48,7 +48,7 @@ int ogg_stream_clear(ogg_stream_state *os);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index ebe7a24..5badc94 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -49,7 +49,7 @@ int ogg_stream_destroy(ogg_stream_state *os);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html index 40e577e..d9a9b94 100644 --- a/doc/libogg/ogg_stream_eos.html +++ b/doc/libogg/ogg_stream_eos.html @@ -49,7 +49,7 @@ int ogg_stream_eos(ogg_stream_state *os);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index 05d75fb..5d9b0ac 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -54,7 +54,7 @@ Nonzero means that remaining packets have successfully been flushed into the pag

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html index 4f600ff..8285493 100644 --- a/doc/libogg/ogg_stream_init.html +++ b/doc/libogg/ogg_stream_init.html @@ -53,7 +53,7 @@ int ogg_stream_init(ogg_stream_state *os,int

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index 4005d9e..0e88afb 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -59,7 +59,7 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html index aa74fc3..ac91cc8 100644 --- a/doc/libogg/ogg_stream_packetout.html +++ b/doc/libogg/ogg_stream_packetout.html @@ -73,7 +73,7 @@ on this stream state.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index 892977b..8b4397b 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -72,7 +72,7 @@ in the data.

          copyright © 2004 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.1.3 - 20040927

          - + diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index b884169..88d7a9b 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -54,7 +54,7 @@ int ogg_stream_pagein(ogg_stream_state *os,

          copyright © 2001 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg version 1.26 - 20010527

          - + diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html index 1894391..bf0d484 100644 --- a/doc/libogg/ogg_stream_pageout.html +++ b/doc/libogg/ogg_stream_pageout.html @@ -70,7 +70,7 @@ this case og is not modified.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index 19634d4..1987fb8 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -48,7 +48,7 @@ int ogg_stream_reset(ogg_stream_state *os);

          copyright © 2000-2006 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.1.4 - 20060310

          - + diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html index d75fdb3..7314220 100644 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -54,7 +54,7 @@ int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index 7f41737..0c384d9 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -109,7 +109,7 @@ typedef struct {

          copyright © 2002 Xiph.org Foundation

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20020719

          - + diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html index 4c84694..6f77133 100644 --- a/doc/libogg/ogg_sync_buffer.html +++ b/doc/libogg/ogg_sync_buffer.html @@ -54,7 +54,7 @@ Returns a pointer to the newly allocated buffer.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_sync_clear.html b/doc/libogg/ogg_sync_clear.html index 325e856..5b1e558 100644 --- a/doc/libogg/ogg_sync_clear.html +++ b/doc/libogg/ogg_sync_clear.html @@ -49,7 +49,7 @@ int ogg_sync_clear(ogg_sync_state *oy);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html index d2f9ae8..19987a2 100644 --- a/doc/libogg/ogg_sync_destroy.html +++ b/doc/libogg/ogg_sync_destroy.html @@ -49,7 +49,7 @@ int ogg_sync_destroy(ogg_sync_state *oy);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_sync_init.html b/doc/libogg/ogg_sync_init.html index f42c81d..be6cdf0 100644 --- a/doc/libogg/ogg_sync_init.html +++ b/doc/libogg/ogg_sync_init.html @@ -50,7 +50,7 @@ int ogg_sync_init(ogg_sync_state *oy);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html index 4fcdb17..f465e79 100644 --- a/doc/libogg/ogg_sync_pageout.html +++ b/doc/libogg/ogg_sync_pageout.html @@ -66,7 +66,7 @@ if (ogg_sync_pageout(&oy, &og) != 1) {

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html index 7371b82..ffc7b90 100644 --- a/doc/libogg/ogg_sync_pageseek.html +++ b/doc/libogg/ogg_sync_pageseek.html @@ -55,7 +55,7 @@ n means that the page was synced at the current location, with a page length of

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_sync_reset.html b/doc/libogg/ogg_sync_reset.html index d27efbd..e327f2f 100644 --- a/doc/libogg/ogg_sync_reset.html +++ b/doc/libogg/ogg_sync_reset.html @@ -50,7 +50,7 @@ int ogg_sync_reset(ogg_sync_state *oy);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html index c9e773c..425200a 100644 --- a/doc/libogg/ogg_sync_state.html +++ b/doc/libogg/ogg_sync_state.html @@ -65,7 +65,7 @@ typedef struct {

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index 06318ab..d5899c6 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -60,7 +60,7 @@ int ogg_sync_wrote(ogg_sync_state *oy, long by

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_adv.html b/doc/libogg/oggpack_adv.html index 66140ec..529a409 100644 --- a/doc/libogg/oggpack_adv.html +++ b/doc/libogg/oggpack_adv.html @@ -51,7 +51,7 @@ No values are returned.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_adv1.html b/doc/libogg/oggpack_adv1.html index d02ae43..5ed2a21 100644 --- a/doc/libogg/oggpack_adv1.html +++ b/doc/libogg/oggpack_adv1.html @@ -49,7 +49,7 @@ void oggpack_adv1(oggpack_buffer *b);

          copyright © 2002 Xiph.org Foundation

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20020719

          - + diff --git a/doc/libogg/oggpack_bits.html b/doc/libogg/oggpack_bits.html index b1bdc39..d5de0dc 100644 --- a/doc/libogg/oggpack_bits.html +++ b/doc/libogg/oggpack_bits.html @@ -49,7 +49,7 @@ long oggpack_bits(oggpack_buffer *b);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_buffer.html b/doc/libogg/oggpack_buffer.html index 42f21ec..a8d01b3 100644 --- a/doc/libogg/oggpack_buffer.html +++ b/doc/libogg/oggpack_buffer.html @@ -54,7 +54,7 @@ typedef struct {

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_bytes.html b/doc/libogg/oggpack_bytes.html index 5e0382d..60ca762 100644 --- a/doc/libogg/oggpack_bytes.html +++ b/doc/libogg/oggpack_bytes.html @@ -49,7 +49,7 @@ long oggpack_bytes(oggpack_buffer *b);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_get_buffer.html b/doc/libogg/oggpack_get_buffer.html index 9d2c143..f99028c 100644 --- a/doc/libogg/oggpack_get_buffer.html +++ b/doc/libogg/oggpack_get_buffer.html @@ -49,7 +49,7 @@ No values are returned.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20020719

          - + diff --git a/doc/libogg/oggpack_look.html b/doc/libogg/oggpack_look.html index 3386d0b..a795603 100644 --- a/doc/libogg/oggpack_look.html +++ b/doc/libogg/oggpack_look.html @@ -53,7 +53,7 @@ long oggpack_look(oggpack_buffer *b,int bits)

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_look1.html b/doc/libogg/oggpack_look1.html index 4b9cfe7..a6f72b3 100644 --- a/doc/libogg/oggpack_look1.html +++ b/doc/libogg/oggpack_look1.html @@ -50,7 +50,7 @@ long oggpack_look1(oggpack_buffer *b);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_read.html b/doc/libogg/oggpack_read.html index faf3eb7..313cd8b 100644 --- a/doc/libogg/oggpack_read.html +++ b/doc/libogg/oggpack_read.html @@ -52,7 +52,7 @@ long oggpack_read(oggpack_buffer *b,int bits);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_read1.html b/doc/libogg/oggpack_read1.html index e697a60..80078e4 100644 --- a/doc/libogg/oggpack_read1.html +++ b/doc/libogg/oggpack_read1.html @@ -50,7 +50,7 @@ long oggpack_read1(oggpack_buffer *b);

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_readinit.html b/doc/libogg/oggpack_readinit.html index 6d537a3..0177e8e 100644 --- a/doc/libogg/oggpack_readinit.html +++ b/doc/libogg/oggpack_readinit.html @@ -51,7 +51,7 @@ No values are returned.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_reset.html b/doc/libogg/oggpack_reset.html index 9002310..23a0591 100644 --- a/doc/libogg/oggpack_reset.html +++ b/doc/libogg/oggpack_reset.html @@ -49,7 +49,7 @@ No values are returned.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_write.html b/doc/libogg/oggpack_write.html index 33d8788..be0df8e 100644 --- a/doc/libogg/oggpack_write.html +++ b/doc/libogg/oggpack_write.html @@ -55,7 +55,7 @@ No values are returned.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_writealign.html b/doc/libogg/oggpack_writealign.html index 0137e61..1d42066 100644 --- a/doc/libogg/oggpack_writealign.html +++ b/doc/libogg/oggpack_writealign.html @@ -52,7 +52,7 @@ No values are returned.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_writeclear.html b/doc/libogg/oggpack_writeclear.html index a554eed..8e69106 100644 --- a/doc/libogg/oggpack_writeclear.html +++ b/doc/libogg/oggpack_writeclear.html @@ -49,7 +49,7 @@ No values are returned.

          copyright © 2002 Xiph.org Foundation

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20020719

          - + diff --git a/doc/libogg/oggpack_writecopy.html b/doc/libogg/oggpack_writecopy.html index 18f599a..38cdd12 100644 --- a/doc/libogg/oggpack_writecopy.html +++ b/doc/libogg/oggpack_writecopy.html @@ -56,7 +56,7 @@ No values are returned.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/oggpack_writeinit.html b/doc/libogg/oggpack_writeinit.html index 1da1f17..a384cd6 100644 --- a/doc/libogg/oggpack_writeinit.html +++ b/doc/libogg/oggpack_writeinit.html @@ -49,7 +49,7 @@ No values are returned.

          copyright © 2002 Xiph.org Foundation

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20020719

          - + diff --git a/doc/libogg/oggpack_writetrunc.html b/doc/libogg/oggpack_writetrunc.html index e2af9a0..11affbf 100644 --- a/doc/libogg/oggpack_writetrunc.html +++ b/doc/libogg/oggpack_writetrunc.html @@ -52,7 +52,7 @@ No values are returned.

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/overview.html b/doc/libogg/overview.html index f21cf4b..84979e0 100644 --- a/doc/libogg/overview.html +++ b/doc/libogg/overview.html @@ -32,7 +32,7 @@ The libogg API consists of the following functional categories:

          copyright © 2002 Xiph.org Foundation

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20020719

          - + diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html index ca31072..c5e8002 100644 --- a/doc/libogg/reference.html +++ b/doc/libogg/reference.html @@ -81,7 +81,7 @@

          copyright © 2000 xiph.org

          Ogg Vorbis
          team@xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          - + diff --git a/doc/libogg/vorbis_comment.html b/doc/libogg/vorbis_comment.html index a7b076b..09d81f8 100644 --- a/doc/libogg/vorbis_comment.html +++ b/doc/libogg/vorbis_comment.html @@ -58,7 +58,7 @@ or set to some reasonable default (usually 0).

          copyright © 2002 Xiph.org Foundation

          Ogg Vorbis
          team@vorbis.org

          Ogg Container Format

          libogg documentation

          libogg - 20020719

          - + diff --git a/doc/libogg/vorbis_info.html b/doc/libogg/vorbis_info.html index 893e453..ec16a8b 100644 --- a/doc/libogg/vorbis_info.html +++ b/doc/libogg/vorbis_info.html @@ -68,7 +68,7 @@ The vorbis_info structure contains basic information about the audio in a vorbis

          copyright © 2002 Xiph.org Foundation

          Ogg Vorbis

          Ogg Container Format

          Vorbisfile documentation

          libVorbisfile version 1.65 - 20020719

          - + -- cgit v1.2.3 From be7c173288bf5c4f4c861c2b1124997e2c75295c Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Thu, 14 Feb 2008 02:03:39 +0000 Subject: Document what oggpack_bytes() returns for read-initialized streams. svn path=/trunk/ogg/; revision=14505 --- doc/libogg/oggpack_bytes.html | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/libogg/oggpack_bytes.html b/doc/libogg/oggpack_bytes.html index 60ca762..5078f8e 100644 --- a/doc/libogg/oggpack_bytes.html +++ b/doc/libogg/oggpack_bytes.html @@ -17,8 +17,13 @@

          declared in "ogg/ogg.h";

          -

          This function returns the total number of bytes currently in the oggpack_buffer's internal buffer. -

          The return value is the number of complete bytes in the buffer. There may be extra (<8) bits. +

          This function returns the total number of bytes behind the current +access point in the oggpack_buffer. +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. +

          The return value is the number of complete bytes in the buffer. +There may be extra (<8) bits.

          copyright © 2002 Xiph.org

          Ogg Vorbis

          Ogg Container Format

          Vorbisfile documentation

          libVorbisfile version 1.65 - 20020702

          @@ -48,11 +53,11 @@ long oggpack_bytes(oggpack_buffer *b);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2008 xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20020719

          libogg release 1.1 - 20080113

          -- cgit v1.2.3 From aab1325d157d6ef9d81096aeade94b6ad7d9c19e Mon Sep 17 00:00:00 2001 From: ivo Date: Fri, 22 Feb 2008 15:29:29 +0000 Subject: Skeleton documentation page. Right now it's just a static copy from the wiki. svn path=/trunk/ogg/; revision=14535 --- doc/skeleton.html | 222 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100755 doc/skeleton.html (limited to 'doc') diff --git a/doc/skeleton.html b/doc/skeleton.html new file mode 100755 index 0000000..8b29c18 --- /dev/null +++ b/doc/skeleton.html @@ -0,0 +1,222 @@ + + + + + +The Ogg Skeleton Metadata Bitstream + + + + + + + +

          + +

          The Ogg Skeleton Metadata Bitstream

          + +

          Overview

          + +

          Ogg Skeleton provides structuring information for multitrack Ogg files. It is compatible with Ogg Theora and provides extra clues for synchronization and content negotiation such as language selection.

          + +

          Ogg is a generic container format for time-continuous data streams, enabling interleaving of several tracks of frame-wise encoded content in a time-multiplexed manner. As an example, an Ogg physical bitstream could encapsulate several tracks of video encoded in Theora and multiple tracks of audio encoded in Speex or Vorbis or FLAC at the same time. A player that decodes such a bitstream could then, for example, play one video channel as the main video playback, alpha-blend another one on top of it (e.g. a caption track), play a main Vorbis audio together with several FLAC audio tracks simultaneously (e.g. as sound effects), and provide a choice of Speex channels (e.g. providing commentary in different languages). Such a file is generally possible to create with Ogg, it is however not possible to generically parse such a file, seek on it, understand what codecs are contained in such a file, and dynamically handle and play back such content.

          + +

          Ogg does not know anything about the content it carries and leaves it to the media mapping of each codec to declare and describe itself. There is no meta information available at the Ogg level about the content tracks encapsulated within an Ogg physical bitstream. This is particularly a problem if you don't have all the decoder libraries available and just want to parse an Ogg file to find out what type of data it encapsulates (such as the "file" command under *nix to determine what file it is through magic numbers), or want to seek to a temporal offset without having to decode the data (such as on a Web server that just serves out Ogg files and parts thereof).

          + +

          Ogg Skeleton is being designed to overcome these problems. Ogg Skeleton is a logical bitstream within an Ogg stream that contains information about the other encapsulated logical bitstreams. For each logical bitstream it provides information such as its media type, and explains the way the granulepos field in Ogg pages is mapped to time.

          + +

          Ogg Skeleton is also designed to allow the creation of substreams from Ogg physical bitstreams that retain the original timing information. For example, when cutting out the segment between the 7th and the 59th second of an Ogg file, it would be nice to continue to start this cut out file with a playback time of 7 seconds and not of 0. This is of particular interest if you're streaming this file from a Web server after a query for a temporal subpart such as in http://example.com/video.ogv?t=7-59

          + +

          Specification

          + +

          How to describe the logical bitstreams within an Ogg container?

          + +

          The following information about a logical bitstream is of interest to contain as meta information in the Skeleton:

          +
            +
          • the serial number: it identifies a content track
          • +
          • the mime type: it identifies the content type
          • +
          • other generic name-value fields that can provide meta information such as the language of a track or the video height and width
          • +
          • the number of header packets: this informs a parser about the number of actual header packets in an Ogg logical bitstream
          • +
          • the granule rate: the granule rate represents the data rate in Hz at which content is sampled for the particular logical bitstream, allowing to map a granule position to time by calculating "granulepos / granulerate"
          • +
          • the preroll: the number of past content packets to take into account when decoding the current Ogg page, which is necessary for seeking (vorbis has generally 2, speex 3)
          • +
          • the granuleshift: the number of lower bits from the granulepos field that are used to provide position information for sub-seekable units (like the keyframe shift in theora)
          • +
          • a basetime: it provides a mapping for granule position 0 (for all logical bitstreams) to a playback time; an example use: most content in professional analog video creation actually starts at a time of 1 hour and thus adding this additional field allows them retain this mapping on digitizing their content
          • +
          • a UTC time: it provides a mapping for granule position 0 (for all logical bitstreams) to a real-world clock time allowing to remember e.g. the recording or broadcast time of some content
          • +
          + +

          How to allow the creation of substreams from an Ogg physical bitstream?

          + +

          When cutting out a subpart of an Ogg physical bitstream, the aim is to keep all the content pages intact (including the framing and granule positions) and just change some information in the Skeleton that allows reconstruction of the accurate time mapping. When remultiplexing such a bitstream, it is necessary to take into account all the different contained logical bitstreams. A given cut-in time maps to several different byte positions in the Ogg physical bitstream because each logical bitstream has its relevant information for that time at a different location. In addition, the resolution of each logical bitstream may not be high enough to accommodate for the given cut-in time and thus there may be some surplus information necessary to be remuxed into the new bitstream.

          + +

          The following information is necessary to be added to the Skeleton to allow a correct presentation of a subpart of an Ogg bitstream:

          +
            +
          • the presentation time: this is the actual cut-in time and all logical bitstreams are meant to start presenting from this time onwards, not from the time their data starts, which may be some time before that (because this time may have mapped right into the middle of a packet, or because the logical bitstream has a preroll or a keyframe shift)
          • +
          • the basegranule: this represents the granule number with which this logical bitstream starts in the remuxed stream and provides for each logical bitstream the accurate start time of its data stream; this information is necessary to allow correct decoding and timing of the first data packets contained in a logcial bitstream of a remuxed Ogg stream
          • +
          + +

          Ogg Skeleton version 3.0 Format Specification

          + +

          Adding the above information into an Ogg bitstream without breaking existing Ogg functionality and code requires the use of a logical bitstream for Ogg Skeleton. This logical bitstream may be ignored on decoding such that existing players can still continue to play back Ogg files that have a Skeleton bitstream. Skeleton enriches the Ogg bitstream to provide meta information about structure and content of the Ogg bitstream.

          + +

          The Skeleton logical bitstream starts with an ident header that contains information about all of the logical bitstreams and is mapped into the Skeleton bos page. The first 8 bytes provide the magic identifier "fishead\0". +After the fishead follows a set of secondary header packets, each of which contains information about one logical bitstream. These secondary header packets are identified by an 8 byte code of "fisbone\0". The Skeleton logical bitstream has no actual content packets. Its eos page is included into the stream before any data pages of the other logical bitstreams appear and contains a packet of length 0.

          + +

          The fishead ident header looks as follows:

          +
          +
          +  0                   1                   2                   3
          +  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1| Byte
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Identifier 'fishead\0'                                        | 0-3
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 4-7
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Version major                 | Version minor                 | 8-11
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Presentationtime numerator                                    | 12-15
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 16-19
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Presentationtime denominator                                  | 20-23
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 24-27
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Basetime numerator                                            | 28-31
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 32-35
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Basetime denominator                                          | 36-39
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 40-43
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | UTC                                                           | 44-47
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 48-51
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 52-55
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 56-59
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 60-63
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          +
          +
          +

          The version fields provide version information for the Skeleton track, currently being 3.0 (the number having evolved within the Annodex project).

          + +

          Presentation time and basetime are specified as a rational number, the denominator providing the temporal resolution at which the time is given (e.g. to specify time in milliseconds, provide a denominator of 1000).

          + +

          The fisbone secondary header packet looks as follows:

          +
          +
          +  0                   1                   2                   3
          +  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1| Byte
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Identifier 'fisbone\0'                                        | 0-3
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 4-7
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Offset to message header fields                               | 8-11
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Serial number                                                 | 12-15
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Number of header packets                                      | 16-19
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Granulerate numerator                                         | 20-23
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 24-27
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Granulerate denominator                                       | 28-31
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 32-35
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Basegranule                                                   | 36-39
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + |                                                               | 40-43
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Preroll                                                       | 44-47
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Granuleshift  | Padding/future use                            | 48-51
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          + | Message header fields ...                                     | 52-
          + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          +
          +
          +

          The mime type is provided as a message header field specified in the same way that HTTP header fields are given (e.g. "Content-Type: audio/vorbis"). Further meta information (such as language and screen size) are also included as message header fields. The offset to the message header fields at the beginning of a fisbone packet is included for forward compatibility - to allow further fields to be included into the packet without disrupting the message header field parsing.

          + +

          The granule rate is again given as a rational number in the same way that presentation time and basetime were provided above.

          + +

          A further restriction on how to encapsulate Skeleton into Ogg is proposed to allow for easier parsing:

          +
            +
          • there can only be one Skeleton logical bitstream in a Ogg bitstream
          • +
          • the Skeleton bos page is the very first bos page in the Ogg stream such that it can be identified straight away and decoders don't get confused about it being e.g. Ogg Vorbis without this meta information
          • +
          • the bos pages of all the other logical bistreams come next (a requirement of Ogg)
          • +
          • the secondary header pages of all logical bitstreams come next, including Skeleton's secondary header packets
          • +
          • the Skeleton eos page end the control section of the Ogg stream before any content pages of any of the other logical bitstreams appear
          • +
          + + + + + \ No newline at end of file -- cgit v1.2.3 From 065c12f1e43dbd4d2b3d1e291505cc39ffc05690 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Mon, 28 Apr 2008 03:27:06 +0000 Subject: Clarify that the _destroy() methods call _ogg_free() on their arguments even though there's no explicit constructor. svn path=/trunk/ogg/; revision=14810 --- doc/libogg/ogg_stream_destroy.html | 9 ++++++++- doc/libogg/ogg_sync_destroy.html | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index 5badc94..9a07de3 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -18,7 +18,14 @@

          declared in "ogg/ogg.h";

          This function frees the memory used by the ogg_stream_state struct. -

          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. + +

          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.

          + +

          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 +ogg_stream_clear instead.

          +

          diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html index 19987a2..687aa97 100644 --- a/doc/libogg/ogg_sync_destroy.html +++ b/doc/libogg/ogg_sync_destroy.html @@ -17,7 +17,13 @@

          declared in "ogg/ogg.h";

          -

          This function is used to destroy an ogg_sync_state struct and free all memory used. +

          This function is used to destroy an ogg_sync_state struct and free all memory used.

          + +

          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 ogg_sync_clear instead +to release just the internal memory.



          -- cgit v1.2.3 From 75941aac2594ff0e0d381dd9082b6ed29bb0e698 Mon Sep 17 00:00:00 2001 From: ivo Date: Sun, 31 Aug 2008 23:41:05 +0000 Subject: And speaking of missing links... svn path=/trunk/ogg/; revision=15231 --- doc/index.html | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/index.html b/doc/index.html index 62db559..cdef857 100644 --- a/doc/index.html +++ b/doc/index.html @@ -84,6 +84,7 @@ li {
        • Ogg logical and physical bitstream overview
        • Ogg logical bitstream framing
        • Ogg multi-stream multiplexing
        • +
        • The Ogg Skeleton Metadata Bitstream
        • RFC documentation

          -- cgit v1.2.3 From 5d985ec0e74f5fd4a32b89efcd3e7daea202554f Mon Sep 17 00:00:00 2001 From: ivo Date: Mon, 8 Sep 2008 01:55:55 +0000 Subject: Add RFC5334 and link to it. svn path=/trunk/ogg/; revision=15269 --- doc/index.html | 2 +- doc/rfc5334.txt | 787 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 788 insertions(+), 1 deletion(-) create mode 100644 doc/rfc5334.txt (limited to 'doc') diff --git a/doc/index.html b/doc/index.html index cdef857..a461364 100644 --- a/doc/index.html +++ b/doc/index.html @@ -91,7 +91,7 @@ li {
          + + + + diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html index 32fa766..9485248 100644 --- a/doc/libogg/encoding.html +++ b/doc/libogg/encoding.html @@ -38,6 +38,10 @@ All the libogg specific functions are declared in "ogg/ogg.h". + + + + diff --git a/doc/libogg/general.html b/doc/libogg/general.html index 550ff0c..43788e5 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -79,7 +79,7 @@ All the libogg specific functions are declared in "ogg/ogg.h". - diff --git a/doc/libogg/ogg_iovec_t.html b/doc/libogg/ogg_iovec_t.html new file mode 100644 index 0000000..4b3c32f --- /dev/null +++ b/doc/libogg/ogg_iovec_t.html @@ -0,0 +1,62 @@ + + + +libogg - datatype - ogg_iovec_t + + + + +
          Initializes a buffer for writing using this bitpacking library.
          oggpack_writecheckAsynchronously checks error status of bitpacker write buffer.
          oggpack_reset Clears and resets the buffer to the initial position.
          Submits a raw packet to the streaming layer, so that it can be formed into a page.
          ogg_stream_ioveciniovec version of ogg_stream_packetin() above.
          ogg_stream_pageout Outputs a completed page if the stream contains enough packets to form a full page.
          Returns the sequential page number for this page.
          ogg_packet_clear +ogg_packet_clear Clears the ogg_packet structure.
          + + + + +

          libogg documentation

          libogg - 20011015

          + +

          ogg_iovec_t

          + +

          declared in "ogg/ogg.h"

          + +

          +The ogg_iovec_t struct encapsulates a length-encoded buffer. An array +of ogg_iovec_t is used to pass a list of buffers to functions that +accept data in ogg_iovec_t* form. +

          + + + + + +
          +
          
          +typedef struct {
          +  void *iov_base;
          +  size_t iov_len;
          +} ogg_iovec_t;
          +
          +
          + +

          Relevant Struct Members

          +
          +
          iov_base
          +
          Pointer to the buffer data.
          +
          iov_len
          +
          Length of buffer data in bytes.
          +
          + + +

          +
          + + + + + + + + +

          copyright © 2001 xiph.org foundation

          Ogg Container Format

          libogg documentation

          libogg - 20011015

          + + + + diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html index 8285493..e0e58f4 100644 --- a/doc/libogg/ogg_stream_init.html +++ b/doc/libogg/ogg_stream_init.html @@ -44,7 +44,7 @@ int ogg_stream_init(ogg_stream_state *os,int
        • 0 if successful
        • --1 if unsuccessful. If this fails, the ogg_stream_state was not properly declared before calling this function.
        • +-1 if unsuccessful.

          diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html new file mode 100644 index 0000000..d07d345 --- /dev/null +++ b/doc/libogg/ogg_stream_iovecin.html @@ -0,0 +1,83 @@ + + + +libogg - function - ogg_stream_iovecin + + + + + + + + + +

          libogg documentation

          libogg release 1.0 - 20000615

          + +

          ogg_stream_iovecin

          + +

          declared in "ogg/ogg.h";

          + +

          This function submits packet data (in the form of +an array of ogg_iovec_t, rather than using +an ogg_packet structure) to the +bitstream for page encapsulation. After this is called, more packets +can be submitted, or pages can be written out.

          + +

          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 ogg_stream_state, so the caller +is free to alter the contents of os after this call has returned. + +

          + + + + +
          +
          
          +int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e_o_s, ogg_int64_t granulepos);
          +
          +
          + +

          Parameters

          +
          +
          os
          +
          Pointer to a previously declared ogg_stream_state struct.
          +
          iov
          +
          Length-encoded buffers held in an array of ogg_iovec_t. +
          count
          +
          Length of the iov array. +
          e_o_s
          +
          End of stream flag, analagous to the e_o_s field in an ogg_packet. +
          granulepos
          +
          Granule position value, analagous to the granpos field in an ogg_packet. +
          + + +

          Return Values

          +
          +
        • +0 returned on success. -1 returned in the event of internal error +(currently only caused by a failed memory allocation, a case that can +only occur on embedded systems. It is reasonable to ignore the return +value innormal desktop applications).
        • +
          +

          + +

          +


          + + + + + + + + +

          copyright © 2000 xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          + + + + + diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index 0e88afb..b8c8d02 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -50,7 +50,10 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);

          Return Values

        • -0 is always returned.
        • +0 returned on success. -1 returned in the event of internal error +(currently only caused by a failed memory allocation, a case that can +only occur on embedded systems. It is reasonable to ignore the return +value innormal desktop applications).

          diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index 88d7a9b..a6ebb2a 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -43,7 +43,7 @@ int ogg_stream_pagein(ogg_stream_state *os,

          Return Values

          -
        • -1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, or that the page version was incorrect.
        • +
        • -1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, the page version was incorrect, or a memory allocation failed.
        • 0 means that the page was successfully submitted to the bitstream.
        • diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html index 6f77133..8001d81 100644 --- a/doc/libogg/ogg_sync_buffer.html +++ b/doc/libogg/ogg_sync_buffer.html @@ -45,7 +45,7 @@ char *ogg_sync_buffer(ogg_sync_state *oy, long size);

          Return Values

        • -Returns a pointer to the newly allocated buffer.
        • +Returns a pointer to the newly allocated buffer or NULL on error

          diff --git a/doc/libogg/oggpack_writecheck.html b/doc/libogg/oggpack_writecheck.html new file mode 100644 index 0000000..e53dbac --- /dev/null +++ b/doc/libogg/oggpack_writecheck.html @@ -0,0 +1,81 @@ + + + +libogg - function - oggpack_writecheck + + + + + + + + + +

          libogg documentation

          libogg release 1.0 - 20000615

          + +

          oggpack_writecheck

          + +

          declared in "ogg/ogg.h";

          + +

          This function checks the readiness status of +an oggpack_buffer previously +initialized for writing using the +Ogg bitpacking functions. A write +buffer that encounters an error (such as a failed malloc) will clear +its internal state and release any in-use memory, flagging itself as +'not ready'. Subsequent attempts to write using the buffer will +silently fail. This error state may be detected at any later time by +using oggpack_writecheck(). It is safe but not necessary to +call oggpack_clear() on a buffer that +has flagged an error and released its resources. + +

          Important note to developers: Although libogg checks the +results of memory allocations, these checks are only useful on a +narrow range of embedded platforms. Allocation checks perform no +useful service on a general purpose desktop OS where pages are +routinely overallocated and all allocations succeed whether memory is +available or not. The only way to detect an out of memory condition +on the vast majority of OSes is to watch for and capture segmentation +faults. This function is useful only to embedded developers. + +

          + + + + +
          +
          
          +int  oggpack_writecheck(oggpack_buffer *b);
          +
          +
          + +

          Parameters

          +
          +
          b
          +
          An oggpack_buffer previously initialized for writing.
          +
          + + +

          Return Values

          +
          +
        • zero: buffer is ready for writing
        • +
        • nonzero: buffer is not ready or encountered an error
        • +
          +

          + +

          +


          + + + + + + + + +

          copyright © 2000 xiph.org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          + + + + + -- cgit v1.2.3 From 23c6a02ac82e3d5736173e2224ff9cc083fc5a52 Mon Sep 17 00:00:00 2001 From: Monty Date: Wed, 20 May 2009 00:26:20 +0000 Subject: Update copyright on modified pages, render name and versioning consistent. svn path=/trunk/ogg/; revision=16018 --- doc/libogg/bitpacking.html | 6 +++--- doc/libogg/datastructures.html | 6 +++--- doc/libogg/decoding.html | 6 +++--- doc/libogg/encoding.html | 6 +++--- doc/libogg/general.html | 6 +++--- doc/libogg/index.html | 6 +++--- doc/libogg/ogg_iovec_t.html | 6 +++--- doc/libogg/ogg_packet.html | 6 +++--- doc/libogg/ogg_packet_clear.html | 6 +++--- doc/libogg/ogg_page.html | 6 +++--- doc/libogg/ogg_page_bos.html | 6 +++--- doc/libogg/ogg_page_checksum_set.html | 6 +++--- doc/libogg/ogg_page_continued.html | 6 +++--- doc/libogg/ogg_page_eos.html | 6 +++--- doc/libogg/ogg_page_granulepos.html | 6 +++--- doc/libogg/ogg_page_packets.html | 6 +++--- doc/libogg/ogg_page_pageno.html | 6 +++--- doc/libogg/ogg_page_serialno.html | 6 +++--- doc/libogg/ogg_page_version.html | 6 +++--- doc/libogg/ogg_stream_clear.html | 6 +++--- doc/libogg/ogg_stream_destroy.html | 6 +++--- doc/libogg/ogg_stream_eos.html | 6 +++--- doc/libogg/ogg_stream_flush.html | 6 +++--- doc/libogg/ogg_stream_init.html | 6 +++--- doc/libogg/ogg_stream_iovecin.html | 6 +++--- doc/libogg/ogg_stream_packetin.html | 6 +++--- doc/libogg/ogg_stream_packetpeek.html | 6 +++--- doc/libogg/ogg_stream_pagein.html | 6 +++--- doc/libogg/ogg_stream_reset.html | 6 +++--- doc/libogg/ogg_stream_state.html | 6 +++--- doc/libogg/ogg_sync_buffer.html | 6 +++--- doc/libogg/ogg_sync_clear.html | 6 +++--- doc/libogg/ogg_sync_destroy.html | 6 +++--- doc/libogg/ogg_sync_init.html | 6 +++--- doc/libogg/ogg_sync_pageout.html | 6 +++--- doc/libogg/ogg_sync_pageseek.html | 6 +++--- doc/libogg/ogg_sync_reset.html | 6 +++--- doc/libogg/ogg_sync_state.html | 6 +++--- doc/libogg/ogg_sync_wrote.html | 6 +++--- doc/libogg/oggpack_adv.html | 2 +- doc/libogg/oggpack_adv1.html | 6 +++--- doc/libogg/oggpack_bits.html | 6 +++--- doc/libogg/oggpack_buffer.html | 6 +++--- doc/libogg/oggpack_get_buffer.html | 6 +++--- doc/libogg/oggpack_look.html | 6 +++--- doc/libogg/oggpack_look1.html | 6 +++--- doc/libogg/oggpack_read.html | 6 +++--- doc/libogg/oggpack_read1.html | 6 +++--- doc/libogg/oggpack_readinit.html | 6 +++--- doc/libogg/oggpack_reset.html | 6 +++--- doc/libogg/oggpack_write.html | 6 +++--- doc/libogg/oggpack_writecheck.html | 6 +++--- doc/libogg/oggpack_writeclear.html | 6 +++--- doc/libogg/oggpack_writeinit.html | 6 +++--- doc/libogg/overview.html | 6 +++--- 55 files changed, 163 insertions(+), 163 deletions(-) (limited to 'doc') diff --git a/doc/libogg/bitpacking.html b/doc/libogg/bitpacking.html index a285644..446f879 100644 --- a/doc/libogg/bitpacking.html +++ b/doc/libogg/bitpacking.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -90,11 +90,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/datastructures.html b/doc/libogg/datastructures.html index 542aef2..4a0bee8 100644 --- a/doc/libogg/datastructures.html +++ b/doc/libogg/datastructures.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -46,11 +46,11 @@ All the libogg specific data structures are declared in "ogg/ogg.h".
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html index 19a7f8f..7ea3240 100644 --- a/doc/libogg/decoding.html +++ b/doc/libogg/decoding.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -87,11 +87,11 @@ advancing decoding.
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html index 9485248..fc409be 100644 --- a/doc/libogg/encoding.html +++ b/doc/libogg/encoding.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -55,11 +55,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/general.html b/doc/libogg/general.html index 43788e5..1fa5136 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -92,11 +92,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/index.html b/doc/libogg/index.html index 6b991b6..8e6349c 100644 --- a/doc/libogg/index.html +++ b/doc/libogg/index.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -26,11 +26,11 @@ Libogg contains necessary functionality to create, decode, and work with Ogg bit
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_iovec_t.html b/doc/libogg/ogg_iovec_t.html index 4b3c32f..9a95fa7 100644 --- a/doc/libogg/ogg_iovec_t.html +++ b/doc/libogg/ogg_iovec_t.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg - 20011015

          libogg release 1.1.4 - 20090520

          @@ -49,11 +49,11 @@ typedef struct {
          - + - +

          copyright © 2001 xiph.org foundation

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg - 20011015

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html index cf34ecf..3624469 100644 --- a/doc/libogg/ogg_packet.html +++ b/doc/libogg/ogg_packet.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg - 20011015

          libogg release 1.1.4 - 20090520

          @@ -62,11 +62,11 @@ typedef struct {
          - + - +

          copyright © 2001 xiph.org foundation

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg - 20011015

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index e1603ba..0f6172f 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg - 20011218

          libogg release 1.1.4 - 20090520

          @@ -48,11 +48,11 @@ None.
          - + - +

          copyright © 2001 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg - 20011218

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html index 19ce4d3..3706eaf 100644 --- a/doc/libogg/ogg_page.html +++ b/doc/libogg/ogg_page.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg - 200011015

          libogg release 1.1.4 - 20090520

          @@ -61,11 +61,11 @@ typedef struct {
          - + - +

          copyright © 2001 xiph.org foundation

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg version - 20011015

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_page_bos.html b/doc/libogg/ogg_page_bos.html index e6b5d7a..2c79f31 100644 --- a/doc/libogg/ogg_page_bos.html +++ b/doc/libogg/ogg_page_bos.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -51,11 +51,11 @@ greater than 0 if this page is the beginning of a bitstream.
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_page_checksum_set.html b/doc/libogg/ogg_page_checksum_set.html index 1b3e656..b1d6c27 100644 --- a/doc/libogg/ogg_page_checksum_set.html +++ b/doc/libogg/ogg_page_checksum_set.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg - 20011218

          libogg release 1.1.4 - 20090520

          @@ -48,11 +48,11 @@ None.
          - + - +

          copyright © 2001 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg - 20011218

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_page_continued.html b/doc/libogg/ogg_page_continued.html index 664ddf6..7b3af35 100644 --- a/doc/libogg/ogg_page_continued.html +++ b/doc/libogg/ogg_page_continued.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -50,11 +50,11 @@ int ogg_page_continued(ogg_page *og);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_page_eos.html b/doc/libogg/ogg_page_eos.html index 5093dbf..f5f136f 100644 --- a/doc/libogg/ogg_page_eos.html +++ b/doc/libogg/ogg_page_eos.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -51,11 +51,11 @@ greater than zero if this page contains the end of a bitstream.
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html index 688c1fa..b0a2ab1 100644 --- a/doc/libogg/ogg_page_granulepos.html +++ b/doc/libogg/ogg_page_granulepos.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -51,11 +51,11 @@ int ogg_page_granulepos(ogg_page *og);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html index 63053ed..8e3327e 100644 --- a/doc/libogg/ogg_page_packets.html +++ b/doc/libogg/ogg_page_packets.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg - 20011218

          libogg release 1.1.4 - 20090520

          @@ -61,11 +61,11 @@ ogg_page_continued(page) will return non-zero.

          - + - +

          copyright © 2001 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg - 20011218

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html index e3aaf57..d87ff76 100644 --- a/doc/libogg/ogg_page_pageno.html +++ b/doc/libogg/ogg_page_pageno.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -49,11 +49,11 @@ int ogg_page_pageno(ogg_page *og);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_page_serialno.html b/doc/libogg/ogg_page_serialno.html index 0b87ae9..1aaf932 100644 --- a/doc/libogg/ogg_page_serialno.html +++ b/doc/libogg/ogg_page_serialno.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -49,11 +49,11 @@ int ogg_page_serialno(ogg_page *og);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_page_version.html b/doc/libogg/ogg_page_version.html index 5335781..a7ad7e8 100644 --- a/doc/libogg/ogg_page_version.html +++ b/doc/libogg/ogg_page_version.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -49,11 +49,11 @@ int ogg_page_version(ogg_page *og);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html index ba69195..0f899a0 100644 --- a/doc/libogg/ogg_stream_clear.html +++ b/doc/libogg/ogg_stream_clear.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -47,11 +47,11 @@ int ogg_stream_clear(ogg_stream_state *os);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index 9a07de3..5af7586 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -55,11 +55,11 @@ int ogg_stream_destroy(ogg_stream_state *os);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html index d9a9b94..ba35e7c 100644 --- a/doc/libogg/ogg_stream_eos.html +++ b/doc/libogg/ogg_stream_eos.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -48,11 +48,11 @@ int ogg_stream_eos(ogg_stream_state *os);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index 5d9b0ac..73e4e40 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -53,11 +53,11 @@ Nonzero means that remaining packets have successfully been flushed into the pag
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html index e0e58f4..9eb1b66 100644 --- a/doc/libogg/ogg_stream_init.html +++ b/doc/libogg/ogg_stream_init.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -52,11 +52,11 @@ int ogg_stream_init(ogg_stream_state *os,int
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html index d07d345..9409ace 100644 --- a/doc/libogg/ogg_stream_iovecin.html +++ b/doc/libogg/ogg_stream_iovecin.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -69,11 +69,11 @@ value innormal desktop applications).
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index b8c8d02..57fe9f6 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -61,11 +61,11 @@ value innormal desktop applications).
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index 8b4397b..1bd44af 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg version 1.26 - 20010527

          libogg release 1.1.4 - 20090520

          @@ -71,11 +71,11 @@ in the data. - + - +

          copyright © 2001 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg version 1.26 - 20010527

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index a6ebb2a..5c021c6 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -53,11 +53,11 @@ int ogg_stream_pagein(ogg_stream_state *os,
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index 1987fb8..1b4fb36 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -47,11 +47,11 @@ int ogg_stream_reset(ogg_stream_state *os);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index 0c384d9..bb18bfc 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -108,11 +108,11 @@ typedef struct {
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html index 8001d81..3c61010 100644 --- a/doc/libogg/ogg_sync_buffer.html +++ b/doc/libogg/ogg_sync_buffer.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -53,11 +53,11 @@ Returns a pointer to the newly allocated buffer or NULL on error
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_sync_clear.html b/doc/libogg/ogg_sync_clear.html index 5b1e558..5f529be 100644 --- a/doc/libogg/ogg_sync_clear.html +++ b/doc/libogg/ogg_sync_clear.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -48,11 +48,11 @@ int ogg_sync_clear(ogg_sync_state *oy);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html index 687aa97..36c8cb2 100644 --- a/doc/libogg/ogg_sync_destroy.html +++ b/doc/libogg/ogg_sync_destroy.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -54,11 +54,11 @@ int ogg_sync_destroy(ogg_sync_state *oy);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_sync_init.html b/doc/libogg/ogg_sync_init.html index be6cdf0..393f195 100644 --- a/doc/libogg/ogg_sync_init.html +++ b/doc/libogg/ogg_sync_init.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -49,11 +49,11 @@ int ogg_sync_init(ogg_sync_state *oy);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html index f465e79..26a1ab1 100644 --- a/doc/libogg/ogg_sync_pageout.html +++ b/doc/libogg/ogg_sync_pageout.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -65,11 +65,11 @@ if (ogg_sync_pageout(&oy, &og) != 1) {
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html index ffc7b90..4c09b33 100644 --- a/doc/libogg/ogg_sync_pageseek.html +++ b/doc/libogg/ogg_sync_pageseek.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -54,11 +54,11 @@ n means that the page was synced at the current location, with a page length of
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_sync_reset.html b/doc/libogg/ogg_sync_reset.html index e327f2f..40539a4 100644 --- a/doc/libogg/ogg_sync_reset.html +++ b/doc/libogg/ogg_sync_reset.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -49,11 +49,11 @@ int ogg_sync_reset(ogg_sync_state *oy);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html index 425200a..801217f 100644 --- a/doc/libogg/ogg_sync_state.html +++ b/doc/libogg/ogg_sync_state.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -64,11 +64,11 @@ typedef struct {
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index d5899c6..3a2a812 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -59,11 +59,11 @@ int ogg_sync_wrote(ogg_sync_state *oy, long by
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_adv.html b/doc/libogg/oggpack_adv.html index 529a409..be1abe5 100644 --- a/doc/libogg/oggpack_adv.html +++ b/doc/libogg/oggpack_adv.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_adv1.html b/doc/libogg/oggpack_adv1.html index 5ed2a21..281e723 100644 --- a/doc/libogg/oggpack_adv1.html +++ b/doc/libogg/oggpack_adv1.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -48,11 +48,11 @@ void oggpack_adv1(oggpack_buffer *b);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_bits.html b/doc/libogg/oggpack_bits.html index d5de0dc..90f6d96 100644 --- a/doc/libogg/oggpack_bits.html +++ b/doc/libogg/oggpack_bits.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -48,11 +48,11 @@ long oggpack_bits(oggpack_buffer *b);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_buffer.html b/doc/libogg/oggpack_buffer.html index a8d01b3..c0ae730 100644 --- a/doc/libogg/oggpack_buffer.html +++ b/doc/libogg/oggpack_buffer.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -53,11 +53,11 @@ typedef struct {
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_get_buffer.html b/doc/libogg/oggpack_get_buffer.html index f99028c..9362341 100644 --- a/doc/libogg/oggpack_get_buffer.html +++ b/doc/libogg/oggpack_get_buffer.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -48,11 +48,11 @@ No values are returned.
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_look.html b/doc/libogg/oggpack_look.html index a795603..2012e16 100644 --- a/doc/libogg/oggpack_look.html +++ b/doc/libogg/oggpack_look.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -52,11 +52,11 @@ long oggpack_look(oggpack_buffer *b,int bits)
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_look1.html b/doc/libogg/oggpack_look1.html index a6f72b3..13f01c6 100644 --- a/doc/libogg/oggpack_look1.html +++ b/doc/libogg/oggpack_look1.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -49,11 +49,11 @@ long oggpack_look1(oggpack_buffer *b);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_read.html b/doc/libogg/oggpack_read.html index 313cd8b..bf47edc 100644 --- a/doc/libogg/oggpack_read.html +++ b/doc/libogg/oggpack_read.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -51,11 +51,11 @@ long oggpack_read(oggpack_buffer *b,int bits);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_read1.html b/doc/libogg/oggpack_read1.html index 80078e4..76364da 100644 --- a/doc/libogg/oggpack_read1.html +++ b/doc/libogg/oggpack_read1.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -49,11 +49,11 @@ long oggpack_read1(oggpack_buffer *b);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_readinit.html b/doc/libogg/oggpack_readinit.html index 0177e8e..1bc1269 100644 --- a/doc/libogg/oggpack_readinit.html +++ b/doc/libogg/oggpack_readinit.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -50,11 +50,11 @@ No values are returned.
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_reset.html b/doc/libogg/oggpack_reset.html index 23a0591..e0b4e31 100644 --- a/doc/libogg/oggpack_reset.html +++ b/doc/libogg/oggpack_reset.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -48,11 +48,11 @@ No values are returned.
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_write.html b/doc/libogg/oggpack_write.html index be0df8e..73e524c 100644 --- a/doc/libogg/oggpack_write.html +++ b/doc/libogg/oggpack_write.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -54,11 +54,11 @@ No values are returned.
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_writecheck.html b/doc/libogg/oggpack_writecheck.html index e53dbac..95ebee7 100644 --- a/doc/libogg/oggpack_writecheck.html +++ b/doc/libogg/oggpack_writecheck.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -67,11 +67,11 @@ int oggpack_writecheck(oggpack_buffer *b);
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_writeclear.html b/doc/libogg/oggpack_writeclear.html index 8e69106..1011a4e 100644 --- a/doc/libogg/oggpack_writeclear.html +++ b/doc/libogg/oggpack_writeclear.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -48,11 +48,11 @@ No values are returned.
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/oggpack_writeinit.html b/doc/libogg/oggpack_writeinit.html index a384cd6..b42e5de 100644 --- a/doc/libogg/oggpack_writeinit.html +++ b/doc/libogg/oggpack_writeinit.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -48,11 +48,11 @@ No values are returned.
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          diff --git a/doc/libogg/overview.html b/doc/libogg/overview.html index 84979e0..a7ee887 100644 --- a/doc/libogg/overview.html +++ b/doc/libogg/overview.html @@ -9,7 +9,7 @@ - +

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          @@ -31,11 +31,11 @@ The libogg API consists of the following functional categories:
          - + - +

          copyright © 2000 xiph.org

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.0 - 20000615

          libogg release 1.1.4 - 20090520

          -- cgit v1.2.3 From 03f6a49de9eb639c241e98d1b45b6c114aff1e2c Mon Sep 17 00:00:00 2001 From: Monty Date: Wed, 27 May 2009 04:50:41 +0000 Subject: Commit doc updates relating to async error interface svn path=/trunk/ogg/; revision=16049 --- doc/libogg/Makefile.am | 3 +- doc/libogg/decoding.html | 4 ++ doc/libogg/general.html | 4 ++ doc/libogg/ogg_stream_check.html | 71 +++++++++++++++++++++++++++ doc/libogg/ogg_stream_clear.html | 2 +- doc/libogg/ogg_stream_destroy.html | 4 +- doc/libogg/ogg_stream_eos.html | 2 +- doc/libogg/ogg_stream_flush.html | 2 +- doc/libogg/ogg_stream_iovecin.html | 5 +- doc/libogg/ogg_stream_packetin.html | 5 +- doc/libogg/ogg_stream_packetout.html | 4 +- doc/libogg/ogg_stream_packetpeek.html | 4 +- doc/libogg/ogg_stream_pagein.html | 2 +- doc/libogg/ogg_stream_pageout.html | 2 +- doc/libogg/ogg_stream_reset.html | 2 +- doc/libogg/ogg_stream_reset_serialno.html | 2 +- doc/libogg/ogg_sync_check.html | 71 +++++++++++++++++++++++++++ doc/libogg/ogg_sync_pageout.html | 8 ++-- doc/libogg/ogg_sync_pageseek.html | 2 +- doc/libogg/ogg_sync_wrote.html | 2 +- doc/libogg/reference.html | 3 ++ doc/libogg/vorbis_comment.html | 70 --------------------------- doc/libogg/vorbis_info.html | 80 ------------------------------- 23 files changed, 175 insertions(+), 179 deletions(-) create mode 100644 doc/libogg/ogg_stream_check.html create mode 100644 doc/libogg/ogg_sync_check.html delete mode 100644 doc/libogg/vorbis_comment.html delete mode 100644 doc/libogg/vorbis_info.html (limited to 'doc') diff --git a/doc/libogg/Makefile.am b/doc/libogg/Makefile.am index 8a51188..c83f4e7 100644 --- a/doc/libogg/Makefile.am +++ b/doc/libogg/Makefile.am @@ -22,7 +22,6 @@ doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ oggpack_read1.html oggpack_readinit.html oggpack_reset.html\ oggpack_write.html oggpack_writealign.html oggpack_writeclear.html\ oggpack_writecopy.html oggpack_writeinit.html oggpack_writetrunc.html\ - overview.html reference.html style.css vorbis_comment.html\ - vorbis_info.html + overview.html reference.html style.css EXTRA_DIST = $(doc_DATA) diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html index 7ea3240..90f5ac3 100644 --- a/doc/libogg/decoding.html +++ b/doc/libogg/decoding.html @@ -53,6 +53,10 @@ All the libogg specific functions are declared in "ogg/ogg.h". Frees the synchronization struct. +ogg_sync_check + Check for asynchronous errors. + + ogg_sync_buffer Exposes a buffer from the synchronization layer in order to read data. diff --git a/doc/libogg/general.html b/doc/libogg/general.html index 1fa5136..526b635 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -43,6 +43,10 @@ All the libogg specific functions are declared in "ogg/ogg.h". Frees the entire Ogg stream. +ogg_stream_check + Check for asyncronous errors. + + ogg_stream_eos Indicates whether we are at the end of the stream. diff --git a/doc/libogg/ogg_stream_check.html b/doc/libogg/ogg_stream_check.html new file mode 100644 index 0000000..8f44925 --- /dev/null +++ b/doc/libogg/ogg_stream_check.html @@ -0,0 +1,71 @@ + + + +libogg - function - ogg_stream_check + + + + + + + + + +

          libogg documentation

          libogg release 1.1.4 - 20090520

          + +

          ogg_stream_check

          + +

          declared in "ogg/ogg.h";

          + +

          This function is used to check the error or readiness condition of an ogg_stream_state structure. +

          It is safe practice to ignore unrecoverable errors (such as an internal error caused by a malloc() failure) returned by ogg stream synchronization calls. Should an +internal error occur, the ogg_stream_statestructure will be cleared (equivalent to a +call to +ogg_stream_clear) and subsequent calls +using this ogg_stream_state will be +noops. Error detection is then handled via a single call to +ogg_stream_check at the end of the operational block.

          + +

          + + + + +
          +
          
          +int ogg_stream_check(ogg_stream_state *os);
          +
          +
          + +

          Parameters

          +
          +
          os
          +
          Pointer to a previously declared ogg_stream_state struct.
          +
          + + +

          Return Values

          +
          +
        • +0 is returned if the ogg_stream_state structure is initialized and ready.
        • +
        • +nonzero is returned if the structure was never initialized, or if an unrecoverable internal error occurred in a previous call using the passed in ogg_stream_state struct.
        • +
          +

          + +

          +


          + + + + + + + + +

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.1.4 - 20090527

          + + + + + diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html index 0f899a0..337c1a0 100644 --- a/doc/libogg/ogg_stream_clear.html +++ b/doc/libogg/ogg_stream_clear.html @@ -17,7 +17,7 @@

          declared in "ogg/ogg.h";

          -

          This function clears the memory used by the ogg_stream_state struct, but does not free it. +

          This function clears and frees the internal memory used by the ogg_stream_state struct, but does not free the structure itself. It is safe to call ogg_stream_clear on the same structure more than once.

          diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index 5af7586..f7cbbfa 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -17,7 +17,9 @@

          declared in "ogg/ogg.h";

          -

          This function frees the memory used by the ogg_stream_state struct. +

          This function frees the internal memory used by +the ogg_stream_state struct as +well as the structure itself.

          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.

          diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html index ba35e7c..22c5b91 100644 --- a/doc/libogg/ogg_stream_eos.html +++ b/doc/libogg/ogg_stream_eos.html @@ -38,7 +38,7 @@ int ogg_stream_eos(ogg_stream_state *os);

          Return Values

          -
        • 1 if we are at the end of the stream.
        • +
        • 1 if we are at the end of the stream or an internal error occurred.
        • 0 if we have not yet reached the end of the stream.
        • diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index 73e4e40..db5380a 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -43,7 +43,7 @@ int ogg_stream_flush(ogg_stream_state *os, <

          Return Values

          -
        • 0 means that all packet data has already been flushed into pages, and there are no packets to put into the page.
        • +
        • 0 means that all packet data has already been flushed into pages, and there are no packets to put into the page. 0 is also returned in the case of an ogg_stream_state that has been cleared explicitly or implicitly due to an internal error.
        • Nonzero means that remaining packets have successfully been flushed into the page.
        • diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html index 9409ace..f3dde39 100644 --- a/doc/libogg/ogg_stream_iovecin.html +++ b/doc/libogg/ogg_stream_iovecin.html @@ -58,10 +58,7 @@ int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e

          Return Values

        • -0 returned on success. -1 returned in the event of internal error -(currently only caused by a failed memory allocation, a case that can -only occur on embedded systems. It is reasonable to ignore the return -value innormal desktop applications).
        • +0 returned on success. -1 returned in the event of internal error.

          diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index 57fe9f6..ddf8353 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -50,10 +50,7 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);

          Return Values

        • -0 returned on success. -1 returned in the event of internal error -(currently only caused by a failed memory allocation, a case that can -only occur on embedded systems. It is reasonable to ignore the return -value innormal desktop applications).
        • +0 returned on success. -1 returned in the event of internal error.

          diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html index 8563849..279f9cc 100644 --- a/doc/libogg/ogg_stream_packetout.html +++ b/doc/libogg/ogg_stream_packetout.html @@ -60,8 +60,8 @@ on this stream state.

          Return Values

            -
          • -1 if we are out of sync and there is a gap in the data. Usually this will not be a fatal error and subsequent calls to ogg_stream_packetout are likely to succeed. op has not been updated.
          • -
          • 0 if there is insufficient data available to complete a packet. op has not been updated. +
          • -1 if we are out of sync and there is a gap in the data. This is usually a recoverable error and subsequent calls to ogg_stream_packetout are likely to succeed. op has not been updated.
          • +
          • 0 if there is insufficient data available to complete a packet, or on unrecoverable internal error occurred. op has not been updated.
          • 1 if a packet was assembled normally. op contains the next packet from the stream.
          diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index 1bd44af..5c81393 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -58,8 +58,8 @@ packet?" check.

          Return Values

            -
          • -1 if there's no packet available due to lost sync or a hole -in the data.
          • +
          • -1 if there's no packet available due to lost sync or a hole in the data.
          • +
          • 0 if there is insufficient data available to complete a packet, or on unrecoverable internal error occurred.
          • 1 if a packet is available.
          diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index 5c021c6..9542c20 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -43,7 +43,7 @@ int ogg_stream_pagein(ogg_stream_state *os,

          Return Values

          -
        • -1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, the page version was incorrect, or a memory allocation failed.
        • +
        • -1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, the page version was incorrect, or an internal error accurred.
        • 0 means that the page was successfully submitted to the bitstream.
        • diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html index bf0d484..d916467 100644 --- a/doc/libogg/ogg_stream_pageout.html +++ b/doc/libogg/ogg_stream_pageout.html @@ -59,7 +59,7 @@ ogg_stream_flush().

          Return Values

          -
        • Zero means that insufficient data has accumulated to fill a page. In +
        • Zero means that insufficient data has accumulated to fill a page, or an internal error occurred. In this case og is not modified.
        • Non-zero means that a page has been completed and returned.
        • diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index 1b4fb36..663c05b 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -39,7 +39,7 @@ int ogg_stream_reset(ogg_stream_state *os);

          Return Values

        • -0 is always returned.
        • +0 indicates success. nonzero is returned on internal error.

          diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html index 7314220..be606e9 100644 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -45,7 +45,7 @@ int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);

          Return Values

        • -0 is always returned.
        • +0 indicates success. nonzero is returned on internal error.

          diff --git a/doc/libogg/ogg_sync_check.html b/doc/libogg/ogg_sync_check.html new file mode 100644 index 0000000..b1ed8ce --- /dev/null +++ b/doc/libogg/ogg_sync_check.html @@ -0,0 +1,71 @@ + + + +libogg - function - ogg_sync_check + + + + +

          + + + + +

          libogg documentation

          libogg release 1.1.4 - 20090520

          + +

          ogg_sync_check

          + +

          declared in "ogg/ogg.h";

          + +

          This function is used to check the error or readiness condition of an ogg_sync_state structure. +

          It is safe practice to ignore unrecoverable errors (such as an internal error caused by a malloc() failure) returned by ogg stream synchronization calls. Should an +internal error occur, the ogg_sync_statestructure will be cleared (equivalent to a +call to +ogg_sync_clear) and subsequent calls +using this ogg_sync_state will be +noops. Error detection is then handled via a single call to +ogg_sync_check at the end of the operational block.

          + +

          + + + + +
          +
          
          +int ogg_sync_check(ogg_sync_state *oy);
          +
          +
          + +

          Parameters

          +
          +
          oy
          +
          Pointer to a previously declared ogg_sync_state struct.
          +
          + + +

          Return Values

          +
          +
        • +0 is returned if the ogg_sync_state structure is initialized and ready.
        • +
        • +nonzero is returned if the structure was never initialized, or if an unrecoverable internal error occurred in a previous call using the passed in ogg_sync_state struct.
        • +
          +

          + +

          +


          + + + + + + + + +

          copyright © 2000-2009 Xiph.Org

          Ogg Container Format

          libogg documentation

          libogg release 1.1.4 - 20090527

          + + + + + diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html index 26a1ab1..c42fe30 100644 --- a/doc/libogg/ogg_sync_pageout.html +++ b/doc/libogg/ogg_sync_pageout.html @@ -44,11 +44,9 @@ int ogg_sync_pageout(ogg_sync_state *oy, Return Values
          -
        • -1 if we were not properly synced and had to skip some bytes.
        • -
        • -0 if we need more data to verify a page.
        • -
        • -1 if we have a page.
        • +
        • -1 returned if stream has not yet captured sync (bytes were skipped).
        • +
        • 0 returned if more data needed or an internal error occurred.
        • +
        • 1 indicated a page was synced and returned.
        • diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html index 4c09b33..6414c22 100644 --- a/doc/libogg/ogg_sync_pageseek.html +++ b/doc/libogg/ogg_sync_pageseek.html @@ -44,7 +44,7 @@ int ogg_sync_pageseek(ogg_sync_state *oy,

        • -n means that we skipped n bytes within the bitstream.
        • -0 means that the page isn't ready and we need more data. No bytes have been skipped.
        • +0 means that the page isn't ready and we need more data, or than an internal error occurred. No bytes have been skipped.
        • n means that the page was synced at the current location, with a page length of n bytes. diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index 3a2a812..9aa328a 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -49,7 +49,7 @@ int ogg_sync_wrote(ogg_sync_state *oy, long by

          Return Values

          -
        • -1 if the number of bytes written overflows the internal storage of the ogg_sync_state struct. +
        • -1 if the number of bytes written overflows the internal storage of the ogg_sync_state struct or an internal error occurred.
        • 0 in all other cases.
        • diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html index c5e8002..a459ed4 100644 --- a/doc/libogg/reference.html +++ b/doc/libogg/reference.html @@ -25,6 +25,7 @@
          Bitpacking
          oggpack_writeinit()
          +oggpack_writecheck()
          oggpack_reset()
          oggpack_writetrunc()
          oggpack_writealign()
          @@ -44,6 +45,7 @@
          Decoding-Related
          ogg_sync_init()
          +ogg_sync_check()
          ogg_sync_clear()
          ogg_sync_destroy()
          ogg_sync_reset()
          @@ -62,6 +64,7 @@
          General
          ogg_stream_init()
          +ogg_stream_check()
          ogg_stream_clear()
          ogg_stream_reset()
          ogg_stream_reset_serialno()
          diff --git a/doc/libogg/vorbis_comment.html b/doc/libogg/vorbis_comment.html deleted file mode 100644 index 09d81f8..0000000 --- a/doc/libogg/vorbis_comment.html +++ /dev/null @@ -1,70 +0,0 @@ - - - -Vorbisfile - datatype - vorbis_comment - - - - - - - - - -

          Vorbisfile documentation

          libVorbisfile version 1.65 - 20020702

          - -

          vorbis_comment

          - -

          declared in "vorbis/codec.h"

          - -

          -The vorbis_comment structure defines an Ogg Vorbis comment. -

          -Only the fields the program needs must be defined. If a field isn't -defined by the application, it will either be blank (if it's a string value) -or set to some reasonable default (usually 0). -

          - - - - - -
          -
          typedef struct vorbis_comment{
          -  /* unlimited user comment fields. */
          -  char **user_comments;
          -  int  *comment_lengths;
          -  int   comments;
          -  char *vendor;
          -
          -} vorbis_comment;
          -
          - -

          Parameters

          -
          -
          user_comments
          -
          Unlimited user comment array. The individual strings in the array are 8 bit clean, by the Vorbis specification, and as such the comment_lengths array should be consulted to determine string length. For convenience, each string is also NULL-terminated by the decode library (although Vorbis comments are not NULL terminated within the bitstream itself).
          -
          comment_lengths
          -
          An array that stores the length of each comment string
          -
          comments
          -
          number of user comments in user_comments field.
          -
          vendor
          -
          Information about the creator of the file. Stored in a standard C 0-terminated string.
          -
          - - -

          -
          - - - - - - - - -

          copyright © 2002 Xiph.org Foundation

          Ogg Container Format

          Vorbisfile documentation

          libVorbisfile version 1.65 - 20020719

          - - - - diff --git a/doc/libogg/vorbis_info.html b/doc/libogg/vorbis_info.html deleted file mode 100644 index ec16a8b..0000000 --- a/doc/libogg/vorbis_info.html +++ /dev/null @@ -1,80 +0,0 @@ - - - -Vorbisfile - datatype - vorbis_info - - - - - - - - - -

          Vorbisfile documentation

          libVorbisfile version 1.65 - 20020702

          - -

          vorbis_info

          - -

          declared in "vorbis/codec.h"

          - -

          -The vorbis_info structure contains basic information about the audio in a vorbis bitstream. -

          - - - - - -
          -
          typedef struct vorbis_info{
          -  int version;
          -  int channels;
          -  long rate;
          -  
          -  long bitrate_upper;
          -  long bitrate_nominal;
          -  long bitrate_lower;
          -  long bitrate_window;
          -
          -  void *codec_setup;
          -
          -} vorbis_info;
          -
          - -

          Relevant Struct Members

          -
          -
          version
          -
          Vorbis encoder version used to create this bitstream.
          -
          channels
          -
          Int signifying number of channels in bitstream.
          -
          rate
          -
          Sampling rate of the bitstream.
          -
          bitrate_upper
          -
          Specifies the upper limit in a VBR bitstream. If the value matches the bitrate_nominal and bitrate_lower parameters, the stream is fixed bitrate. May be unset if no limit exists.
          -
          bitrate_nominal
          -
          Specifies the average bitrate for a VBR bitstream. May be unset. If the bitrate_upper and bitrate_lower parameters match, the stream is fixed bitrate.
          -
          bitrate_lower
          -
          Specifies the lower limit in a VBR bitstream. If the value matches the bitrate_nominal and bitrate_upper parameters, the stream is fixed bitrate. May be unset if no limit exists.
          -
          bitrate_window
          -
          Currently unset.
          - -
          codec_setup
          -
          Internal structure that contains the detailed/unpacked configuration for decoding the current Vorbis bitstream.
          -
          - - -

          -
          - - - - - - - - -

          copyright © 2002 Xiph.org

          Ogg Container Format

          Vorbisfile documentation

          libVorbisfile version 1.65 - 20020702

          - - - - -- cgit v1.2.3 From 35af843a73e2f0943613ddb9f5ea3e08569c88fc Mon Sep 17 00:00:00 2001 From: Monty Date: Wed, 15 Jul 2009 21:39:59 +0000 Subject: correct a typo which referred to os instead of op svn path=/trunk/ogg/; revision=16289 --- doc/libogg/ogg_stream_packetin.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index ddf8353..3cceea5 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -25,7 +25,7 @@ or pages can be written out.

          packet with data. The data in the packet is copied into the internal storage managed by the ogg_stream_state, so the caller -is free to alter the contents of os after this call has returned. +is free to alter the contents of op after this call has returned.

          -- cgit v1.2.3 From d2aa9af42c8e03caed976bafaf8cdba1ac0c6527 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Mon, 5 Oct 2009 03:19:05 +0000 Subject: Correct return value documentation for two calls. svn path=/trunk/ogg/; revision=16616 --- doc/libogg/ogg_page_granulepos.html | 2 +- doc/libogg/ogg_page_pageno.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html index b0a2ab1..bfd5f66 100644 --- a/doc/libogg/ogg_page_granulepos.html +++ b/doc/libogg/ogg_page_granulepos.html @@ -26,7 +26,7 @@ diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html index d87ff76..5e428c0 100644 --- a/doc/libogg/ogg_page_pageno.html +++ b/doc/libogg/ogg_page_pageno.html @@ -24,7 +24,7 @@ -- cgit v1.2.3 From 6baff18d8454e700d9f9980181f488aee9a7c439 Mon Sep 17 00:00:00 2001 From: Gregory Maxwell Date: Sun, 29 Nov 2009 05:28:32 +0000 Subject: ogg_stream_pageout.html: Comment on calling pageout in a loop based on feedback from Diablo-D3 in IRC svn path=/trunk/ogg/; revision=16743 --- doc/libogg/ogg_stream_pageout.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html index d916467..a3324be 100644 --- a/doc/libogg/ogg_stream_pageout.html +++ b/doc/libogg/ogg_stream_pageout.html @@ -23,7 +23,8 @@ href="ogg_stream_packetin.html">ogg_stream_packetin() 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.

          +to a stream. The function is typically called in a loop until there +are no more pages ready for output.

          This function will only return a page when a "reasonable" amount of packet data is available. Normally this is appropriate since it -- cgit v1.2.3 From 855cf341be35b108f42d9582005c4c06c606200e Mon Sep 17 00:00:00 2001 From: Gregory Maxwell Date: Thu, 11 Feb 2010 18:59:31 +0000 Subject: framing.html: minor spelling error correction from HoldenC. svn path=/trunk/ogg/; revision=16893 --- doc/framing.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/framing.html b/doc/framing.html index a1bbd18..96347c0 100644 --- a/doc/framing.html +++ b/doc/framing.html @@ -168,7 +168,7 @@ 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 +byte-aligned overhead (1 byte) and large packets, over 512 bytes or so, see a fairly constant ~.5% overhead on encoding space.

          Note that a lacing value of 255 implies that a second lacing value -- cgit v1.2.3 From a6277c92232d9fa3a34d98705622f108dfc499f9 Mon Sep 17 00:00:00 2001 From: Tim Terriberry Date: Mon, 15 Feb 2010 02:14:14 +0000 Subject: Fix copy/paste error. Thanks to Chris Pearce for the report. svn path=/trunk/ogg/; revision=16901 --- doc/libogg/ogg_stream_packetpeek.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index 5c81393..9cf0504 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -13,7 +13,7 @@

          
          -int ogg_page_granulepos(ogg_page *og);
          +ogg_in64_t ogg_page_granulepos(ogg_page *og);
           
           
          
          -int ogg_page_pageno(ogg_page *og);
          +long ogg_page_pageno(ogg_page *og);
           
           
          -

          ogg_stream_packetout

          +

          ogg_stream_packetpeek

          declared in "ogg/ogg.h";

          -- cgit v1.2.3 From 92018068d35ad6093d07602682b3573c0bad7bc0 Mon Sep 17 00:00:00 2001 From: Monty Date: Fri, 19 Mar 2010 17:13:09 +0000 Subject: Update Ogg document titles towards doc update. svn path=/trunk/ogg/; revision=16988 --- doc/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/index.html b/doc/index.html index a461364..e8bedf8 100644 --- a/doc/index.html +++ b/doc/index.html @@ -81,8 +81,8 @@ li {

          Ogg bitsream documentation

          @@ -98,7 +98,7 @@ li { The Xiph Fish Logo is a trademark (™) of Xiph.Org.
          - These pages © 1994 - 2005 Xiph.Org. All rights reserved. + These pages © 1994 - 2010 Xiph.Org. All rights reserved. -- cgit v1.2.3 From 8528ebe3eabfa97802b62aafce02fde5e21fabd9 Mon Sep 17 00:00:00 2001 From: Monty Date: Sat, 20 Mar 2010 06:32:37 +0000 Subject: Substantial expansion of Ogg container overview document; still requires filling in of several references by not-yet-present examples. svn path=/trunk/ogg/; revision=16991 --- doc/oggstream.html | 494 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 378 insertions(+), 116 deletions(-) (limited to 'doc') diff --git a/doc/oggstream.html b/doc/oggstream.html index d39a82c..08fbca4 100644 --- a/doc/oggstream.html +++ b/doc/oggstream.html @@ -70,135 +70,397 @@ li { Fish Logo and Xiph.org -

          Ogg logical and physical bitstream overview

          - -

          Ogg bitstreams

          - -

          Ogg codecs use octet vectors of raw, compressed data -(packets). 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.

          - -

          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.

          - -

          Logical and physical bitstreams

          - -

          Raw packets are grouped and encoded into contiguous pages of -structured bitstream data called logical bitstreams. 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.

          - -

          Multiple logical bitstreams can be combined (with restrictions) into a -single physical bitstream. 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'.

          - -

          Ogg Logical Bitstream Framing discusses +

          Ogg bitstream overview

          + +This document serves as starting point for understanding the design +and implementation of the Ogg container format. If you're new to Ogg +or merely want a high-level technical overview, start reading here. +Other documents linked from the index page +give distilled technical descriptions and references of the container +mechanisms. This document is intended to aid understanding. + +

          Container format design points

          + +

          Ogg is intended to be a simplest-possible container, concerned only +with framing, ordering, and interleave. It can be used as a stream delivery +mechanism, for media file storage, or as a building block toward +implementing a more complex, non-linear container (for example, see +the Skeleton or Annodex/CMML). + +

          The Ogg container is not intended to be a monolithic +'kitchen-sink'. It exists only to frame and deliver in-order stream +data and as such is vastly simpler than most other containers. +Elementary and multiplexed streams are both constructed entirely from a +single building block (an Ogg page) comprised of eight fields +totalling twenty-eight bytes (the page header) a list of packet lengths +(up to 255 bytes) and payload data (up to 65025 bytes). The structure +of every page is the same. There are no optional fields or alternate +encodings. + +

          Stream and media metadata is contained in Ogg and not built into +the Ogg container itself. Metadata is thus compartmentalized and +layered rather than part of a monolithic design, an especially good +idea as no two groups seem able to agree on what a complete or +complete-enough metadata set should be. In this way, the container and +container implementation are isolated from unnecessary design flux. + +

          Streaming

          + +

          The Ogg container is primarily a streaming format, +encapsulating chronological, time-linear mixed media into a single +delivery stream or file. The design is such that an application can +always encode and/or decode all features of a bitstream in one pass +with no seeking and minimal buffering. Seeking to provide optimized +encoding (such as two-pass encoding) or interactive decoding (such as +scrubbing or instant replay) is not disallowed or discouraged, however +no container feature requires nonlinear access of the bitstream. + +

          Variable Bit Rate, Variable Payload Size

          + +

          Ogg is designed to contain any size data payload with bounded, +predictable efficiency. Ogg packets have no maximum size and a +zero-byte minimum size. There is no restriction on size changes from +packet to packet. Variable size packets do not require the use of any +optional or additional container features. There is no optimal +suggested packet size, though special consideration was paid to make +sure 50-200 byte packets were no less efficient than larger packet +sizes. The original design criteria was a 2% overhead at 50 byte +packets, dropping to a maximum working overhead of 1% with larger +packets, and a typical working overhead of .5-.7% for most practical +uses. + +

          Simple pagination

          + +

          Ogg is a byte-aligned container with no context-dependent, optional +or variable-length fields. Ogg requires no repacking of codec data. +The page structure is written out in-line as packet data is submitted +to the streaming abstraction. In addition, it is possible to +implement both Ogg mux and demux as MT-hot zero-copy abstractions (as +is done in the Tremor sourcebase). + +

          Capture

          + +

          Ogg is designed for efficient and immediate stream capture with +high confidence. Although packets have no size limit in Ogg, pages +are a maximum of just under 64kB meaning that any Ogg stream can be +captured with confidence after seeing 128kB of data or less [worst +case; typical figure is 6kB] from any random starting point in the +stream. + +

          Seeking

          + +

          Ogg implements simple coarse- and fine-grained seeking by design. + +

          Coarse seeking may be performed by simply 'moving the tone arm' to a +new position and 'dropping the needle'. Rapid capture with +accompanying timecode from any location in an Ogg file is guaranteed +by the stream design. From the acquisition of the first timecode, +all data needed to play back from that time code forward is ahead of +the stream cursor. + +

          Ogg implements full sample-granularity seeking using an +interpolated bisection search built on the capture and timecode +mechanisms used by coarse seeking. As above, once a search finds +the desired timecode, all data needed to play back from that time code +forward is ahead of the stream cursor. + +

          Both coarse and fine seeking use the page structure and sequencing +inherent to the Ogg format. All Ogg streams are fully seekable from +creation; seekability is unaffected by truncation or missing data, and +is tolerant of gross corruption. Seek operations are neither 'fuzzy' nor +heuristic. + +

          Seeking without use of an index is a major point of the Ogg +design. There are several reasons why Ogg forgoes an index: + +

            + +
          • It must be possible to create an Ogg stream in a single pass, and +an index requires either two passes to create, or the index must be +tacked onto the end of a live stream after the stream is finished. +Both methods run afoul of other design constraints. + +
          • An index is only marginally useful in Ogg for the complexity +added; it adds no new functionality and seldom improves performance +noticeably. Empirical testing shows that indexless interpolation +search does not require many more seeks in practice than using an +index would. + +
          • 'Optional' indexes encourage lazy implementations that can seek +only when indexes are present, or that implement indexless seeking +only by building an internal index after reading the entire file +beginning to end. This has been the fate of other containers that +specify optional indexing. + +
          + +

          Simple multiplexing

          + +

          Ogg multiplexes streams by interleaving pages from multiple elementary streams into a +multiplexed stream in time order. The multiplexed pages are not +altered. Muxing an Ogg AV stream out of separate audio, +video and data streams is akin to shuffling several decks of cards +together into a single deck; the cards themselves remain unchanged. +Demultiplexing is similarly simple. + +

          The goal of this design is to make the mux/demux operation as +trivial as possible to allow live streaming systems to build and +rebuild streams on the fly with minimal CPU usage and no additional +storage or latency requirements. + +

          Continuous and Discontinuous Media

          + +

          Ogg streams belong to one of two categories, "Continuous" streams and +"Discontinuous" streams. + +

          A stream that provides a gapless, time-continuous media type with a +fine-grained timebase is considered to be 'Continuous'. A continuous +stream should never be starved of data. Examples of continuous data +types include broadcast audio and video. + +

          A stream that delivers data in a potentially irregular pattern or +with widely spaced timing gaps is considered to be 'Discontinuous'. A +discontinuous stream may be best thought of as data representing +scattered events; although they happen in order, they are typically +unconnected data often located far apart. One example of a +discontinuous stream types would be captioning such as Ogg Kate. Although it's +possible to design captions as a continuous stream type, it's most +natural to think of captions as widely spaced pieces of text with +little happening between. + +

          The fundamental reason for distinction between continuous and +discontinuous streams concerns buffering. + +

          Buffering

          + +

          A continuous stream is, by definition, gapless. Ogg buffering is based +on the simple premise of never allowing an active continuous stream +to starve for data during decode; buffering works ahead until all +continuous streams in a physical stream have data ready and no further. + +

          Discontinuous stream data is not assumed to be predictable. The +buffering design takes discontinuous data 'as it comes' rather than +working ahead to look for future discontinuous data for a potentially +unbounded period. Thus, the buffering process makes no attempt to fill +discontinuous stream buffers; their pages simply 'fall out' of the +stream when continuous streams are handled properly. + +

          Buffering requirements in this design need not be explicitly +declared or managed in the encoded stream. The decoder simply reads as +much data as is necessary to keep all continuous stream types gapless +and no more, with discontinuous data processed as it arrives in the +continuous data. Buffering is implicitly optimal for the given +stream. Because all pages of all data types are stamped with absolute +timing information within the stream, inter-stream synchronization +timing is always maintained without the need for explicitly declared +buffer-ahead hinting. + +

          Codec metadata

          + +

          Ogg does not replicate codec-specific metadata into the mux layer +in an attempt to make the mux and codec layer implementations 'fully +separable'. Things like specific timebase, keyframing strategy, frame +duration, etc, do not appear in the Ogg container. The mux layer is, +instead, expected to query a codec through a standardized interface, +left to the implementation, for this data when it is needed. + +

          Though modern design wisdom usually prefers to predict all possible +needs of current and future codecs then embed these dependencies and +the required metadata into the container itself, this strategy +increases container specification complexity, fragility, and rigidity. +The mux and codec implementations become more independent, but the +specifications become less independent. A codec can't do what a +container hasn't already provided for. New codecs are harder to +support, and you can do fewer useful things with the ones you've +already got (eg, try to make a good splitter without using any codecs. +You're stuck splitting at keyframes only, or building yet another new +mechanism into the container layer to mark what frames to skip +displaying). + +

          Ogg's design goes the opposite direction, where the specification +is to be as simple, easy to understand, and 'proofed' against novel +codecs as possible. When an Ogg mux layer requires codec-specific +information, it queries the codec (or a codec stub). This trades a +more complex implementation for a simpler, more flexible +specification. + +

          Stream structure metadata

          + +

          The Ogg container itself does not define a metadata system for +declaring the structure and interrelations between multiple media +types in a muxed stream. That is, the Ogg container itself does not +specify data like 'which steam is the subtitle stream?' or 'which +video stream is the primary angle?'. This metadata still exists, but +is stored in the Ogg container rather than being built into the Ogg +container. Xiph specifies the 'Skeleton' metadata format for Ogg +streams, but this decoupling of container and stream structure +metadata means it is possible to use Ogg with any metadata +specification without altering the container itself, or without stream +structure metadata at all. + +

          Frame accurate absolute position

          + +

          Every Ogg page is stamped with a 64 bit 'granule position' that +serves as an absolute timestamp for mux and seeking. A few nifty +little tricks are usually also embedded in the granpos state, but +we'll leave those aside for the moment (strictly speaking, they're +part of each codec's mapping, not Ogg). + +

          As previously mentioned above, granule positions are mapped into +absolute timestamps by the codec, rather than being a hard timestamp. +This allows maximally efficient use of the available 64 bits to +address every sample/frame position without approximation while +supporting new and previously unknown timebase encodings without +needing to extend or update the mux layer. When a codec needs a novel +timebase, it simply brings the code for that mapping along with it. +This is not a theoretical curiosity; new, wholly novel timebases were +deployed with the adoption of both Theora and Dirac. "Rolling INTRA" +(keyframeless video) also benefits from novel use of the granule +position. + +

          Ogg stream arrangement

          + +

          Packets, pages, and bitstreams

          + +

          Ogg codecs use packets. Packets are octet payloads of +raw, compressed data, containing the data needed for a single +decompressed unit, eg, one video frame. Packets have no maximum size +and may be zero length. They do not have any high-level structure or +boundary information; strung together, the unframed packets form a +logical bitstream of apparently random bytes with no internal +landmarks. + +

          Logical bitstream packets are grouped and framed into Ogg pages +along with a unique stream serial number to produce a +physical bitstream. An elementary stream is a +physical bitstream containing only the pages framing a single logical +bitstream. Each page is a self contained entity, although a packet may +be split and encoded across one or more pages. The page decode +mechanism is designed to recognize, verify and handle single pages at +a time from the overall bitstream. + +

          Ogg Bitstream Framing specifies 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.

          - -

          Mapping Restrictions

          - -

          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. -Any other codec or combination of codecs will generally also mandate a -corresponding restricted physical bitstream format.

          - -

          additional end-to-end structure

          +and elementary bitstreams in detail. + +

          Multiplexed bitstreams

          + +

          Multiple logical/elementary bitstreams can be combined into a single +multiplexed bitstream by interleaving whole pages from each +contributing elementary stream in time order. The result is a single +physical stream that multiplexes and frames multiple logical streams. +Each logical stream is identified by the unique stream serial number +stamped in its pages. A physical stream may include a 'meta-header' +(such as the Ogg Skeleton) comprising its +own Ogg page at the beginning of the physical stream. A decoder +recovers the original logical/elementary bitstreams out of the +physical bitstream by taking the pages in order from the physical +bitstream and redirecting them into the appropriate logical decoding +entity. + +

          Ogg Bitstream Multiplexing specifies +proper multiplexing of an Ogg bitstream in detail. + +

          Chaining

          + +

          Multiple Ogg physical bitstreams may be concatenated into a single new +stream; this is chaining. The bitstreams do not overlap; the +final page of a given logical bitstream is immediately followed by the +initial page of the next.

          + +

          Each logical bitstream in a chain must have a unique serial number +within the scope of the full physical bitstream, not only within a +particular link or segment of the chain.

          + +

          Continuous and discontinuous streams

          + +

          Within Ogg, each stream must be declared (by the codec) to be +continuous- or discontinuous-time. Most codecs treat all streams they +use as either inherently continuous- or discontinuous-time, although +this is not a requirement. A codec may, as part of its mapping, choose +according to data in the initial header. + +

          Continuous-time pages are stamped by end-time, discontinuous pages +are stamped by begin-time. Pages in a multiplexed stream are +interleaved in order of the time stamp regardless of stream type. +Both continuous and discontinuous logical streams are used to seek +within a physical stream, however only continuous streams are used to +determine buffering depth; because discontinuous streams are stamped +by start time, they will always 'fall out' in time when buffering +tracks only the continuous streams. See 'Examples' for an +illustration of the buffering mechanism. + +

          Mapping Requirements

          + +

          Each codec is allowed some freedom in deciding how its logical +bitstream is encapsulated into an Ogg bitstream (even if it is a +trivial mapping, eg, 'plop the packets in and go'). This is the +codec's mapping. Ogg imposes a few mapping requirements +on any codec.

          The framing specification 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 +correct stream always consists of an integer number of pages, an easy requirement given the variable size nature of pages.

          -

          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.

          - -

          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.

          - -

          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.

          - -

          sequential multiplexing (chaining)

          - -

          The simplest form of logical bitstream multiplexing is concatenation -(chaining). 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.

          - -

          Each chained logical bitstream must have a unique serial number within -the scope of the physical bitstream.

          - -

          concurrent multiplexing (grouping)

          - -

          Logical bitstreams may also be multiplexed 'in parallel' -(grouped). 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.

          - -

          The initial pages of each logical bitstream must appear first; the -media mapping specifies the order of the initial pages. For example, -Ogg Theora describes video bitstream with audio. -The mapping specifies 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.

          +

          The first page of an elementary Ogg bitstream consists of a single, +small 'initial header' packet that must include sufficient information +to identify the exact CODEC type. From this initial header, the codec +must also be able to determine its timebase and whether or not it is a +continuous- or discontinuous-time stream. The initial header must fit +on a single page. If a codec makes use of auxiliary headers (for +example, Vorbis uses two auxiliary headers), these headers must follow +the initial header immediately. The last header finishes its page; +data begins on a fresh page. + +

          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. Comments and detailed codec setup appears in the larger +auxiliary headers.

          + +

          Multiplexing Requirements

          + +

          Multiplexing requirements within Ogg are straightforward. When +constructing a single-link (unchained) physical bitstream consisting +of multiple elementary streams: + +

            + +
          1. The initial header for each stream appears in sequence, each +header on a single page. All initial headers must appear with no +intervening data (no auxiliary header pages or packets, no data pages +or packets). Order of the initial headers is unspecified. The +'beginning of stream' flag is set on each initial header. + +
          2. All auxiliary headers for all streams must follow. Order +is unspecified. The final auxiliary header of each stream must flush +its page. + +
          3. Data pages for each stream follow, interleaved in time order. + +
          4. The final page of each stream sets the 'end of stream' flag. +Unlike initial pages, terminal pages for the logical bitstreams need +not occur contiguously; indeed it may not be possible for them to do so. +

          Each grouped bitstream must have a unique serial number within the scope of the physical bitstream.

          -

          sequential and concurrent multiplexing

          +

          chaining and multiplexing

          -

          Groups of concurrently multiplexed bitstreams may be chained +

          Multiplexed and/or unmultiplexed 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.

          +chained and multiplexed streams. Each link, when unchained, must +stand on its own as a valid physical bitstream. Chained streams do +not mix; a new segment may not begin until all streams in the +preceding segment have terminated.

          + +

          Examples

          -

          multiplexing example

          +[More to come shortly; this section is currently being revised and expanded]

          Below, we present an example of a grouped and chained bitstream:

          @@ -227,7 +489,7 @@ where decode requires more information).
        • The Xiph Fish Logo is a trademark (™) of Xiph.Org.
          - These pages © 1994 - 2005 Xiph.Org. All rights reserved. + These pages © 1994 - 2010 Xiph.Org. All rights reserved. -- cgit v1.2.3 From a1f833eee5fd2f76dd43744a4af34dd472a09383 Mon Sep 17 00:00:00 2001 From: Monty Date: Sat, 20 Mar 2010 06:59:29 +0000 Subject: clarify an analogy in demultiplexing svn path=/trunk/ogg/; revision=16992 --- doc/index.html | 2 +- doc/oggstream.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/index.html b/doc/index.html index e8bedf8..900ef73 100644 --- a/doc/index.html +++ b/doc/index.html @@ -82,7 +82,7 @@ li { diff --git a/doc/oggstream.html b/doc/oggstream.html index 08fbca4..29ecd82 100644 --- a/doc/oggstream.html +++ b/doc/oggstream.html @@ -202,7 +202,7 @@ multiplexed stream in time order. The multiplexed pages are not altered. Muxing an Ogg AV stream out of separate audio, video and data streams is akin to shuffling several decks of cards together into a single deck; the cards themselves remain unchanged. -Demultiplexing is similarly simple. +Demultiplexing is similarly simple (as the cards are marked).

          The goal of this design is to make the mux/demux operation as trivial as possible to allow live streaming systems to build and -- cgit v1.2.3 From f643a4cc2cb49b44b80825f7537ec5ed09c7db30 Mon Sep 17 00:00:00 2001 From: Monty Date: Thu, 25 Mar 2010 20:28:17 +0000 Subject: Update CHANGES file Correct one last misleading caption in the stream documentation, pending the more complete examples rewrite langing post 1.2.0 svn path=/trunk/ogg/; revision=17033 --- doc/oggstream.html | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'doc') diff --git a/doc/oggstream.html b/doc/oggstream.html index 29ecd82..485747d 100644 --- a/doc/oggstream.html +++ b/doc/oggstream.html @@ -462,7 +462,7 @@ preceding segment have terminated.

          [More to come shortly; this section is currently being revised and expanded] -

          Below, we present an example of a grouped and chained bitstream:

          +

          Below, we present an example of a multiplexed and chained bitstream:

          stream

          @@ -471,18 +471,15 @@ multiplexed into a physical bitstream. Note the following characteristics:

            -
          1. 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.
          2. - -
          3. The pages of concurrently multiplexed bitstreams need not conform -to a regular order; the only requirement is that page n of a -logical bitstream follow page n-1 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).
          4. +
          5. Multiplexed bitstreams in a given link 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.
          6. + +
          7. The ordering of pages of concurrently multiplexed bitstreams is +goverened by timestamp (not shown here); there is no regular +interleaving order. Pages within a logical bitstream appear in +sequence order.
      + +

      In addition, it must be possible to create an Ogg stream in a +single pass. Although an optional index can simply be tacked on the +end of the created stream, some software groups object to +end-positioned indexes and claim to be unwilling to support indexes +not located at the stream beginning. + +

      All this said, it's become clear that an optional index is a +demanded feature. For this reason, the OggSkeleton now defines a +proposed index.

      Simple multiplexing

      -- cgit v1.2.3 From a3b681b5896e067a10a6321183ebc1dc75b6fb45 Mon Sep 17 00:00:00 2001 From: Monty Date: Tue, 27 Apr 2010 14:32:05 +0000 Subject: add an anchor svn path=/trunk/ogg/; revision=17179 --- doc/framing.html | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/framing.html b/doc/framing.html index 64638c9..a838bff 100644 --- a/doc/framing.html +++ b/doc/framing.html @@ -241,6 +241,7 @@ 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.

      +

      Page header

      The headering mechanism is designed to avoid copying and re-assembly -- cgit v1.2.3 From 8f269ea58e5d16300c74574bcd6291efd98b8d6f Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Sat, 9 Oct 2010 05:29:32 +0000 Subject: Fix a cut-and-paste error in the documentation. svn path=/trunk/ogg/; revision=17496 --- doc/libogg/ogg_packet_clear.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index fa3ef17..513455b 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -32,7 +32,7 @@ int ogg_packet_clear(ogg_packet *op);

      Parameters

      -
      os
      +
      op
      Pointer to the ogg_packet struct to be cleared.
      -- cgit v1.2.3 From 06a823f418a6ed3882b0b7273ff33bbe1e43e21c Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Sat, 9 Oct 2010 05:51:25 +0000 Subject: Explicitly document what ogg_packet_clear() does. The ogg_packet structure is public, and contains no 'internal' data, except in that decoding functions allocate and own the returned buffer. When a client creates packets to pass into the encoding functions it is instead the client which owns the buffer. Nevertheless, ogg_packet_clear() can be useful if the client is using a simple allocation strategy. I wanted to be clear that it was appropriate to use this call for such packets. svn path=/trunk/ogg/; revision=17497 --- doc/libogg/ogg_packet_clear.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index 513455b..61edac7 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -17,8 +17,10 @@

      declared in "ogg/ogg.h";

      -

      This function clears the memory used by the ogg_packet struct, and frees the internal allocated memory, but does not free -the structure itself. +

      This function clears the memory used by the ogg_packet struct, +but does not free the structure itself. +It unconditionally frees the packet data buffer, +then it zeros all structure members.

      -- cgit v1.2.3 From 779d3f67a22f46463962a82aa97ccbfde7174fc7 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Sat, 9 Oct 2010 16:29:16 +0000 Subject: Fix another cut-and-paste error in the documentation. svn path=/trunk/ogg/; revision=17498 --- doc/libogg/ogg_packet_clear.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index 61edac7..2024c4f 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -26,7 +26,7 @@ then it zeros all structure members. -- cgit v1.2.3 From 4420e1022e7753161cbdfa1327bf41935b986fbb Mon Sep 17 00:00:00 2001 From: Monty Date: Fri, 29 Oct 2010 20:46:42 +0000 Subject: add ogg_stream_pageout_fill to libogg docs Update release version on libogg docs svn path=/trunk/ogg/; revision=17580 --- doc/libogg/Makefile.am | 2 +- doc/libogg/bitpacking.html | 4 +- doc/libogg/datastructures.html | 4 +- doc/libogg/decoding.html | 4 +- doc/libogg/encoding.html | 8 ++- doc/libogg/general.html | 4 +- doc/libogg/index.html | 4 +- doc/libogg/ogg_iovec_t.html | 4 +- doc/libogg/ogg_packet.html | 4 +- doc/libogg/ogg_packet_clear.html | 4 +- doc/libogg/ogg_page.html | 4 +- doc/libogg/ogg_page_bos.html | 4 +- doc/libogg/ogg_page_checksum_set.html | 4 +- doc/libogg/ogg_page_continued.html | 4 +- doc/libogg/ogg_page_eos.html | 4 +- doc/libogg/ogg_page_granulepos.html | 4 +- doc/libogg/ogg_page_packets.html | 4 +- doc/libogg/ogg_page_pageno.html | 4 +- doc/libogg/ogg_page_serialno.html | 4 +- doc/libogg/ogg_page_version.html | 4 +- doc/libogg/ogg_stream_check.html | 4 +- doc/libogg/ogg_stream_clear.html | 4 +- doc/libogg/ogg_stream_destroy.html | 4 +- doc/libogg/ogg_stream_eos.html | 4 +- doc/libogg/ogg_stream_flush.html | 6 +-- doc/libogg/ogg_stream_init.html | 4 +- doc/libogg/ogg_stream_iovecin.html | 4 +- doc/libogg/ogg_stream_packetin.html | 4 +- doc/libogg/ogg_stream_packetout.html | 4 +- doc/libogg/ogg_stream_packetpeek.html | 4 +- doc/libogg/ogg_stream_pagein.html | 4 +- doc/libogg/ogg_stream_pageout.html | 4 +- doc/libogg/ogg_stream_pageout_fill.html | 88 +++++++++++++++++++++++++++++++ doc/libogg/ogg_stream_reset.html | 4 +- doc/libogg/ogg_stream_reset_serialno.html | 4 +- doc/libogg/ogg_stream_state.html | 4 +- doc/libogg/ogg_sync_buffer.html | 4 +- doc/libogg/ogg_sync_check.html | 4 +- doc/libogg/ogg_sync_clear.html | 4 +- doc/libogg/ogg_sync_destroy.html | 4 +- doc/libogg/ogg_sync_init.html | 4 +- doc/libogg/ogg_sync_pageout.html | 4 +- doc/libogg/ogg_sync_pageseek.html | 4 +- doc/libogg/ogg_sync_reset.html | 4 +- doc/libogg/ogg_sync_state.html | 4 +- doc/libogg/ogg_sync_wrote.html | 4 +- doc/libogg/oggpack_adv.html | 4 +- doc/libogg/oggpack_adv1.html | 4 +- doc/libogg/oggpack_bits.html | 4 +- doc/libogg/oggpack_buffer.html | 4 +- doc/libogg/oggpack_bytes.html | 4 +- doc/libogg/oggpack_get_buffer.html | 4 +- doc/libogg/oggpack_look.html | 4 +- doc/libogg/oggpack_look1.html | 4 +- doc/libogg/oggpack_read.html | 4 +- doc/libogg/oggpack_read1.html | 4 +- doc/libogg/oggpack_readinit.html | 4 +- doc/libogg/oggpack_reset.html | 4 +- doc/libogg/oggpack_write.html | 4 +- doc/libogg/oggpack_writealign.html | 4 +- doc/libogg/oggpack_writecheck.html | 4 +- doc/libogg/oggpack_writeclear.html | 4 +- doc/libogg/oggpack_writecopy.html | 4 +- doc/libogg/oggpack_writeinit.html | 4 +- doc/libogg/oggpack_writetrunc.html | 4 +- doc/libogg/overview.html | 4 +- doc/libogg/reference.html | 5 +- 67 files changed, 225 insertions(+), 132 deletions(-) create mode 100644 doc/libogg/ogg_stream_pageout_fill.html (limited to 'doc') diff --git a/doc/libogg/Makefile.am b/doc/libogg/Makefile.am index c83f4e7..9eb7d34 100644 --- a/doc/libogg/Makefile.am +++ b/doc/libogg/Makefile.am @@ -11,7 +11,7 @@ doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ ogg_stream_eos.html ogg_stream_flush.html ogg_stream_init.html\ ogg_stream_packetin.html ogg_stream_packetout.html\ ogg_stream_packetpeek.html ogg_stream_pagein.html\ - ogg_stream_pageout.html ogg_stream_reset.html\ + ogg_stream_pageout.html ogg_stream_pageout_fill.html ogg_stream_reset.html\ ogg_stream_reset_serialno.html ogg_stream_state.html\ ogg_sync_buffer.html ogg_sync_clear.html ogg_sync_destroy.html\ ogg_sync_init.html ogg_sync_pageout.html ogg_sync_pageseek.html\ diff --git a/doc/libogg/bitpacking.html b/doc/libogg/bitpacking.html index 20469e5..8ecda5f 100644 --- a/doc/libogg/bitpacking.html +++ b/doc/libogg/bitpacking.html @@ -9,7 +9,7 @@
      
      -int ogg_packet_clear(ogg_packet *op);
      +void ogg_packet_clear(ogg_packet *op);
       
      - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -94,7 +94,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/datastructures.html b/doc/libogg/datastructures.html index b339a0a..5fc157d 100644 --- a/doc/libogg/datastructures.html +++ b/doc/libogg/datastructures.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -50,7 +50,7 @@ All the libogg specific data structures are declared in "ogg/ogg.h".

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html index 322d4a9..bccaa96 100644 --- a/doc/libogg/decoding.html +++ b/doc/libogg/decoding.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -95,7 +95,7 @@ advancing decoding.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html index 61a650f..1fa3c0a 100644 --- a/doc/libogg/encoding.html +++ b/doc/libogg/encoding.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -46,6 +46,10 @@ All the libogg specific functions are declared in "ogg/ogg.h". Outputs a completed page if the stream contains enough packets to form a full page. +ogg_stream_pageout_fill + Similar to ogg_stream_pageout(), but specifies a page spill threshold in bytes. + + ogg_stream_flush Forces any remaining packets in the stream to be returned as a page of any size. @@ -59,7 +63,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/general.html b/doc/libogg/general.html index 59de3f3..cb0904f 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -100,7 +100,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/index.html b/doc/libogg/index.html index d51e068..46449d3 100644 --- a/doc/libogg/index.html +++ b/doc/libogg/index.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -30,7 +30,7 @@ Libogg contains necessary functionality to create, decode, and work with Ogg bit

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_iovec_t.html b/doc/libogg/ogg_iovec_t.html index 688ef76..da398c0 100644 --- a/doc/libogg/ogg_iovec_t.html +++ b/doc/libogg/ogg_iovec_t.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -53,7 +53,7 @@ typedef struct {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html index ddd57df..75e48d5 100644 --- a/doc/libogg/ogg_packet.html +++ b/doc/libogg/ogg_packet.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -66,7 +66,7 @@ typedef struct {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index 2024c4f..68c9cb0 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -54,7 +54,7 @@ None.
    6. Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html index e87eda0..a8ec051 100644 --- a/doc/libogg/ogg_page.html +++ b/doc/libogg/ogg_page.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -66,7 +66,7 @@ typedef struct {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_page_bos.html b/doc/libogg/ogg_page_bos.html index 1fd0280..d5391c0 100644 --- a/doc/libogg/ogg_page_bos.html +++ b/doc/libogg/ogg_page_bos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -55,7 +55,7 @@ greater than 0 if this page is the beginning of a bitstream.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_page_checksum_set.html b/doc/libogg/ogg_page_checksum_set.html index daa188e..a78ca46 100644 --- a/doc/libogg/ogg_page_checksum_set.html +++ b/doc/libogg/ogg_page_checksum_set.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -52,7 +52,7 @@ None.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_page_continued.html b/doc/libogg/ogg_page_continued.html index ea860b1..894568a 100644 --- a/doc/libogg/ogg_page_continued.html +++ b/doc/libogg/ogg_page_continued.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -54,7 +54,7 @@ int ogg_page_continued(ogg_page *og);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_page_eos.html b/doc/libogg/ogg_page_eos.html index e3c4c6c..a38abcf 100644 --- a/doc/libogg/ogg_page_eos.html +++ b/doc/libogg/ogg_page_eos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -55,7 +55,7 @@ greater than zero if this page contains the end of a bitstream.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html index 936ff56..be94b6c 100644 --- a/doc/libogg/ogg_page_granulepos.html +++ b/doc/libogg/ogg_page_granulepos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -55,7 +55,7 @@ ogg_in64_t ogg_page_granulepos(ogg_page *og);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html index 05203e1..c70be11 100644 --- a/doc/libogg/ogg_page_packets.html +++ b/doc/libogg/ogg_page_packets.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -65,7 +65,7 @@ ogg_page_continued(page) will return non-zero.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html index f8983d7..e4c4a95 100644 --- a/doc/libogg/ogg_page_pageno.html +++ b/doc/libogg/ogg_page_pageno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -53,7 +53,7 @@ long ogg_page_pageno(ogg_page *og);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_page_serialno.html b/doc/libogg/ogg_page_serialno.html index b2a63ca..630929c 100644 --- a/doc/libogg/ogg_page_serialno.html +++ b/doc/libogg/ogg_page_serialno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -53,7 +53,7 @@ int ogg_page_serialno(ogg_page *og);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_page_version.html b/doc/libogg/ogg_page_version.html index 429e89a..57d8086 100644 --- a/doc/libogg/ogg_page_version.html +++ b/doc/libogg/ogg_page_version.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -53,7 +53,7 @@ int ogg_page_version(ogg_page *og);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_check.html b/doc/libogg/ogg_stream_check.html index 0e7af40..0f28886 100644 --- a/doc/libogg/ogg_stream_check.html +++ b/doc/libogg/ogg_stream_check.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -61,7 +61,7 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html index a3cf6b6..530e214 100644 --- a/doc/libogg/ogg_stream_clear.html +++ b/doc/libogg/ogg_stream_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -51,7 +51,7 @@ int ogg_stream_clear(ogg_stream_state *os);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index 1b4349b..78e49c1 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -61,7 +61,7 @@ int ogg_stream_destroy(ogg_stream_state *os);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html index e8cbe70..51bf383 100644 --- a/doc/libogg/ogg_stream_eos.html +++ b/doc/libogg/ogg_stream_eos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -52,7 +52,7 @@ int ogg_stream_eos(ogg_stream_state *os);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index a339d14..ddc747b 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -18,7 +18,7 @@

      declared in "ogg/ogg.h";

      This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page. -

      This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout should always be used. +

      This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout or ogg_stream_pageout_fillshould always be used.

      This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page.

      @@ -57,7 +57,7 @@ Nonzero means that remaining packets have successfully been flushed into the pag

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html index 7342773..7b019e5 100644 --- a/doc/libogg/ogg_stream_init.html +++ b/doc/libogg/ogg_stream_init.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -56,7 +56,7 @@ int ogg_stream_init(ogg_stream_state *os,int

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html index 676395e..7f90ef6 100644 --- a/doc/libogg/ogg_stream_iovecin.html +++ b/doc/libogg/ogg_stream_iovecin.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -70,7 +70,7 @@ int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index b683c95..adcf428 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -62,7 +62,7 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html index fc7ffad..2654f93 100644 --- a/doc/libogg/ogg_stream_packetout.html +++ b/doc/libogg/ogg_stream_packetout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -76,7 +76,7 @@ on this stream state.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index d2d8562..92fbfc4 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -75,7 +75,7 @@ packet?" check.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index 316ba30..8ae93d6 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -57,7 +57,7 @@ int ogg_stream_pagein(ogg_stream_state *os,

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html index c07a975..9bf282e 100644 --- a/doc/libogg/ogg_stream_pageout.html +++ b/doc/libogg/ogg_stream_pageout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -74,7 +74,7 @@ this case og is not modified.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_pageout_fill.html b/doc/libogg/ogg_stream_pageout_fill.html new file mode 100644 index 0000000..3448ad2 --- /dev/null +++ b/doc/libogg/ogg_stream_pageout_fill.html @@ -0,0 +1,88 @@ + + + +libogg - function - ogg_stream_pageout_fill + + + + + + + + + +

      libogg documentation

      libogg release 1.2.1 - 20101029

      + +

      ogg_stream_pageout_fill

      + +

      declared in "ogg/ogg.h";

      + +

      This function forms packets into pages, similar +to ogg_stream_pageout(), but +allows applications to explicitly request a specific page spill +size.

      + +

      In a typical encoding situation, this would be called after using ogg_stream_packetin() 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. The function is typically called in a loop until there +are no more pages ready for output.

      + +

      This function will return a page when at least four packets have +been accumulated and accumulated packet data meets or exceeds the +specified number of bytes, and/or when the accumulated packet +data meets/exceeds the maximum page size regardless of accumulated +packet +count. Call ogg_stream_flush() if +immediate page generation is desired regardless of accumulated data.

      + +

      + + + + +
      +
      
      +int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og, int fillbytes);
      +
      +
      + +

      Parameters

      +
      +
      os
      +
      Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
      +
      og
      +
      Pointer to an ogg_page 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().
      +
      fillbytes
      +
      Packet data watermark in bytes.
      +
      + + +

      Return Values

      +
      +
    7. Zero means that insufficient data has accumulated to fill a page, or an internal error occurred. In +this case og is not modified.
    8. +
    9. Non-zero means that a page has been completed and returned.
    10. +
      +

      + +

      +


      + + + + + + + + +

      copyright © 2000-2010 xiph.org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      + + + + + diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index 88d4e19..b6a28d2 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -51,7 +51,7 @@ int ogg_stream_reset(ogg_stream_state *os);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html index 6f2688c..b1e324c 100644 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -57,7 +57,7 @@ int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index e903f03..4763716 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -112,7 +112,7 @@ typedef struct {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html index ed8b286..f786208 100644 --- a/doc/libogg/ogg_sync_buffer.html +++ b/doc/libogg/ogg_sync_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -57,7 +57,7 @@ Returns a pointer to the newly allocated buffer or NULL on error

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_sync_check.html b/doc/libogg/ogg_sync_check.html index c6b866b..ab352c1 100644 --- a/doc/libogg/ogg_sync_check.html +++ b/doc/libogg/ogg_sync_check.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -61,7 +61,7 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_sync_clear.html b/doc/libogg/ogg_sync_clear.html index 02ae40c..99e6304 100644 --- a/doc/libogg/ogg_sync_clear.html +++ b/doc/libogg/ogg_sync_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -52,7 +52,7 @@ int ogg_sync_clear(ogg_sync_state *oy);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html index c73cd22..ac8f925 100644 --- a/doc/libogg/ogg_sync_destroy.html +++ b/doc/libogg/ogg_sync_destroy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -58,7 +58,7 @@ int ogg_sync_destroy(ogg_sync_state *oy);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_sync_init.html b/doc/libogg/ogg_sync_init.html index 15e2b78..f589bf3 100644 --- a/doc/libogg/ogg_sync_init.html +++ b/doc/libogg/ogg_sync_init.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -53,7 +53,7 @@ int ogg_sync_init(ogg_sync_state *oy);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html index 982168d..57d1cb3 100644 --- a/doc/libogg/ogg_sync_pageout.html +++ b/doc/libogg/ogg_sync_pageout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -67,7 +67,7 @@ if (ogg_sync_pageout(&oy, &og) != 1) {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html index f4109ef..94c5b6c 100644 --- a/doc/libogg/ogg_sync_pageseek.html +++ b/doc/libogg/ogg_sync_pageseek.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -58,7 +58,7 @@ n means that the page was synced at the current location, with a page length of

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_sync_reset.html b/doc/libogg/ogg_sync_reset.html index b32fed4..3bd823f 100644 --- a/doc/libogg/ogg_sync_reset.html +++ b/doc/libogg/ogg_sync_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -53,7 +53,7 @@ int ogg_sync_reset(ogg_sync_state *oy);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html index 2384a5e..55283ab 100644 --- a/doc/libogg/ogg_sync_state.html +++ b/doc/libogg/ogg_sync_state.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -68,7 +68,7 @@ typedef struct {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index 27e572e..037d33f 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -63,7 +63,7 @@ int ogg_sync_wrote(ogg_sync_state *oy, long by

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_adv.html b/doc/libogg/oggpack_adv.html index 64723a4..97aa45e 100644 --- a/doc/libogg/oggpack_adv.html +++ b/doc/libogg/oggpack_adv.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -54,7 +54,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_adv1.html b/doc/libogg/oggpack_adv1.html index 8e21e48..8bfea91 100644 --- a/doc/libogg/oggpack_adv1.html +++ b/doc/libogg/oggpack_adv1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -52,7 +52,7 @@ void oggpack_adv1(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_bits.html b/doc/libogg/oggpack_bits.html index 5375fca..0bc862f 100644 --- a/doc/libogg/oggpack_bits.html +++ b/doc/libogg/oggpack_bits.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -52,7 +52,7 @@ long oggpack_bits(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_buffer.html b/doc/libogg/oggpack_buffer.html index 4a8b3dc..fa2e21b 100644 --- a/doc/libogg/oggpack_buffer.html +++ b/doc/libogg/oggpack_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -57,7 +57,7 @@ typedef struct {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_bytes.html b/doc/libogg/oggpack_bytes.html index b8ac08c..0169dbc 100644 --- a/doc/libogg/oggpack_bytes.html +++ b/doc/libogg/oggpack_bytes.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -57,7 +57,7 @@ long oggpack_bytes(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_get_buffer.html b/doc/libogg/oggpack_get_buffer.html index 2e8da55..262eb41 100644 --- a/doc/libogg/oggpack_get_buffer.html +++ b/doc/libogg/oggpack_get_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -52,7 +52,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_look.html b/doc/libogg/oggpack_look.html index 9c85f71..eff410f 100644 --- a/doc/libogg/oggpack_look.html +++ b/doc/libogg/oggpack_look.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -56,7 +56,7 @@ long oggpack_look(oggpack_buffer *b,int bits)

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_look1.html b/doc/libogg/oggpack_look1.html index b48b231..73b4a22 100644 --- a/doc/libogg/oggpack_look1.html +++ b/doc/libogg/oggpack_look1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -53,7 +53,7 @@ long oggpack_look1(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_read.html b/doc/libogg/oggpack_read.html index c079732..fedf0b9 100644 --- a/doc/libogg/oggpack_read.html +++ b/doc/libogg/oggpack_read.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -55,7 +55,7 @@ long oggpack_read(oggpack_buffer *b,int bits);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_read1.html b/doc/libogg/oggpack_read1.html index 92e61a4..37c7278 100644 --- a/doc/libogg/oggpack_read1.html +++ b/doc/libogg/oggpack_read1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -53,7 +53,7 @@ long oggpack_read1(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_readinit.html b/doc/libogg/oggpack_readinit.html index 0b57f26..75e37dc 100644 --- a/doc/libogg/oggpack_readinit.html +++ b/doc/libogg/oggpack_readinit.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -54,7 +54,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_reset.html b/doc/libogg/oggpack_reset.html index dbe69d6..f463a09 100644 --- a/doc/libogg/oggpack_reset.html +++ b/doc/libogg/oggpack_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -52,7 +52,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_write.html b/doc/libogg/oggpack_write.html index cf6817e..50e728e 100644 --- a/doc/libogg/oggpack_write.html +++ b/doc/libogg/oggpack_write.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -58,7 +58,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_writealign.html b/doc/libogg/oggpack_writealign.html index bea994c..e45fbe6 100644 --- a/doc/libogg/oggpack_writealign.html +++ b/doc/libogg/oggpack_writealign.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -55,7 +55,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_writecheck.html b/doc/libogg/oggpack_writecheck.html index 21b4ad2..2bc361c 100644 --- a/doc/libogg/oggpack_writecheck.html +++ b/doc/libogg/oggpack_writecheck.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -71,7 +71,7 @@ int oggpack_writecheck(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_writeclear.html b/doc/libogg/oggpack_writeclear.html index edd2e21..488066e 100644 --- a/doc/libogg/oggpack_writeclear.html +++ b/doc/libogg/oggpack_writeclear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -52,7 +52,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_writecopy.html b/doc/libogg/oggpack_writecopy.html index 28c2820..98a9dcf 100644 --- a/doc/libogg/oggpack_writecopy.html +++ b/doc/libogg/oggpack_writecopy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -59,7 +59,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_writeinit.html b/doc/libogg/oggpack_writeinit.html index 99a9ed3..0fbf3ac 100644 --- a/doc/libogg/oggpack_writeinit.html +++ b/doc/libogg/oggpack_writeinit.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -52,7 +52,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/oggpack_writetrunc.html b/doc/libogg/oggpack_writetrunc.html index 21524ed..deeaeb8 100644 --- a/doc/libogg/oggpack_writetrunc.html +++ b/doc/libogg/oggpack_writetrunc.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -55,7 +55,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/overview.html b/doc/libogg/overview.html index 432300e..9bbc657 100644 --- a/doc/libogg/overview.html +++ b/doc/libogg/overview.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -35,7 +35,7 @@ The libogg API consists of the following functional categories:

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html index 89364a7..45cdf97 100644 --- a/doc/libogg/reference.html +++ b/doc/libogg/reference.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.0 - 20100325

      libogg release 1.2.1 - 20101029

      @@ -60,6 +60,7 @@ Encoding-Related
      ogg_stream_packetin()
      ogg_stream_pageout()
      +ogg_stream_pageout_fill()
      ogg_stream_flush()

      General
      @@ -87,7 +88,7 @@

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.0 - 20100325

      +

      libogg release 1.2.1 - 20101029

      -- cgit v1.2.3 From 171acf3878f910654bcf5a3ceec1d9668dc6601f Mon Sep 17 00:00:00 2001 From: Gregory Maxwell Date: Wed, 1 Dec 2010 04:10:12 +0000 Subject: Fix ogg_stream_pageout_fill documentation bug pointed out by David Richards. svn path=/trunk/ogg/; revision=17693 --- doc/libogg/ogg_stream_pageout_fill.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_pageout_fill.html b/doc/libogg/ogg_stream_pageout_fill.html index 3448ad2..13bd6ab 100644 --- a/doc/libogg/ogg_stream_pageout_fill.html +++ b/doc/libogg/ogg_stream_pageout_fill.html @@ -42,7 +42,7 @@ immediate page generation is desired regardless of accumulated data.

      
      -int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og, int fillbytes);
      +int ogg_stream_pageout_fill(ogg_stream_state *os, ogg_page *og, int fillbytes);
       
      -- cgit v1.2.3 From 237a3081dcafd11d5077d183395e63c515bf8dee Mon Sep 17 00:00:00 2001 From: Gregory Maxwell Date: Mon, 1 Aug 2011 17:55:20 +0000 Subject: Add ogg_stream_flush_fill to compliment ogg_stream_pageout_fill because ogg_stream_flush will produce multiple pages when >4096 bytes and >4 packets are available. svn path=/trunk/ogg/; revision=18044 --- doc/libogg/ogg_stream_flush_fill.html | 69 +++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 doc/libogg/ogg_stream_flush_fill.html (limited to 'doc') diff --git a/doc/libogg/ogg_stream_flush_fill.html b/doc/libogg/ogg_stream_flush_fill.html new file mode 100644 index 0000000..8fbc8d2 --- /dev/null +++ b/doc/libogg/ogg_stream_flush_fill.html @@ -0,0 +1,69 @@ + + + +libogg - function - ogg_stream_flush_fill + + + + + + + + + +

      libogg documentation

      libogg release 1.2.1 - 20101029

      + +

      ogg_stream_flush_fill

      + +

      declared in "ogg/ogg.h";

      + +

      This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page. +

      This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout or ogg_stream_pageout_fillshould always be used. +

      This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. + +

      + + + + +
      +
      
      +int ogg_stream_flush_fill(ogg_stream_state *os, ogg_page *og, int fillbytes);
      +
      +
      + +

      Parameters

      +
      +
      os
      +
      Pointer to a previously declared ogg_stream_state struct, which represents the current logical bitstream.
      +
      og
      +
      Pointer to a page of data. The remaining packets in the stream will be placed into this page, if any remain. +
      fillbytes
      +
      Packet data watermark in bytes.
      +
      + + +

      Return Values

      +
      +
    11. 0 means that all packet data has already been flushed into pages, and there are no packets to put into the page. 0 is also returned in the case of an ogg_stream_state that has been cleared explicitly or implicitly due to an internal error.
    12. +
    13. +Nonzero means that remaining packets have successfully been flushed into the page.
    14. +
      +

      + +

      +


      + + + + + + + + +

      copyright © 2000-2010 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      + + + + + -- cgit v1.2.3 From f2f934432697fbc92a79f84f72feba681897e302 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Thu, 4 Aug 2011 18:10:01 +0000 Subject: Improve documentation of ogg_stream_flush_fill and related calls. svn path=/trunk/ogg/; revision=18053 --- doc/libogg/encoding.html | 4 ++++ doc/libogg/ogg_stream_flush.html | 4 ++-- doc/libogg/ogg_stream_flush_fill.html | 11 ++++++++--- doc/libogg/ogg_stream_pageout_fill.html | 5 +++-- doc/libogg/reference.html | 1 + 5 files changed, 18 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html index 1fa3c0a..d97cfbd 100644 --- a/doc/libogg/encoding.html +++ b/doc/libogg/encoding.html @@ -53,6 +53,10 @@ All the libogg specific functions are declared in "ogg/ogg.h". ogg_stream_flush Forces any remaining packets in the stream to be returned as a page of any size. + +ogg_stream_flush_fill + Similar to ogg_stream_flush(), but specifies a page spill threshold in bytes. +

      diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index ddc747b..31f2171 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -18,8 +18,8 @@

      declared in "ogg/ogg.h";

      This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page. -

      This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout or ogg_stream_pageout_fillshould always be used. -

      This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. +

      This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout or ogg_stream_pageout_fillshould always be used. +

      This function can also be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. Like ogg_stream_pageout, it should generally be called in a loop until available packet data has been flushes, since even a single packet may span multiple pages.

      diff --git a/doc/libogg/ogg_stream_flush_fill.html b/doc/libogg/ogg_stream_flush_fill.html index 8fbc8d2..d455a6b 100644 --- a/doc/libogg/ogg_stream_flush_fill.html +++ b/doc/libogg/ogg_stream_flush_fill.html @@ -17,9 +17,14 @@

      declared in "ogg/ogg.h";

      -

      This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page. -

      This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout or ogg_stream_pageout_fillshould always be used. -

      This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. +

      This function flushes available packets into pages, similar to +ogg_stream_flush(), but +allows applications to explicitly request a specific page spill +size.

      + +

      This function checks for remaining packets inside the stream and forces remaining packets into pages of approximately the requested size. +This should be used when you want to flush all remaining data from a stream. ogg_stream_flush may be used instead if a particular page size isn't important. +

      This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. Generally speaking, it should be called in a loop until all packets are flushed, since even a single packet may span multiple pages.

      diff --git a/doc/libogg/ogg_stream_pageout_fill.html b/doc/libogg/ogg_stream_pageout_fill.html index 13bd6ab..d005999 100644 --- a/doc/libogg/ogg_stream_pageout_fill.html +++ b/doc/libogg/ogg_stream_pageout_fill.html @@ -33,8 +33,9 @@ are no more pages ready for output.

      been accumulated and accumulated packet data meets or exceeds the specified number of bytes, and/or when the accumulated packet data meets/exceeds the maximum page size regardless of accumulated -packet -count. Call ogg_stream_flush() if +packet count. +Call ogg_stream_flush() or +ogg_stream_flush_fill() if immediate page generation is desired regardless of accumulated data.



      diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html index 45cdf97..d006e61 100644 --- a/doc/libogg/reference.html +++ b/doc/libogg/reference.html @@ -62,6 +62,7 @@ ogg_stream_pageout()
      ogg_stream_pageout_fill()
      ogg_stream_flush()
      +ogg_stream_flush_fill()

      General
      ogg_stream_init()
      -- cgit v1.2.3 From 68c7f55cf6c1d04edb16578a684b4eea24b66435 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Thu, 4 Aug 2011 18:30:39 +0000 Subject: Bump version number and dates for release. svn path=/trunk/ogg/; revision=18054 --- doc/libogg/bitpacking.html | 6 +++--- doc/libogg/datastructures.html | 6 +++--- doc/libogg/decoding.html | 6 +++--- doc/libogg/encoding.html | 6 +++--- doc/libogg/general.html | 6 +++--- doc/libogg/index.html | 6 +++--- doc/libogg/ogg_iovec_t.html | 6 +++--- doc/libogg/ogg_packet.html | 6 +++--- doc/libogg/ogg_packet_clear.html | 6 +++--- doc/libogg/ogg_page.html | 6 +++--- doc/libogg/ogg_page_bos.html | 6 +++--- doc/libogg/ogg_page_checksum_set.html | 6 +++--- doc/libogg/ogg_page_continued.html | 6 +++--- doc/libogg/ogg_page_eos.html | 6 +++--- doc/libogg/ogg_page_granulepos.html | 6 +++--- doc/libogg/ogg_page_packets.html | 6 +++--- doc/libogg/ogg_page_pageno.html | 6 +++--- doc/libogg/ogg_page_serialno.html | 6 +++--- doc/libogg/ogg_page_version.html | 6 +++--- doc/libogg/ogg_stream_check.html | 6 +++--- doc/libogg/ogg_stream_clear.html | 6 +++--- doc/libogg/ogg_stream_destroy.html | 6 +++--- doc/libogg/ogg_stream_eos.html | 6 +++--- doc/libogg/ogg_stream_flush.html | 6 +++--- doc/libogg/ogg_stream_flush_fill.html | 6 +++--- doc/libogg/ogg_stream_init.html | 6 +++--- doc/libogg/ogg_stream_iovecin.html | 6 +++--- doc/libogg/ogg_stream_packetin.html | 6 +++--- doc/libogg/ogg_stream_packetout.html | 4 ++-- doc/libogg/ogg_stream_packetpeek.html | 6 +++--- doc/libogg/ogg_stream_pagein.html | 6 +++--- doc/libogg/ogg_stream_pageout.html | 4 ++-- doc/libogg/ogg_stream_pageout_fill.html | 4 ++-- doc/libogg/ogg_stream_reset.html | 6 +++--- doc/libogg/ogg_stream_reset_serialno.html | 6 +++--- doc/libogg/ogg_stream_state.html | 6 +++--- doc/libogg/ogg_sync_buffer.html | 6 +++--- doc/libogg/ogg_sync_check.html | 6 +++--- doc/libogg/ogg_sync_clear.html | 6 +++--- doc/libogg/ogg_sync_destroy.html | 6 +++--- doc/libogg/ogg_sync_init.html | 6 +++--- doc/libogg/ogg_sync_pageout.html | 6 +++--- doc/libogg/ogg_sync_pageseek.html | 6 +++--- doc/libogg/ogg_sync_reset.html | 6 +++--- doc/libogg/ogg_sync_state.html | 6 +++--- doc/libogg/ogg_sync_wrote.html | 6 +++--- doc/libogg/oggpack_adv.html | 6 +++--- doc/libogg/oggpack_adv1.html | 6 +++--- doc/libogg/oggpack_bits.html | 6 +++--- doc/libogg/oggpack_buffer.html | 6 +++--- doc/libogg/oggpack_bytes.html | 4 ++-- doc/libogg/oggpack_get_buffer.html | 6 +++--- doc/libogg/oggpack_look.html | 6 +++--- doc/libogg/oggpack_look1.html | 6 +++--- doc/libogg/oggpack_read.html | 6 +++--- doc/libogg/oggpack_read1.html | 6 +++--- doc/libogg/oggpack_readinit.html | 6 +++--- doc/libogg/oggpack_reset.html | 6 +++--- doc/libogg/oggpack_write.html | 6 +++--- doc/libogg/oggpack_writealign.html | 6 +++--- doc/libogg/oggpack_writecheck.html | 6 +++--- doc/libogg/oggpack_writeclear.html | 6 +++--- doc/libogg/oggpack_writecopy.html | 6 +++--- doc/libogg/oggpack_writeinit.html | 6 +++--- doc/libogg/oggpack_writetrunc.html | 6 +++--- doc/libogg/overview.html | 6 +++--- doc/libogg/reference.html | 6 +++--- 67 files changed, 197 insertions(+), 197 deletions(-) (limited to 'doc') diff --git a/doc/libogg/bitpacking.html b/doc/libogg/bitpacking.html index 8ecda5f..3983247 100644 --- a/doc/libogg/bitpacking.html +++ b/doc/libogg/bitpacking.html @@ -9,7 +9,7 @@
      - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -90,11 +90,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".


      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/datastructures.html b/doc/libogg/datastructures.html index 5fc157d..8b519a8 100644 --- a/doc/libogg/datastructures.html +++ b/doc/libogg/datastructures.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -46,11 +46,11 @@ All the libogg specific data structures are declared in "ogg/ogg.h".
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html index bccaa96..2824c37 100644 --- a/doc/libogg/decoding.html +++ b/doc/libogg/decoding.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -91,11 +91,11 @@ advancing decoding.
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html index d97cfbd..e02a9b2 100644 --- a/doc/libogg/encoding.html +++ b/doc/libogg/encoding.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -63,11 +63,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/general.html b/doc/libogg/general.html index cb0904f..51448b4 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -96,11 +96,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/index.html b/doc/libogg/index.html index 46449d3..911f073 100644 --- a/doc/libogg/index.html +++ b/doc/libogg/index.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -26,11 +26,11 @@ Libogg contains necessary functionality to create, decode, and work with Ogg bit
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_iovec_t.html b/doc/libogg/ogg_iovec_t.html index da398c0..a439133 100644 --- a/doc/libogg/ogg_iovec_t.html +++ b/doc/libogg/ogg_iovec_t.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -49,11 +49,11 @@ typedef struct {
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html index 75e48d5..5a6623d 100644 --- a/doc/libogg/ogg_packet.html +++ b/doc/libogg/ogg_packet.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -62,11 +62,11 @@ typedef struct {
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index 68c9cb0..ebaf0c3 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -50,11 +50,11 @@ None.
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html index a8ec051..33d886e 100644 --- a/doc/libogg/ogg_page.html +++ b/doc/libogg/ogg_page.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -62,11 +62,11 @@ typedef struct {
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_page_bos.html b/doc/libogg/ogg_page_bos.html index d5391c0..2708d38 100644 --- a/doc/libogg/ogg_page_bos.html +++ b/doc/libogg/ogg_page_bos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -51,11 +51,11 @@ greater than 0 if this page is the beginning of a bitstream.
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_page_checksum_set.html b/doc/libogg/ogg_page_checksum_set.html index a78ca46..7c281dc 100644 --- a/doc/libogg/ogg_page_checksum_set.html +++ b/doc/libogg/ogg_page_checksum_set.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -48,11 +48,11 @@ None.
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_page_continued.html b/doc/libogg/ogg_page_continued.html index 894568a..33e5d2d 100644 --- a/doc/libogg/ogg_page_continued.html +++ b/doc/libogg/ogg_page_continued.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -50,11 +50,11 @@ int ogg_page_continued(ogg_page *og);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_page_eos.html b/doc/libogg/ogg_page_eos.html index a38abcf..2a3cf4d 100644 --- a/doc/libogg/ogg_page_eos.html +++ b/doc/libogg/ogg_page_eos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -51,11 +51,11 @@ greater than zero if this page contains the end of a bitstream.
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html index be94b6c..d905f89 100644 --- a/doc/libogg/ogg_page_granulepos.html +++ b/doc/libogg/ogg_page_granulepos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -51,11 +51,11 @@ ogg_in64_t ogg_page_granulepos(ogg_page *og);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html index c70be11..2355360 100644 --- a/doc/libogg/ogg_page_packets.html +++ b/doc/libogg/ogg_page_packets.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -61,11 +61,11 @@ ogg_page_continued(page) will return non-zero.

      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html index e4c4a95..553c4b2 100644 --- a/doc/libogg/ogg_page_pageno.html +++ b/doc/libogg/ogg_page_pageno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -49,11 +49,11 @@ long ogg_page_pageno(ogg_page *og);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_page_serialno.html b/doc/libogg/ogg_page_serialno.html index 630929c..eafca69 100644 --- a/doc/libogg/ogg_page_serialno.html +++ b/doc/libogg/ogg_page_serialno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -49,11 +49,11 @@ int ogg_page_serialno(ogg_page *og);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_page_version.html b/doc/libogg/ogg_page_version.html index 57d8086..21611c7 100644 --- a/doc/libogg/ogg_page_version.html +++ b/doc/libogg/ogg_page_version.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -49,11 +49,11 @@ int ogg_page_version(ogg_page *og);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_check.html b/doc/libogg/ogg_stream_check.html index 0f28886..60bb552 100644 --- a/doc/libogg/ogg_stream_check.html +++ b/doc/libogg/ogg_stream_check.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -57,11 +57,11 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html index 530e214..b50f07c 100644 --- a/doc/libogg/ogg_stream_clear.html +++ b/doc/libogg/ogg_stream_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -47,11 +47,11 @@ int ogg_stream_clear(ogg_stream_state *os);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index 78e49c1..2506dfa 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -57,11 +57,11 @@ int ogg_stream_destroy(ogg_stream_state *os);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html index 51bf383..4930dbb 100644 --- a/doc/libogg/ogg_stream_eos.html +++ b/doc/libogg/ogg_stream_eos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -48,11 +48,11 @@ int ogg_stream_eos(ogg_stream_state *os);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index 31f2171..33b799c 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -53,11 +53,11 @@ Nonzero means that remaining packets have successfully been flushed into the pag
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_flush_fill.html b/doc/libogg/ogg_stream_flush_fill.html index d455a6b..9a028af 100644 --- a/doc/libogg/ogg_stream_flush_fill.html +++ b/doc/libogg/ogg_stream_flush_fill.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -60,11 +60,11 @@ Nonzero means that remaining packets have successfully been flushed into the pag
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html index 7b019e5..ae7025f 100644 --- a/doc/libogg/ogg_stream_init.html +++ b/doc/libogg/ogg_stream_init.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -52,11 +52,11 @@ int ogg_stream_init(ogg_stream_state *os,int
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html index 7f90ef6..b8b88b7 100644 --- a/doc/libogg/ogg_stream_iovecin.html +++ b/doc/libogg/ogg_stream_iovecin.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -66,11 +66,11 @@ int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index adcf428..66c0bb8 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -58,11 +58,11 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html index 2654f93..e116a9e 100644 --- a/doc/libogg/ogg_stream_packetout.html +++ b/doc/libogg/ogg_stream_packetout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -76,7 +76,7 @@ on this stream state.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.1 - 20101029

      +

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index 92fbfc4..ba09d00 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -71,11 +71,11 @@ packet?" check. - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index 8ae93d6..2185961 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -53,11 +53,11 @@ int ogg_stream_pagein(ogg_stream_state *os,
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html index 9bf282e..4ad88d4 100644 --- a/doc/libogg/ogg_stream_pageout.html +++ b/doc/libogg/ogg_stream_pageout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -74,7 +74,7 @@ this case og is not modified.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.1 - 20101029

      +

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_pageout_fill.html b/doc/libogg/ogg_stream_pageout_fill.html index d005999..3d3e732 100644 --- a/doc/libogg/ogg_stream_pageout_fill.html +++ b/doc/libogg/ogg_stream_pageout_fill.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -79,7 +79,7 @@ this case og is not modified.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.1 - 20101029

      +

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index b6a28d2..362b7ba 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -47,11 +47,11 @@ int ogg_stream_reset(ogg_stream_state *os);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html index b1e324c..682cc33 100644 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -53,11 +53,11 @@ int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);
      - + - +

      copyright © 2000-2010 Xiph.Org Foundation

      copyright © 2000-2011 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index 4763716..8875192 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -108,11 +108,11 @@ typedef struct {
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html index f786208..f4e6596 100644 --- a/doc/libogg/ogg_sync_buffer.html +++ b/doc/libogg/ogg_sync_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -53,11 +53,11 @@ Returns a pointer to the newly allocated buffer or NULL on error
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_sync_check.html b/doc/libogg/ogg_sync_check.html index ab352c1..5c9dbad 100644 --- a/doc/libogg/ogg_sync_check.html +++ b/doc/libogg/ogg_sync_check.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -57,11 +57,11 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_sync_clear.html b/doc/libogg/ogg_sync_clear.html index 99e6304..306a66c 100644 --- a/doc/libogg/ogg_sync_clear.html +++ b/doc/libogg/ogg_sync_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -48,11 +48,11 @@ int ogg_sync_clear(ogg_sync_state *oy);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html index ac8f925..70d2a0f 100644 --- a/doc/libogg/ogg_sync_destroy.html +++ b/doc/libogg/ogg_sync_destroy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -54,11 +54,11 @@ int ogg_sync_destroy(ogg_sync_state *oy);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_sync_init.html b/doc/libogg/ogg_sync_init.html index f589bf3..a9de200 100644 --- a/doc/libogg/ogg_sync_init.html +++ b/doc/libogg/ogg_sync_init.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -49,11 +49,11 @@ int ogg_sync_init(ogg_sync_state *oy);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html index 57d1cb3..faf40c5 100644 --- a/doc/libogg/ogg_sync_pageout.html +++ b/doc/libogg/ogg_sync_pageout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -63,11 +63,11 @@ if (ogg_sync_pageout(&oy, &og) != 1) {
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html index 94c5b6c..eda0a72 100644 --- a/doc/libogg/ogg_sync_pageseek.html +++ b/doc/libogg/ogg_sync_pageseek.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -54,11 +54,11 @@ n means that the page was synced at the current location, with a page length of
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_sync_reset.html b/doc/libogg/ogg_sync_reset.html index 3bd823f..71891dd 100644 --- a/doc/libogg/ogg_sync_reset.html +++ b/doc/libogg/ogg_sync_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -49,11 +49,11 @@ int ogg_sync_reset(ogg_sync_state *oy);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html index 55283ab..2c84ec8 100644 --- a/doc/libogg/ogg_sync_state.html +++ b/doc/libogg/ogg_sync_state.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -64,11 +64,11 @@ typedef struct {
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index 037d33f..ca0bdf7 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -59,11 +59,11 @@ int ogg_sync_wrote(ogg_sync_state *oy, long by
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_adv.html b/doc/libogg/oggpack_adv.html index 97aa45e..28b05fd 100644 --- a/doc/libogg/oggpack_adv.html +++ b/doc/libogg/oggpack_adv.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -50,11 +50,11 @@ No values are returned.
      - + - +

      copyright © 2000-2010 Xiph.Org Foundation

      copyright © 2000-2011 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_adv1.html b/doc/libogg/oggpack_adv1.html index 8bfea91..76469c3 100644 --- a/doc/libogg/oggpack_adv1.html +++ b/doc/libogg/oggpack_adv1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -48,11 +48,11 @@ void oggpack_adv1(oggpack_buffer *b);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_bits.html b/doc/libogg/oggpack_bits.html index 0bc862f..2f73393 100644 --- a/doc/libogg/oggpack_bits.html +++ b/doc/libogg/oggpack_bits.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -48,11 +48,11 @@ long oggpack_bits(oggpack_buffer *b);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_buffer.html b/doc/libogg/oggpack_buffer.html index fa2e21b..bd81801 100644 --- a/doc/libogg/oggpack_buffer.html +++ b/doc/libogg/oggpack_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -53,11 +53,11 @@ typedef struct {
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_bytes.html b/doc/libogg/oggpack_bytes.html index 0169dbc..948cfe5 100644 --- a/doc/libogg/oggpack_bytes.html +++ b/doc/libogg/oggpack_bytes.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -57,7 +57,7 @@ long oggpack_bytes(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.2.1 - 20101029

      +

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_get_buffer.html b/doc/libogg/oggpack_get_buffer.html index 262eb41..3cfe36a 100644 --- a/doc/libogg/oggpack_get_buffer.html +++ b/doc/libogg/oggpack_get_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -48,11 +48,11 @@ No values are returned.
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_look.html b/doc/libogg/oggpack_look.html index eff410f..d0b58b0 100644 --- a/doc/libogg/oggpack_look.html +++ b/doc/libogg/oggpack_look.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -52,11 +52,11 @@ long oggpack_look(oggpack_buffer *b,int bits)
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_look1.html b/doc/libogg/oggpack_look1.html index 73b4a22..8d5eda1 100644 --- a/doc/libogg/oggpack_look1.html +++ b/doc/libogg/oggpack_look1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -49,11 +49,11 @@ long oggpack_look1(oggpack_buffer *b);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_read.html b/doc/libogg/oggpack_read.html index fedf0b9..d069591 100644 --- a/doc/libogg/oggpack_read.html +++ b/doc/libogg/oggpack_read.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -51,11 +51,11 @@ long oggpack_read(oggpack_buffer *b,int bits);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_read1.html b/doc/libogg/oggpack_read1.html index 37c7278..89e9a89 100644 --- a/doc/libogg/oggpack_read1.html +++ b/doc/libogg/oggpack_read1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -49,11 +49,11 @@ long oggpack_read1(oggpack_buffer *b);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_readinit.html b/doc/libogg/oggpack_readinit.html index 75e37dc..04abf58 100644 --- a/doc/libogg/oggpack_readinit.html +++ b/doc/libogg/oggpack_readinit.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -50,11 +50,11 @@ No values are returned.
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_reset.html b/doc/libogg/oggpack_reset.html index f463a09..620b016 100644 --- a/doc/libogg/oggpack_reset.html +++ b/doc/libogg/oggpack_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -48,11 +48,11 @@ No values are returned.
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_write.html b/doc/libogg/oggpack_write.html index 50e728e..0c6ccd2 100644 --- a/doc/libogg/oggpack_write.html +++ b/doc/libogg/oggpack_write.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -54,11 +54,11 @@ No values are returned.
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_writealign.html b/doc/libogg/oggpack_writealign.html index e45fbe6..cad4958 100644 --- a/doc/libogg/oggpack_writealign.html +++ b/doc/libogg/oggpack_writealign.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -51,11 +51,11 @@ No values are returned.
      - + - +

      copyright © 2000-2010 Xiph.Org Foundation

      copyright © 2000-2011 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_writecheck.html b/doc/libogg/oggpack_writecheck.html index 2bc361c..8762f33 100644 --- a/doc/libogg/oggpack_writecheck.html +++ b/doc/libogg/oggpack_writecheck.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -67,11 +67,11 @@ int oggpack_writecheck(oggpack_buffer *b);
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_writeclear.html b/doc/libogg/oggpack_writeclear.html index 488066e..ad33eda 100644 --- a/doc/libogg/oggpack_writeclear.html +++ b/doc/libogg/oggpack_writeclear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -48,11 +48,11 @@ No values are returned.
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_writecopy.html b/doc/libogg/oggpack_writecopy.html index 98a9dcf..cd51ea6 100644 --- a/doc/libogg/oggpack_writecopy.html +++ b/doc/libogg/oggpack_writecopy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -55,11 +55,11 @@ No values are returned.
      - + - +

      copyright © 2000-2010 Xiph.Org Foundation

      copyright © 2000-2011 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_writeinit.html b/doc/libogg/oggpack_writeinit.html index 0fbf3ac..07d3813 100644 --- a/doc/libogg/oggpack_writeinit.html +++ b/doc/libogg/oggpack_writeinit.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -48,11 +48,11 @@ No values are returned.
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/oggpack_writetrunc.html b/doc/libogg/oggpack_writetrunc.html index deeaeb8..cb23963 100644 --- a/doc/libogg/oggpack_writetrunc.html +++ b/doc/libogg/oggpack_writetrunc.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -51,11 +51,11 @@ No values are returned.
      - + - +

      copyright © 2000-2010 Xiph.Org Foundation

      copyright © 2000-2011 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/overview.html b/doc/libogg/overview.html index 9bbc657..dafd1e9 100644 --- a/doc/libogg/overview.html +++ b/doc/libogg/overview.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -31,11 +31,11 @@ The libogg API consists of the following functional categories:
      - + - +

      copyright © 2000-2010 Xiph.Org

      copyright © 2000-2011 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html index d006e61..1c75772 100644 --- a/doc/libogg/reference.html +++ b/doc/libogg/reference.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      @@ -85,11 +85,11 @@
      - + - +

      copyright © 2000-2010 Xiph.Org Foundation

      copyright © 2000-2011 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.2.1 - 20101029

      libogg release 1.3.0 - 20110804

      -- cgit v1.2.3 From fb921353844bfa859c3d9dabfdc3a7d21782df19 Mon Sep 17 00:00:00 2001 From: Tim Terriberry Date: Thu, 1 Mar 2012 02:17:02 +0000 Subject: Fix link to ogg_stream_state. Thanks to David Richards for the report. svn path=/trunk/ogg/; revision=18217 --- doc/libogg/ogg_stream_reset.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index 362b7ba..e313b7c 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -17,7 +17,7 @@

      declared in "ogg/ogg.h";

      -

      This function sets values in the ogg_stream_state struct back to initial values. +

      This function sets values in the ogg_stream_state struct back to initial values.

      -- cgit v1.2.3 From a3062c7040e45e7ee88a91779355602bccc85e34 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Thu, 21 Jun 2012 19:18:16 +0000 Subject: Close the anchor added in r17179. This keeps the header description from being rendered blue. svn path=/trunk/ogg/; revision=18422 --- doc/framing.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/framing.html b/doc/framing.html index a838bff..b5ac6ac 100644 --- a/doc/framing.html +++ b/doc/framing.html @@ -241,7 +241,7 @@ 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.

      - +

      Page header

      The headering mechanism is designed to avoid copying and re-assembly -- cgit v1.2.3 From bd664137df774923a30f9c4859549745bfa8f708 Mon Sep 17 00:00:00 2001 From: Tim Terriberry Date: Mon, 6 May 2013 17:40:26 +0000 Subject: Fix broken links in the installed docs. Adds some files that weren't being installed at all. Installs the libogg docs with the same relative path that they have in the source, which is where the top level index link expects them to be. Patch contributed by Ron Lee. svn path=/trunk/ogg/; revision=18932 --- doc/Makefile.am | 3 ++- doc/libogg/Makefile.am | 14 +++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index 9c2c316..e7eec1f 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -5,7 +5,8 @@ SUBDIRS = libogg docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) doc_DATA = framing.html index.html oggstream.html ogg-multiplex.html \ - stream.png vorbisword2.png white-ogg.png white-xifish.png \ + fish_xiph_org.png multiplex1.png packets.png pages.png stream.png \ + vorbisword2.png white-ogg.png white-xifish.png \ rfc3533.txt rfc5334.txt skeleton.html EXTRA_DIST = $(doc_DATA) diff --git a/doc/libogg/Makefile.am b/doc/libogg/Makefile.am index 9eb7d34..9139391 100644 --- a/doc/libogg/Makefile.am +++ b/doc/libogg/Makefile.am @@ -1,26 +1,26 @@ ## Process this file with automake to produce Makefile.in -docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/ogg +docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/libogg doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ - general.html index.html ogg_packet.html ogg_packet_clear.html\ + general.html index.html ogg_iovec_t.html ogg_packet.html ogg_packet_clear.html\ ogg_page.html ogg_page_bos.html ogg_page_checksum_set.html\ ogg_page_continued.html ogg_page_eos.html ogg_page_granulepos.html\ ogg_page_packets.html ogg_page_pageno.html ogg_page_serialno.html\ - ogg_page_version.html ogg_stream_clear.html ogg_stream_destroy.html\ - ogg_stream_eos.html ogg_stream_flush.html ogg_stream_init.html\ - ogg_stream_packetin.html ogg_stream_packetout.html\ + ogg_page_version.html ogg_stream_check.html ogg_stream_clear.html ogg_stream_destroy.html\ + ogg_stream_eos.html ogg_stream_flush.html ogg_stream_flush_fill.html ogg_stream_init.html\ + ogg_stream_iovecin.html ogg_stream_packetin.html ogg_stream_packetout.html\ ogg_stream_packetpeek.html ogg_stream_pagein.html\ ogg_stream_pageout.html ogg_stream_pageout_fill.html ogg_stream_reset.html\ ogg_stream_reset_serialno.html ogg_stream_state.html\ - ogg_sync_buffer.html ogg_sync_clear.html ogg_sync_destroy.html\ + ogg_sync_buffer.html ogg_sync_check.html ogg_sync_clear.html ogg_sync_destroy.html\ ogg_sync_init.html ogg_sync_pageout.html ogg_sync_pageseek.html\ ogg_sync_reset.html ogg_sync_state.html ogg_sync_wrote.html\ oggpack_adv.html oggpack_adv1.html oggpack_bits.html\ oggpack_buffer.html oggpack_bytes.html oggpack_get_buffer.html\ oggpack_look.html oggpack_look1.html oggpack_read.html\ oggpack_read1.html oggpack_readinit.html oggpack_reset.html\ - oggpack_write.html oggpack_writealign.html oggpack_writeclear.html\ + oggpack_write.html oggpack_writealign.html oggpack_writecheck.html oggpack_writeclear.html\ oggpack_writecopy.html oggpack_writeinit.html oggpack_writetrunc.html\ overview.html reference.html style.css -- cgit v1.2.3 From 165cd85ad1c60c00f8c4086710979a0782969504 Mon Sep 17 00:00:00 2001 From: Tim Terriberry Date: Mon, 6 May 2013 17:41:08 +0000 Subject: Typo fix. Patch contributed by Ron Lee. svn path=/trunk/ogg/; revision=18933 --- doc/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/index.html b/doc/index.html index 900ef73..6e02f79 100644 --- a/doc/index.html +++ b/doc/index.html @@ -78,7 +78,7 @@ li {

    15. Programming with ogg
    16. -

      Ogg bitsream documentation

      +

      Ogg bitstream documentation

      • Ogg bitstream overview
      • -- cgit v1.2.3 From 0e38a075ce649aea77b46db7de427d908162550f Mon Sep 17 00:00:00 2001 From: Tim Terriberry Date: Mon, 6 May 2013 17:42:50 +0000 Subject: Subject: [PATCH 3/3] Respect the configure --docdir override Thanks to RedDwarf, lilrc, and mgorny for pointing it out and suggesting patches. Patch contributed by Ron Lee. Closes ticket:1758 svn path=/trunk/ogg/; revision=18934 --- doc/Makefile.am | 5 +---- doc/libogg/Makefile.am | 5 ++--- 2 files changed, 3 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index e7eec1f..3dd47b9 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -2,11 +2,8 @@ SUBDIRS = libogg -docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) - -doc_DATA = framing.html index.html oggstream.html ogg-multiplex.html \ +dist_html_DATA = framing.html index.html oggstream.html ogg-multiplex.html \ fish_xiph_org.png multiplex1.png packets.png pages.png stream.png \ vorbisword2.png white-ogg.png white-xifish.png \ rfc3533.txt rfc5334.txt skeleton.html -EXTRA_DIST = $(doc_DATA) diff --git a/doc/libogg/Makefile.am b/doc/libogg/Makefile.am index 9139391..7ecd26a 100644 --- a/doc/libogg/Makefile.am +++ b/doc/libogg/Makefile.am @@ -1,8 +1,8 @@ ## Process this file with automake to produce Makefile.in -docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/libogg +apidocdir = $(htmldir)/libogg -doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ +dist_apidoc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ general.html index.html ogg_iovec_t.html ogg_packet.html ogg_packet_clear.html\ ogg_page.html ogg_page_bos.html ogg_page_checksum_set.html\ ogg_page_continued.html ogg_page_eos.html ogg_page_granulepos.html\ @@ -24,4 +24,3 @@ doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ oggpack_writecopy.html oggpack_writeinit.html oggpack_writetrunc.html\ overview.html reference.html style.css -EXTRA_DIST = $(doc_DATA) -- cgit v1.2.3 From cb28419d55669ebdc2604438cd7cebc040da50e8 Mon Sep 17 00:00:00 2001 From: Tim Terriberry Date: Mon, 6 May 2013 17:44:36 +0000 Subject: Minor documentation fixes. Fixes some broken links that were pointing to the wrong place, and some formatting errors. svn path=/trunk/ogg/; revision=18935 --- doc/libogg/ogg_stream_check.html | 2 +- doc/libogg/ogg_stream_flush.html | 2 +- doc/libogg/ogg_stream_pagein.html | 2 +- doc/libogg/ogg_sync_check.html | 2 +- doc/libogg/oggpack_writecheck.html | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_check.html b/doc/libogg/ogg_stream_check.html index 60bb552..556a484 100644 --- a/doc/libogg/ogg_stream_check.html +++ b/doc/libogg/ogg_stream_check.html @@ -19,7 +19,7 @@

        This function is used to check the error or readiness condition of an ogg_stream_state structure.

        It is safe practice to ignore unrecoverable errors (such as an internal error caused by a malloc() failure) returned by ogg stream synchronization calls. Should an -internal error occur, the ogg_stream_statestructure will be cleared (equivalent to a +internal error occur, the ogg_stream_state structure will be cleared (equivalent to a call to ogg_stream_clear) and subsequent calls using this ogg_stream_state will be diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index 33b799c..2f5998d 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -18,7 +18,7 @@

        declared in "ogg/ogg.h";

        This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page. -

        This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout or ogg_stream_pageout_fillshould always be used. +

        This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout or ogg_stream_pageout_fill should always be used.

        This function can also be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. Like ogg_stream_pageout, it should generally be called in a loop until available packet data has been flushes, since even a single packet may span multiple pages.

        diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index 2185961..703e297 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -35,7 +35,7 @@ int ogg_stream_pagein(ogg_stream_state *os,

        Parameters

        os
        -
        Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
        +
        Pointer to a previously declared ogg_stream_state struct, which represents the current logical bitstream.
        og
        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.
        diff --git a/doc/libogg/ogg_sync_check.html b/doc/libogg/ogg_sync_check.html index 5c9dbad..0238a74 100644 --- a/doc/libogg/ogg_sync_check.html +++ b/doc/libogg/ogg_sync_check.html @@ -19,7 +19,7 @@

        This function is used to check the error or readiness condition of an ogg_sync_state structure.

        It is safe practice to ignore unrecoverable errors (such as an internal error caused by a malloc() failure) returned by ogg stream synchronization calls. Should an -internal error occur, the ogg_sync_statestructure will be cleared (equivalent to a +internal error occur, the ogg_sync_state structure will be cleared (equivalent to a call to ogg_sync_clear) and subsequent calls using this ogg_sync_state will be diff --git a/doc/libogg/oggpack_writecheck.html b/doc/libogg/oggpack_writecheck.html index 8762f33..c7f5a21 100644 --- a/doc/libogg/oggpack_writecheck.html +++ b/doc/libogg/oggpack_writecheck.html @@ -26,7 +26,7 @@ its internal state and release any in-use memory, flagging itself as 'not ready'. Subsequent attempts to write using the buffer will silently fail. This error state may be detected at any later time by using oggpack_writecheck(). It is safe but not necessary to -call oggpack_clear() on a buffer that +call oggpack_writeclear() on a buffer that has flagged an error and released its resources.

        Important note to developers: Although libogg checks the -- cgit v1.2.3 From 61c1ed7340b295796af3faf9ba8003b13347479c Mon Sep 17 00:00:00 2001 From: Tim Terriberry Date: Tue, 14 May 2013 01:24:11 +0000 Subject: Add a makefile target to update the doc versions This isn't automatic. It does need to be invoked explicitly, after the package version is changed in configure.in, immediately before release, but that beats updating all of those files by hand for each release. Patch contributed by Ron Lee. svn path=/trunk/ogg/; revision=18941 --- doc/libogg/Makefile.am | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'doc') diff --git a/doc/libogg/Makefile.am b/doc/libogg/Makefile.am index 7ecd26a..4007907 100644 --- a/doc/libogg/Makefile.am +++ b/doc/libogg/Makefile.am @@ -24,3 +24,16 @@ dist_apidoc_DATA = bitpacking.html datastructures.html decoding.html encoding.ht oggpack_writecopy.html oggpack_writeinit.html oggpack_writetrunc.html\ overview.html reference.html style.css +update-doc-version: + @YEAR=$$(date +%Y); DAY=$$(date +%Y%m%d); \ + for f in $(srcdir)/*.html; do \ + sed -e "s/2000-[0-9]\{4\} Xiph.Org/2000-$$YEAR Xiph.Org/g" \ + -e "s/libogg release [0-9. -]\+/libogg release $(VERSION) - $$DAY/g"\ + < $$f > $$f.tmp; \ + if diff -q $$f $$f.tmp > /dev/null; then \ + rm $$f.tmp; \ + else \ + mv $$f.tmp $$f; \ + fi; \ + done; + -- cgit v1.2.3 From 343548223db74a32cfdfa22a87d712c7cd838e81 Mon Sep 17 00:00:00 2001 From: Tim Terriberry Date: Tue, 14 May 2013 01:30:25 +0000 Subject: Update the doc versions for the 1.3.1 release. Done with `make -C doc/libogg update-doc-version`. Patch contributed by Ron Lee. svn path=/trunk/ogg/; revision=18944 --- doc/libogg/bitpacking.html | 6 +++--- doc/libogg/datastructures.html | 6 +++--- doc/libogg/decoding.html | 6 +++--- doc/libogg/encoding.html | 6 +++--- doc/libogg/general.html | 6 +++--- doc/libogg/index.html | 6 +++--- doc/libogg/ogg_iovec_t.html | 6 +++--- doc/libogg/ogg_packet.html | 6 +++--- doc/libogg/ogg_packet_clear.html | 6 +++--- doc/libogg/ogg_page.html | 6 +++--- doc/libogg/ogg_page_bos.html | 6 +++--- doc/libogg/ogg_page_checksum_set.html | 6 +++--- doc/libogg/ogg_page_continued.html | 6 +++--- doc/libogg/ogg_page_eos.html | 6 +++--- doc/libogg/ogg_page_granulepos.html | 6 +++--- doc/libogg/ogg_page_packets.html | 6 +++--- doc/libogg/ogg_page_pageno.html | 6 +++--- doc/libogg/ogg_page_serialno.html | 6 +++--- doc/libogg/ogg_page_version.html | 6 +++--- doc/libogg/ogg_stream_check.html | 6 +++--- doc/libogg/ogg_stream_clear.html | 6 +++--- doc/libogg/ogg_stream_destroy.html | 6 +++--- doc/libogg/ogg_stream_eos.html | 6 +++--- doc/libogg/ogg_stream_flush.html | 6 +++--- doc/libogg/ogg_stream_flush_fill.html | 6 +++--- doc/libogg/ogg_stream_init.html | 6 +++--- doc/libogg/ogg_stream_iovecin.html | 6 +++--- doc/libogg/ogg_stream_packetin.html | 6 +++--- doc/libogg/ogg_stream_packetout.html | 4 ++-- doc/libogg/ogg_stream_packetpeek.html | 6 +++--- doc/libogg/ogg_stream_pagein.html | 6 +++--- doc/libogg/ogg_stream_pageout.html | 4 ++-- doc/libogg/ogg_stream_pageout_fill.html | 4 ++-- doc/libogg/ogg_stream_reset.html | 6 +++--- doc/libogg/ogg_stream_reset_serialno.html | 6 +++--- doc/libogg/ogg_stream_state.html | 6 +++--- doc/libogg/ogg_sync_buffer.html | 6 +++--- doc/libogg/ogg_sync_check.html | 6 +++--- doc/libogg/ogg_sync_clear.html | 6 +++--- doc/libogg/ogg_sync_destroy.html | 6 +++--- doc/libogg/ogg_sync_init.html | 6 +++--- doc/libogg/ogg_sync_pageout.html | 6 +++--- doc/libogg/ogg_sync_pageseek.html | 6 +++--- doc/libogg/ogg_sync_reset.html | 6 +++--- doc/libogg/ogg_sync_state.html | 6 +++--- doc/libogg/ogg_sync_wrote.html | 6 +++--- doc/libogg/oggpack_adv.html | 6 +++--- doc/libogg/oggpack_adv1.html | 6 +++--- doc/libogg/oggpack_bits.html | 6 +++--- doc/libogg/oggpack_buffer.html | 6 +++--- doc/libogg/oggpack_bytes.html | 4 ++-- doc/libogg/oggpack_get_buffer.html | 6 +++--- doc/libogg/oggpack_look.html | 6 +++--- doc/libogg/oggpack_look1.html | 6 +++--- doc/libogg/oggpack_read.html | 6 +++--- doc/libogg/oggpack_read1.html | 6 +++--- doc/libogg/oggpack_readinit.html | 6 +++--- doc/libogg/oggpack_reset.html | 6 +++--- doc/libogg/oggpack_write.html | 6 +++--- doc/libogg/oggpack_writealign.html | 6 +++--- doc/libogg/oggpack_writecheck.html | 6 +++--- doc/libogg/oggpack_writeclear.html | 6 +++--- doc/libogg/oggpack_writecopy.html | 6 +++--- doc/libogg/oggpack_writeinit.html | 6 +++--- doc/libogg/oggpack_writetrunc.html | 6 +++--- doc/libogg/overview.html | 6 +++--- doc/libogg/reference.html | 6 +++--- 67 files changed, 197 insertions(+), 197 deletions(-) (limited to 'doc') diff --git a/doc/libogg/bitpacking.html b/doc/libogg/bitpacking.html index 3983247..f2e8465 100644 --- a/doc/libogg/bitpacking.html +++ b/doc/libogg/bitpacking.html @@ -9,7 +9,7 @@

      - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -90,11 +90,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".


      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/datastructures.html b/doc/libogg/datastructures.html index 8b519a8..b46e724 100644 --- a/doc/libogg/datastructures.html +++ b/doc/libogg/datastructures.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -46,11 +46,11 @@ All the libogg specific data structures are declared in "ogg/ogg.h".
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html index 2824c37..b483ce0 100644 --- a/doc/libogg/decoding.html +++ b/doc/libogg/decoding.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -91,11 +91,11 @@ advancing decoding.
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html index e02a9b2..3959cff 100644 --- a/doc/libogg/encoding.html +++ b/doc/libogg/encoding.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -63,11 +63,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/general.html b/doc/libogg/general.html index 51448b4..b73207a 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -96,11 +96,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/index.html b/doc/libogg/index.html index 911f073..7f410f8 100644 --- a/doc/libogg/index.html +++ b/doc/libogg/index.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -26,11 +26,11 @@ Libogg contains necessary functionality to create, decode, and work with Ogg bit
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_iovec_t.html b/doc/libogg/ogg_iovec_t.html index a439133..3098d96 100644 --- a/doc/libogg/ogg_iovec_t.html +++ b/doc/libogg/ogg_iovec_t.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -49,11 +49,11 @@ typedef struct {
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html index 5a6623d..c8b1b35 100644 --- a/doc/libogg/ogg_packet.html +++ b/doc/libogg/ogg_packet.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -62,11 +62,11 @@ typedef struct {
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index ebaf0c3..334769e 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -50,11 +50,11 @@ None.
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html index 33d886e..9cd4c62 100644 --- a/doc/libogg/ogg_page.html +++ b/doc/libogg/ogg_page.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -62,11 +62,11 @@ typedef struct {
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_page_bos.html b/doc/libogg/ogg_page_bos.html index 2708d38..b09cd01 100644 --- a/doc/libogg/ogg_page_bos.html +++ b/doc/libogg/ogg_page_bos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -51,11 +51,11 @@ greater than 0 if this page is the beginning of a bitstream.
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_page_checksum_set.html b/doc/libogg/ogg_page_checksum_set.html index 7c281dc..7668eb0 100644 --- a/doc/libogg/ogg_page_checksum_set.html +++ b/doc/libogg/ogg_page_checksum_set.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -48,11 +48,11 @@ None.
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_page_continued.html b/doc/libogg/ogg_page_continued.html index 33e5d2d..9445e3c 100644 --- a/doc/libogg/ogg_page_continued.html +++ b/doc/libogg/ogg_page_continued.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -50,11 +50,11 @@ int ogg_page_continued(ogg_page *og);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_page_eos.html b/doc/libogg/ogg_page_eos.html index 2a3cf4d..b3d0c76 100644 --- a/doc/libogg/ogg_page_eos.html +++ b/doc/libogg/ogg_page_eos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -51,11 +51,11 @@ greater than zero if this page contains the end of a bitstream.
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html index d905f89..22fef0c 100644 --- a/doc/libogg/ogg_page_granulepos.html +++ b/doc/libogg/ogg_page_granulepos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -51,11 +51,11 @@ ogg_in64_t ogg_page_granulepos(ogg_page *og);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html index 2355360..a266557 100644 --- a/doc/libogg/ogg_page_packets.html +++ b/doc/libogg/ogg_page_packets.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -61,11 +61,11 @@ ogg_page_continued(page) will return non-zero.

      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html index 553c4b2..8da2517 100644 --- a/doc/libogg/ogg_page_pageno.html +++ b/doc/libogg/ogg_page_pageno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -49,11 +49,11 @@ long ogg_page_pageno(ogg_page *og);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_page_serialno.html b/doc/libogg/ogg_page_serialno.html index eafca69..b06cf40 100644 --- a/doc/libogg/ogg_page_serialno.html +++ b/doc/libogg/ogg_page_serialno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -49,11 +49,11 @@ int ogg_page_serialno(ogg_page *og);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_page_version.html b/doc/libogg/ogg_page_version.html index 21611c7..d17f763 100644 --- a/doc/libogg/ogg_page_version.html +++ b/doc/libogg/ogg_page_version.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -49,11 +49,11 @@ int ogg_page_version(ogg_page *og);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_check.html b/doc/libogg/ogg_stream_check.html index 556a484..400a8e5 100644 --- a/doc/libogg/ogg_stream_check.html +++ b/doc/libogg/ogg_stream_check.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -57,11 +57,11 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html index b50f07c..27c7b07 100644 --- a/doc/libogg/ogg_stream_clear.html +++ b/doc/libogg/ogg_stream_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -47,11 +47,11 @@ int ogg_stream_clear(ogg_stream_state *os);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index 2506dfa..3f69823 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -57,11 +57,11 @@ int ogg_stream_destroy(ogg_stream_state *os);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html index 4930dbb..cd398ea 100644 --- a/doc/libogg/ogg_stream_eos.html +++ b/doc/libogg/ogg_stream_eos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -48,11 +48,11 @@ int ogg_stream_eos(ogg_stream_state *os);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index 2f5998d..6bee4fd 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -53,11 +53,11 @@ Nonzero means that remaining packets have successfully been flushed into the pag
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_flush_fill.html b/doc/libogg/ogg_stream_flush_fill.html index 9a028af..583c815 100644 --- a/doc/libogg/ogg_stream_flush_fill.html +++ b/doc/libogg/ogg_stream_flush_fill.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -60,11 +60,11 @@ Nonzero means that remaining packets have successfully been flushed into the pag
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html index ae7025f..aa53ed2 100644 --- a/doc/libogg/ogg_stream_init.html +++ b/doc/libogg/ogg_stream_init.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -52,11 +52,11 @@ int ogg_stream_init(ogg_stream_state *os,int
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html index b8b88b7..c0f2327 100644 --- a/doc/libogg/ogg_stream_iovecin.html +++ b/doc/libogg/ogg_stream_iovecin.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -66,11 +66,11 @@ int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index 66c0bb8..fec413e 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -58,11 +58,11 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html index e116a9e..66c0805 100644 --- a/doc/libogg/ogg_stream_packetout.html +++ b/doc/libogg/ogg_stream_packetout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -76,7 +76,7 @@ on this stream state.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.0 - 20110804

      +

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index ba09d00..6a361a6 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -71,11 +71,11 @@ packet?" check. - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index 703e297..f32c7fd 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -53,11 +53,11 @@ int ogg_stream_pagein(ogg_stream_state *os,
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html index 4ad88d4..a4e165c 100644 --- a/doc/libogg/ogg_stream_pageout.html +++ b/doc/libogg/ogg_stream_pageout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -74,7 +74,7 @@ this case og is not modified.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.0 - 20110804

      +

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_pageout_fill.html b/doc/libogg/ogg_stream_pageout_fill.html index 3d3e732..7ea945d 100644 --- a/doc/libogg/ogg_stream_pageout_fill.html +++ b/doc/libogg/ogg_stream_pageout_fill.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -79,7 +79,7 @@ this case og is not modified.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.0 - 20110804

      +

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index e313b7c..f312368 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -47,11 +47,11 @@ int ogg_stream_reset(ogg_stream_state *os);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html index 682cc33..274bce9 100644 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -53,11 +53,11 @@ int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);
      - + - +

      copyright © 2000-2011 Xiph.Org Foundation

      copyright © 2000-2013 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index 8875192..6f4c622 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -108,11 +108,11 @@ typedef struct {
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html index f4e6596..46ab6ba 100644 --- a/doc/libogg/ogg_sync_buffer.html +++ b/doc/libogg/ogg_sync_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -53,11 +53,11 @@ Returns a pointer to the newly allocated buffer or NULL on error
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_sync_check.html b/doc/libogg/ogg_sync_check.html index 0238a74..5914875 100644 --- a/doc/libogg/ogg_sync_check.html +++ b/doc/libogg/ogg_sync_check.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -57,11 +57,11 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_sync_clear.html b/doc/libogg/ogg_sync_clear.html index 306a66c..b1afbf1 100644 --- a/doc/libogg/ogg_sync_clear.html +++ b/doc/libogg/ogg_sync_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -48,11 +48,11 @@ int ogg_sync_clear(ogg_sync_state *oy);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html index 70d2a0f..03c9f91 100644 --- a/doc/libogg/ogg_sync_destroy.html +++ b/doc/libogg/ogg_sync_destroy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -54,11 +54,11 @@ int ogg_sync_destroy(ogg_sync_state *oy);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_sync_init.html b/doc/libogg/ogg_sync_init.html index a9de200..6cbcd3f 100644 --- a/doc/libogg/ogg_sync_init.html +++ b/doc/libogg/ogg_sync_init.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -49,11 +49,11 @@ int ogg_sync_init(ogg_sync_state *oy);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html index faf40c5..615d105 100644 --- a/doc/libogg/ogg_sync_pageout.html +++ b/doc/libogg/ogg_sync_pageout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -63,11 +63,11 @@ if (ogg_sync_pageout(&oy, &og) != 1) {
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html index eda0a72..ee8bbb0 100644 --- a/doc/libogg/ogg_sync_pageseek.html +++ b/doc/libogg/ogg_sync_pageseek.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -54,11 +54,11 @@ n means that the page was synced at the current location, with a page length of
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_sync_reset.html b/doc/libogg/ogg_sync_reset.html index 71891dd..f3c2c3f 100644 --- a/doc/libogg/ogg_sync_reset.html +++ b/doc/libogg/ogg_sync_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -49,11 +49,11 @@ int ogg_sync_reset(ogg_sync_state *oy);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html index 2c84ec8..32e62bf 100644 --- a/doc/libogg/ogg_sync_state.html +++ b/doc/libogg/ogg_sync_state.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -64,11 +64,11 @@ typedef struct {
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index ca0bdf7..3b53e9c 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -59,11 +59,11 @@ int ogg_sync_wrote(ogg_sync_state *oy, long by
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_adv.html b/doc/libogg/oggpack_adv.html index 28b05fd..08e2c77 100644 --- a/doc/libogg/oggpack_adv.html +++ b/doc/libogg/oggpack_adv.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -50,11 +50,11 @@ No values are returned.
      - + - +

      copyright © 2000-2011 Xiph.Org Foundation

      copyright © 2000-2013 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_adv1.html b/doc/libogg/oggpack_adv1.html index 76469c3..3f9d741 100644 --- a/doc/libogg/oggpack_adv1.html +++ b/doc/libogg/oggpack_adv1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -48,11 +48,11 @@ void oggpack_adv1(oggpack_buffer *b);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_bits.html b/doc/libogg/oggpack_bits.html index 2f73393..519f6a1 100644 --- a/doc/libogg/oggpack_bits.html +++ b/doc/libogg/oggpack_bits.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -48,11 +48,11 @@ long oggpack_bits(oggpack_buffer *b);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_buffer.html b/doc/libogg/oggpack_buffer.html index bd81801..021d9a9 100644 --- a/doc/libogg/oggpack_buffer.html +++ b/doc/libogg/oggpack_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -53,11 +53,11 @@ typedef struct {
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_bytes.html b/doc/libogg/oggpack_bytes.html index 948cfe5..8400d90 100644 --- a/doc/libogg/oggpack_bytes.html +++ b/doc/libogg/oggpack_bytes.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -57,7 +57,7 @@ long oggpack_bytes(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.0 - 20110804

      +

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_get_buffer.html b/doc/libogg/oggpack_get_buffer.html index 3cfe36a..b88559b 100644 --- a/doc/libogg/oggpack_get_buffer.html +++ b/doc/libogg/oggpack_get_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -48,11 +48,11 @@ No values are returned.
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_look.html b/doc/libogg/oggpack_look.html index d0b58b0..0fbbb4f 100644 --- a/doc/libogg/oggpack_look.html +++ b/doc/libogg/oggpack_look.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -52,11 +52,11 @@ long oggpack_look(oggpack_buffer *b,int bits)
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_look1.html b/doc/libogg/oggpack_look1.html index 8d5eda1..c4792ec 100644 --- a/doc/libogg/oggpack_look1.html +++ b/doc/libogg/oggpack_look1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -49,11 +49,11 @@ long oggpack_look1(oggpack_buffer *b);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_read.html b/doc/libogg/oggpack_read.html index d069591..a20d54d 100644 --- a/doc/libogg/oggpack_read.html +++ b/doc/libogg/oggpack_read.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -51,11 +51,11 @@ long oggpack_read(oggpack_buffer *b,int bits);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_read1.html b/doc/libogg/oggpack_read1.html index 89e9a89..f28f676 100644 --- a/doc/libogg/oggpack_read1.html +++ b/doc/libogg/oggpack_read1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -49,11 +49,11 @@ long oggpack_read1(oggpack_buffer *b);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_readinit.html b/doc/libogg/oggpack_readinit.html index 04abf58..5eb0495 100644 --- a/doc/libogg/oggpack_readinit.html +++ b/doc/libogg/oggpack_readinit.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -50,11 +50,11 @@ No values are returned.
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_reset.html b/doc/libogg/oggpack_reset.html index 620b016..24a27af 100644 --- a/doc/libogg/oggpack_reset.html +++ b/doc/libogg/oggpack_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -48,11 +48,11 @@ No values are returned.
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_write.html b/doc/libogg/oggpack_write.html index 0c6ccd2..8ecee79 100644 --- a/doc/libogg/oggpack_write.html +++ b/doc/libogg/oggpack_write.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -54,11 +54,11 @@ No values are returned.
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_writealign.html b/doc/libogg/oggpack_writealign.html index cad4958..487a8e2 100644 --- a/doc/libogg/oggpack_writealign.html +++ b/doc/libogg/oggpack_writealign.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -51,11 +51,11 @@ No values are returned.
      - + - +

      copyright © 2000-2011 Xiph.Org Foundation

      copyright © 2000-2013 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_writecheck.html b/doc/libogg/oggpack_writecheck.html index c7f5a21..def4802 100644 --- a/doc/libogg/oggpack_writecheck.html +++ b/doc/libogg/oggpack_writecheck.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -67,11 +67,11 @@ int oggpack_writecheck(oggpack_buffer *b);
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_writeclear.html b/doc/libogg/oggpack_writeclear.html index ad33eda..6e2031f 100644 --- a/doc/libogg/oggpack_writeclear.html +++ b/doc/libogg/oggpack_writeclear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -48,11 +48,11 @@ No values are returned.
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_writecopy.html b/doc/libogg/oggpack_writecopy.html index cd51ea6..592a78f 100644 --- a/doc/libogg/oggpack_writecopy.html +++ b/doc/libogg/oggpack_writecopy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -55,11 +55,11 @@ No values are returned.
      - + - +

      copyright © 2000-2011 Xiph.Org Foundation

      copyright © 2000-2013 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_writeinit.html b/doc/libogg/oggpack_writeinit.html index 07d3813..b1f6597 100644 --- a/doc/libogg/oggpack_writeinit.html +++ b/doc/libogg/oggpack_writeinit.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -48,11 +48,11 @@ No values are returned.
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/oggpack_writetrunc.html b/doc/libogg/oggpack_writetrunc.html index cb23963..bac4ccb 100644 --- a/doc/libogg/oggpack_writetrunc.html +++ b/doc/libogg/oggpack_writetrunc.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -51,11 +51,11 @@ No values are returned.
      - + - +

      copyright © 2000-2011 Xiph.Org Foundation

      copyright © 2000-2013 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/overview.html b/doc/libogg/overview.html index dafd1e9..e0895cd 100644 --- a/doc/libogg/overview.html +++ b/doc/libogg/overview.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -31,11 +31,11 @@ The libogg API consists of the following functional categories:
      - + - +

      copyright © 2000-2011 Xiph.Org

      copyright © 2000-2013 Xiph.Org

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html index 1c75772..c6015b0 100644 --- a/doc/libogg/reference.html +++ b/doc/libogg/reference.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      @@ -85,11 +85,11 @@
      - + - +

      copyright © 2000-2011 Xiph.Org Foundation

      copyright © 2000-2013 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.0 - 20110804

      libogg release 1.3.1 - 20130512

      -- cgit v1.2.3 From 46d39b51d4ea637affb9dccbede9616252a1a085 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Tue, 27 May 2014 16:26:23 +0000 Subject: Update copyright year. svn path=/trunk/ogg/; revision=19149 --- doc/libogg/bitpacking.html | 2 +- doc/libogg/datastructures.html | 2 +- doc/libogg/decoding.html | 2 +- doc/libogg/encoding.html | 2 +- doc/libogg/general.html | 2 +- doc/libogg/index.html | 2 +- doc/libogg/ogg_iovec_t.html | 2 +- doc/libogg/ogg_packet.html | 2 +- doc/libogg/ogg_packet_clear.html | 2 +- doc/libogg/ogg_page.html | 2 +- doc/libogg/ogg_page_bos.html | 2 +- doc/libogg/ogg_page_checksum_set.html | 2 +- doc/libogg/ogg_page_continued.html | 2 +- doc/libogg/ogg_page_eos.html | 2 +- doc/libogg/ogg_page_granulepos.html | 2 +- doc/libogg/ogg_page_packets.html | 2 +- doc/libogg/ogg_page_pageno.html | 2 +- doc/libogg/ogg_page_serialno.html | 2 +- doc/libogg/ogg_page_version.html | 2 +- doc/libogg/ogg_stream_check.html | 2 +- doc/libogg/ogg_stream_clear.html | 2 +- doc/libogg/ogg_stream_destroy.html | 2 +- doc/libogg/ogg_stream_eos.html | 2 +- doc/libogg/ogg_stream_flush.html | 2 +- doc/libogg/ogg_stream_flush_fill.html | 2 +- doc/libogg/ogg_stream_init.html | 2 +- doc/libogg/ogg_stream_iovecin.html | 2 +- doc/libogg/ogg_stream_packetin.html | 2 +- doc/libogg/ogg_stream_packetpeek.html | 2 +- doc/libogg/ogg_stream_pagein.html | 2 +- doc/libogg/ogg_stream_reset.html | 2 +- doc/libogg/ogg_stream_reset_serialno.html | 2 +- doc/libogg/ogg_stream_state.html | 2 +- doc/libogg/ogg_sync_buffer.html | 2 +- doc/libogg/ogg_sync_check.html | 2 +- doc/libogg/ogg_sync_clear.html | 2 +- doc/libogg/ogg_sync_destroy.html | 2 +- doc/libogg/ogg_sync_init.html | 2 +- doc/libogg/ogg_sync_pageout.html | 2 +- doc/libogg/ogg_sync_pageseek.html | 2 +- doc/libogg/ogg_sync_reset.html | 2 +- doc/libogg/ogg_sync_state.html | 2 +- doc/libogg/ogg_sync_wrote.html | 2 +- doc/libogg/oggpack_adv.html | 2 +- doc/libogg/oggpack_adv1.html | 2 +- doc/libogg/oggpack_bits.html | 2 +- doc/libogg/oggpack_buffer.html | 2 +- doc/libogg/oggpack_get_buffer.html | 2 +- doc/libogg/oggpack_look.html | 2 +- doc/libogg/oggpack_look1.html | 2 +- doc/libogg/oggpack_read.html | 2 +- doc/libogg/oggpack_read1.html | 2 +- doc/libogg/oggpack_readinit.html | 2 +- doc/libogg/oggpack_reset.html | 2 +- doc/libogg/oggpack_write.html | 2 +- doc/libogg/oggpack_writealign.html | 2 +- doc/libogg/oggpack_writecheck.html | 2 +- doc/libogg/oggpack_writeclear.html | 2 +- doc/libogg/oggpack_writecopy.html | 2 +- doc/libogg/oggpack_writeinit.html | 2 +- doc/libogg/oggpack_writetrunc.html | 2 +- doc/libogg/overview.html | 2 +- doc/libogg/reference.html | 2 +- 63 files changed, 63 insertions(+), 63 deletions(-) (limited to 'doc') diff --git a/doc/libogg/bitpacking.html b/doc/libogg/bitpacking.html index f2e8465..7a739bd 100644 --- a/doc/libogg/bitpacking.html +++ b/doc/libogg/bitpacking.html @@ -90,7 +90,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".
      - + diff --git a/doc/libogg/datastructures.html b/doc/libogg/datastructures.html index b46e724..ab2554f 100644 --- a/doc/libogg/datastructures.html +++ b/doc/libogg/datastructures.html @@ -46,7 +46,7 @@ All the libogg specific data structures are declared in "ogg/ogg.h".

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html index b483ce0..6785329 100644 --- a/doc/libogg/decoding.html +++ b/doc/libogg/decoding.html @@ -91,7 +91,7 @@ advancing decoding.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html index 3959cff..fc6f19d 100644 --- a/doc/libogg/encoding.html +++ b/doc/libogg/encoding.html @@ -63,7 +63,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/general.html b/doc/libogg/general.html index b73207a..fbb96b9 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -96,7 +96,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/index.html b/doc/libogg/index.html index 7f410f8..3e22e45 100644 --- a/doc/libogg/index.html +++ b/doc/libogg/index.html @@ -26,7 +26,7 @@ Libogg contains necessary functionality to create, decode, and work with Ogg bit

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_iovec_t.html b/doc/libogg/ogg_iovec_t.html index 3098d96..074a8d7 100644 --- a/doc/libogg/ogg_iovec_t.html +++ b/doc/libogg/ogg_iovec_t.html @@ -49,7 +49,7 @@ typedef struct {

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html index c8b1b35..b6f5d1c 100644 --- a/doc/libogg/ogg_packet.html +++ b/doc/libogg/ogg_packet.html @@ -62,7 +62,7 @@ typedef struct {

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index 334769e..95988c1 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -50,7 +50,7 @@ None.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html index 9cd4c62..9f5caf7 100644 --- a/doc/libogg/ogg_page.html +++ b/doc/libogg/ogg_page.html @@ -62,7 +62,7 @@ typedef struct {

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_page_bos.html b/doc/libogg/ogg_page_bos.html index b09cd01..5e47beb 100644 --- a/doc/libogg/ogg_page_bos.html +++ b/doc/libogg/ogg_page_bos.html @@ -51,7 +51,7 @@ greater than 0 if this page is the beginning of a bitstream.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_page_checksum_set.html b/doc/libogg/ogg_page_checksum_set.html index 7668eb0..2689f68 100644 --- a/doc/libogg/ogg_page_checksum_set.html +++ b/doc/libogg/ogg_page_checksum_set.html @@ -48,7 +48,7 @@ None.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_page_continued.html b/doc/libogg/ogg_page_continued.html index 9445e3c..96eff12 100644 --- a/doc/libogg/ogg_page_continued.html +++ b/doc/libogg/ogg_page_continued.html @@ -50,7 +50,7 @@ int ogg_page_continued(ogg_page *og);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_page_eos.html b/doc/libogg/ogg_page_eos.html index b3d0c76..3cb2cc5 100644 --- a/doc/libogg/ogg_page_eos.html +++ b/doc/libogg/ogg_page_eos.html @@ -51,7 +51,7 @@ greater than zero if this page contains the end of a bitstream.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html index 22fef0c..db977d4 100644 --- a/doc/libogg/ogg_page_granulepos.html +++ b/doc/libogg/ogg_page_granulepos.html @@ -51,7 +51,7 @@ ogg_in64_t ogg_page_granulepos(ogg_page *og);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html index a266557..1328dab 100644 --- a/doc/libogg/ogg_page_packets.html +++ b/doc/libogg/ogg_page_packets.html @@ -61,7 +61,7 @@ ogg_page_continued(page) will return non-zero.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html index 8da2517..ea32f4a 100644 --- a/doc/libogg/ogg_page_pageno.html +++ b/doc/libogg/ogg_page_pageno.html @@ -49,7 +49,7 @@ long ogg_page_pageno(ogg_page *og);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_page_serialno.html b/doc/libogg/ogg_page_serialno.html index b06cf40..aaecb59 100644 --- a/doc/libogg/ogg_page_serialno.html +++ b/doc/libogg/ogg_page_serialno.html @@ -49,7 +49,7 @@ int ogg_page_serialno(ogg_page *og);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_page_version.html b/doc/libogg/ogg_page_version.html index d17f763..34028a1 100644 --- a/doc/libogg/ogg_page_version.html +++ b/doc/libogg/ogg_page_version.html @@ -49,7 +49,7 @@ int ogg_page_version(ogg_page *og);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_check.html b/doc/libogg/ogg_stream_check.html index 400a8e5..eb1bf59 100644 --- a/doc/libogg/ogg_stream_check.html +++ b/doc/libogg/ogg_stream_check.html @@ -57,7 +57,7 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html index 27c7b07..8a282d0 100644 --- a/doc/libogg/ogg_stream_clear.html +++ b/doc/libogg/ogg_stream_clear.html @@ -47,7 +47,7 @@ int ogg_stream_clear(ogg_stream_state *os);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index 3f69823..ff47a97 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -57,7 +57,7 @@ int ogg_stream_destroy(ogg_stream_state *os);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html index cd398ea..2e6a7ac 100644 --- a/doc/libogg/ogg_stream_eos.html +++ b/doc/libogg/ogg_stream_eos.html @@ -48,7 +48,7 @@ int ogg_stream_eos(ogg_stream_state *os);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index 6bee4fd..895485c 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -53,7 +53,7 @@ Nonzero means that remaining packets have successfully been flushed into the pag

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_flush_fill.html b/doc/libogg/ogg_stream_flush_fill.html index 583c815..d2b6ccb 100644 --- a/doc/libogg/ogg_stream_flush_fill.html +++ b/doc/libogg/ogg_stream_flush_fill.html @@ -60,7 +60,7 @@ Nonzero means that remaining packets have successfully been flushed into the pag

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html index aa53ed2..37eeacf 100644 --- a/doc/libogg/ogg_stream_init.html +++ b/doc/libogg/ogg_stream_init.html @@ -52,7 +52,7 @@ int ogg_stream_init(ogg_stream_state *os,int

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html index c0f2327..e910870 100644 --- a/doc/libogg/ogg_stream_iovecin.html +++ b/doc/libogg/ogg_stream_iovecin.html @@ -66,7 +66,7 @@ int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index fec413e..52de6bc 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -58,7 +58,7 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index 6a361a6..cb03c68 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -71,7 +71,7 @@ packet?" check.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index f32c7fd..c7b5211 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -53,7 +53,7 @@ int ogg_stream_pagein(ogg_stream_state *os,

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index f312368..fc3835f 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -47,7 +47,7 @@ int ogg_stream_reset(ogg_stream_state *os);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html index 274bce9..f89950f 100644 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -53,7 +53,7 @@ int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index 6f4c622..3ea8737 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -108,7 +108,7 @@ typedef struct {

      copyright © 2000-2013 Xiph.Org Foundation

      copyright © 2000-2014 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html index 46ab6ba..6df8883 100644 --- a/doc/libogg/ogg_sync_buffer.html +++ b/doc/libogg/ogg_sync_buffer.html @@ -53,7 +53,7 @@ Returns a pointer to the newly allocated buffer or NULL on error

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_sync_check.html b/doc/libogg/ogg_sync_check.html index 5914875..da72541 100644 --- a/doc/libogg/ogg_sync_check.html +++ b/doc/libogg/ogg_sync_check.html @@ -57,7 +57,7 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_sync_clear.html b/doc/libogg/ogg_sync_clear.html index b1afbf1..6939ad1 100644 --- a/doc/libogg/ogg_sync_clear.html +++ b/doc/libogg/ogg_sync_clear.html @@ -48,7 +48,7 @@ int ogg_sync_clear(ogg_sync_state *oy);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html index 03c9f91..0dad061 100644 --- a/doc/libogg/ogg_sync_destroy.html +++ b/doc/libogg/ogg_sync_destroy.html @@ -54,7 +54,7 @@ int ogg_sync_destroy(ogg_sync_state *oy);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_sync_init.html b/doc/libogg/ogg_sync_init.html index 6cbcd3f..15eb07e 100644 --- a/doc/libogg/ogg_sync_init.html +++ b/doc/libogg/ogg_sync_init.html @@ -49,7 +49,7 @@ int ogg_sync_init(ogg_sync_state *oy);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html index 615d105..9baf5af 100644 --- a/doc/libogg/ogg_sync_pageout.html +++ b/doc/libogg/ogg_sync_pageout.html @@ -63,7 +63,7 @@ if (ogg_sync_pageout(&oy, &og) != 1) {

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html index ee8bbb0..0a172f8 100644 --- a/doc/libogg/ogg_sync_pageseek.html +++ b/doc/libogg/ogg_sync_pageseek.html @@ -54,7 +54,7 @@ n means that the page was synced at the current location, with a page length of

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_sync_reset.html b/doc/libogg/ogg_sync_reset.html index f3c2c3f..7ee1be4 100644 --- a/doc/libogg/ogg_sync_reset.html +++ b/doc/libogg/ogg_sync_reset.html @@ -49,7 +49,7 @@ int ogg_sync_reset(ogg_sync_state *oy);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html index 32e62bf..8890b1d 100644 --- a/doc/libogg/ogg_sync_state.html +++ b/doc/libogg/ogg_sync_state.html @@ -64,7 +64,7 @@ typedef struct {

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index 3b53e9c..c377564 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -59,7 +59,7 @@ int ogg_sync_wrote(ogg_sync_state *oy, long by

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_adv.html b/doc/libogg/oggpack_adv.html index 08e2c77..d23b511 100644 --- a/doc/libogg/oggpack_adv.html +++ b/doc/libogg/oggpack_adv.html @@ -50,7 +50,7 @@ No values are returned.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_adv1.html b/doc/libogg/oggpack_adv1.html index 3f9d741..a0e0052 100644 --- a/doc/libogg/oggpack_adv1.html +++ b/doc/libogg/oggpack_adv1.html @@ -48,7 +48,7 @@ void oggpack_adv1(oggpack_buffer *b);

      copyright © 2000-2013 Xiph.Org Foundation

      copyright © 2000-2014 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_bits.html b/doc/libogg/oggpack_bits.html index 519f6a1..4ac1e7e 100644 --- a/doc/libogg/oggpack_bits.html +++ b/doc/libogg/oggpack_bits.html @@ -48,7 +48,7 @@ long oggpack_bits(oggpack_buffer *b);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_buffer.html b/doc/libogg/oggpack_buffer.html index 021d9a9..6eb5644 100644 --- a/doc/libogg/oggpack_buffer.html +++ b/doc/libogg/oggpack_buffer.html @@ -53,7 +53,7 @@ typedef struct {

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_get_buffer.html b/doc/libogg/oggpack_get_buffer.html index b88559b..571c69c 100644 --- a/doc/libogg/oggpack_get_buffer.html +++ b/doc/libogg/oggpack_get_buffer.html @@ -48,7 +48,7 @@ No values are returned.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_look.html b/doc/libogg/oggpack_look.html index 0fbbb4f..360de49 100644 --- a/doc/libogg/oggpack_look.html +++ b/doc/libogg/oggpack_look.html @@ -52,7 +52,7 @@ long oggpack_look(oggpack_buffer *b,int bits)

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_look1.html b/doc/libogg/oggpack_look1.html index c4792ec..d571f1b 100644 --- a/doc/libogg/oggpack_look1.html +++ b/doc/libogg/oggpack_look1.html @@ -49,7 +49,7 @@ long oggpack_look1(oggpack_buffer *b);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_read.html b/doc/libogg/oggpack_read.html index a20d54d..e1afd73 100644 --- a/doc/libogg/oggpack_read.html +++ b/doc/libogg/oggpack_read.html @@ -51,7 +51,7 @@ long oggpack_read(oggpack_buffer *b,int bits);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_read1.html b/doc/libogg/oggpack_read1.html index f28f676..9835628 100644 --- a/doc/libogg/oggpack_read1.html +++ b/doc/libogg/oggpack_read1.html @@ -49,7 +49,7 @@ long oggpack_read1(oggpack_buffer *b);

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_readinit.html b/doc/libogg/oggpack_readinit.html index 5eb0495..b41c0bb 100644 --- a/doc/libogg/oggpack_readinit.html +++ b/doc/libogg/oggpack_readinit.html @@ -50,7 +50,7 @@ No values are returned.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_reset.html b/doc/libogg/oggpack_reset.html index 24a27af..96af2ef 100644 --- a/doc/libogg/oggpack_reset.html +++ b/doc/libogg/oggpack_reset.html @@ -48,7 +48,7 @@ No values are returned.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_write.html b/doc/libogg/oggpack_write.html index 8ecee79..bc19e97 100644 --- a/doc/libogg/oggpack_write.html +++ b/doc/libogg/oggpack_write.html @@ -54,7 +54,7 @@ No values are returned.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_writealign.html b/doc/libogg/oggpack_writealign.html index 487a8e2..8ef729b 100644 --- a/doc/libogg/oggpack_writealign.html +++ b/doc/libogg/oggpack_writealign.html @@ -51,7 +51,7 @@ No values are returned.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_writecheck.html b/doc/libogg/oggpack_writecheck.html index def4802..1221310 100644 --- a/doc/libogg/oggpack_writecheck.html +++ b/doc/libogg/oggpack_writecheck.html @@ -67,7 +67,7 @@ int oggpack_writecheck(oggpack_buffer *b);

      copyright © 2000-2013 Xiph.Org Foundation

      copyright © 2000-2014 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_writeclear.html b/doc/libogg/oggpack_writeclear.html index 6e2031f..2f469ef 100644 --- a/doc/libogg/oggpack_writeclear.html +++ b/doc/libogg/oggpack_writeclear.html @@ -48,7 +48,7 @@ No values are returned.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_writecopy.html b/doc/libogg/oggpack_writecopy.html index 592a78f..6ae959a 100644 --- a/doc/libogg/oggpack_writecopy.html +++ b/doc/libogg/oggpack_writecopy.html @@ -55,7 +55,7 @@ No values are returned.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_writeinit.html b/doc/libogg/oggpack_writeinit.html index b1f6597..eb00efc 100644 --- a/doc/libogg/oggpack_writeinit.html +++ b/doc/libogg/oggpack_writeinit.html @@ -48,7 +48,7 @@ No values are returned.

      copyright © 2000-2013 Xiph.Org Foundation

      copyright © 2000-2014 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/oggpack_writetrunc.html b/doc/libogg/oggpack_writetrunc.html index bac4ccb..d827eea 100644 --- a/doc/libogg/oggpack_writetrunc.html +++ b/doc/libogg/oggpack_writetrunc.html @@ -51,7 +51,7 @@ No values are returned.

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/overview.html b/doc/libogg/overview.html index e0895cd..f6b0622 100644 --- a/doc/libogg/overview.html +++ b/doc/libogg/overview.html @@ -31,7 +31,7 @@ The libogg API consists of the following functional categories:

      copyright © 2000-2013 Xiph.Org Foundation

      copyright © 2000-2014 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      - + diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html index c6015b0..51918bd 100644 --- a/doc/libogg/reference.html +++ b/doc/libogg/reference.html @@ -85,7 +85,7 @@

      copyright © 2000-2013 Xiph.Org

      copyright © 2000-2014 Xiph.Org

      Ogg Container Format

      libogg documentation

      - + -- cgit v1.2.3 From 36606a06c60fabb1d87ec204ae4f14dfe1224362 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Tue, 27 May 2014 16:35:22 +0000 Subject: Update release version and date on the reference docs. svn path=/trunk/ogg/; revision=19150 --- doc/libogg/bitpacking.html | 4 ++-- doc/libogg/datastructures.html | 4 ++-- doc/libogg/decoding.html | 4 ++-- doc/libogg/encoding.html | 4 ++-- doc/libogg/general.html | 4 ++-- doc/libogg/index.html | 4 ++-- doc/libogg/ogg_iovec_t.html | 4 ++-- doc/libogg/ogg_packet.html | 4 ++-- doc/libogg/ogg_packet_clear.html | 4 ++-- doc/libogg/ogg_page.html | 4 ++-- doc/libogg/ogg_page_bos.html | 4 ++-- doc/libogg/ogg_page_checksum_set.html | 4 ++-- doc/libogg/ogg_page_continued.html | 4 ++-- doc/libogg/ogg_page_eos.html | 4 ++-- doc/libogg/ogg_page_granulepos.html | 4 ++-- doc/libogg/ogg_page_packets.html | 4 ++-- doc/libogg/ogg_page_pageno.html | 4 ++-- doc/libogg/ogg_page_serialno.html | 4 ++-- doc/libogg/ogg_page_version.html | 4 ++-- doc/libogg/ogg_stream_check.html | 4 ++-- doc/libogg/ogg_stream_clear.html | 4 ++-- doc/libogg/ogg_stream_destroy.html | 4 ++-- doc/libogg/ogg_stream_eos.html | 4 ++-- doc/libogg/ogg_stream_flush.html | 4 ++-- doc/libogg/ogg_stream_flush_fill.html | 4 ++-- doc/libogg/ogg_stream_init.html | 4 ++-- doc/libogg/ogg_stream_iovecin.html | 4 ++-- doc/libogg/ogg_stream_packetin.html | 4 ++-- doc/libogg/ogg_stream_packetout.html | 4 ++-- doc/libogg/ogg_stream_packetpeek.html | 4 ++-- doc/libogg/ogg_stream_pagein.html | 4 ++-- doc/libogg/ogg_stream_pageout.html | 4 ++-- doc/libogg/ogg_stream_pageout_fill.html | 4 ++-- doc/libogg/ogg_stream_reset.html | 4 ++-- doc/libogg/ogg_stream_reset_serialno.html | 4 ++-- doc/libogg/ogg_stream_state.html | 4 ++-- doc/libogg/ogg_sync_buffer.html | 4 ++-- doc/libogg/ogg_sync_check.html | 4 ++-- doc/libogg/ogg_sync_clear.html | 4 ++-- doc/libogg/ogg_sync_destroy.html | 4 ++-- doc/libogg/ogg_sync_init.html | 4 ++-- doc/libogg/ogg_sync_pageout.html | 4 ++-- doc/libogg/ogg_sync_pageseek.html | 4 ++-- doc/libogg/ogg_sync_reset.html | 4 ++-- doc/libogg/ogg_sync_state.html | 4 ++-- doc/libogg/ogg_sync_wrote.html | 4 ++-- doc/libogg/oggpack_adv.html | 4 ++-- doc/libogg/oggpack_adv1.html | 4 ++-- doc/libogg/oggpack_bits.html | 4 ++-- doc/libogg/oggpack_buffer.html | 4 ++-- doc/libogg/oggpack_bytes.html | 4 ++-- doc/libogg/oggpack_get_buffer.html | 4 ++-- doc/libogg/oggpack_look.html | 4 ++-- doc/libogg/oggpack_look1.html | 4 ++-- doc/libogg/oggpack_read.html | 4 ++-- doc/libogg/oggpack_read1.html | 4 ++-- doc/libogg/oggpack_readinit.html | 4 ++-- doc/libogg/oggpack_reset.html | 4 ++-- doc/libogg/oggpack_write.html | 4 ++-- doc/libogg/oggpack_writealign.html | 4 ++-- doc/libogg/oggpack_writecheck.html | 4 ++-- doc/libogg/oggpack_writeclear.html | 4 ++-- doc/libogg/oggpack_writecopy.html | 4 ++-- doc/libogg/oggpack_writeinit.html | 4 ++-- doc/libogg/oggpack_writetrunc.html | 4 ++-- doc/libogg/overview.html | 4 ++-- doc/libogg/reference.html | 4 ++-- 67 files changed, 134 insertions(+), 134 deletions(-) (limited to 'doc') diff --git a/doc/libogg/bitpacking.html b/doc/libogg/bitpacking.html index 7a739bd..cc76015 100644 --- a/doc/libogg/bitpacking.html +++ b/doc/libogg/bitpacking.html @@ -9,7 +9,7 @@

      copyright © 2000-2013 Xiph.Org Foundation

      copyright © 2000-2014 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -94,7 +94,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/datastructures.html b/doc/libogg/datastructures.html index ab2554f..0f56102 100644 --- a/doc/libogg/datastructures.html +++ b/doc/libogg/datastructures.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -50,7 +50,7 @@ All the libogg specific data structures are declared in "ogg/ogg.h".

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html index 6785329..f393a07 100644 --- a/doc/libogg/decoding.html +++ b/doc/libogg/decoding.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -95,7 +95,7 @@ advancing decoding.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html index fc6f19d..6aa8470 100644 --- a/doc/libogg/encoding.html +++ b/doc/libogg/encoding.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -67,7 +67,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/general.html b/doc/libogg/general.html index fbb96b9..d892dd3 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -100,7 +100,7 @@ All the libogg specific functions are declared in "ogg/ogg.h".

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/index.html b/doc/libogg/index.html index 3e22e45..6d3feab 100644 --- a/doc/libogg/index.html +++ b/doc/libogg/index.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -30,7 +30,7 @@ Libogg contains necessary functionality to create, decode, and work with Ogg bit

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_iovec_t.html b/doc/libogg/ogg_iovec_t.html index 074a8d7..2cf7e8b 100644 --- a/doc/libogg/ogg_iovec_t.html +++ b/doc/libogg/ogg_iovec_t.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -53,7 +53,7 @@ typedef struct {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html index b6f5d1c..5672eba 100644 --- a/doc/libogg/ogg_packet.html +++ b/doc/libogg/ogg_packet.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -66,7 +66,7 @@ typedef struct {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index 95988c1..87dadea 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -54,7 +54,7 @@ None.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html index 9f5caf7..ac1a994 100644 --- a/doc/libogg/ogg_page.html +++ b/doc/libogg/ogg_page.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -66,7 +66,7 @@ typedef struct {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_page_bos.html b/doc/libogg/ogg_page_bos.html index 5e47beb..9286e1a 100644 --- a/doc/libogg/ogg_page_bos.html +++ b/doc/libogg/ogg_page_bos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -55,7 +55,7 @@ greater than 0 if this page is the beginning of a bitstream.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_page_checksum_set.html b/doc/libogg/ogg_page_checksum_set.html index 2689f68..9af7d4e 100644 --- a/doc/libogg/ogg_page_checksum_set.html +++ b/doc/libogg/ogg_page_checksum_set.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -52,7 +52,7 @@ None.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_page_continued.html b/doc/libogg/ogg_page_continued.html index 96eff12..20b4ede 100644 --- a/doc/libogg/ogg_page_continued.html +++ b/doc/libogg/ogg_page_continued.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -54,7 +54,7 @@ int ogg_page_continued(ogg_page *og);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_page_eos.html b/doc/libogg/ogg_page_eos.html index 3cb2cc5..d81ebae 100644 --- a/doc/libogg/ogg_page_eos.html +++ b/doc/libogg/ogg_page_eos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -55,7 +55,7 @@ greater than zero if this page contains the end of a bitstream.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html index db977d4..826b48e 100644 --- a/doc/libogg/ogg_page_granulepos.html +++ b/doc/libogg/ogg_page_granulepos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -55,7 +55,7 @@ ogg_in64_t ogg_page_granulepos(ogg_page *og);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html index 1328dab..0115777 100644 --- a/doc/libogg/ogg_page_packets.html +++ b/doc/libogg/ogg_page_packets.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -65,7 +65,7 @@ ogg_page_continued(page) will return non-zero.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html index ea32f4a..b70b550 100644 --- a/doc/libogg/ogg_page_pageno.html +++ b/doc/libogg/ogg_page_pageno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -53,7 +53,7 @@ long ogg_page_pageno(ogg_page *og);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_page_serialno.html b/doc/libogg/ogg_page_serialno.html index aaecb59..12ff580 100644 --- a/doc/libogg/ogg_page_serialno.html +++ b/doc/libogg/ogg_page_serialno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -53,7 +53,7 @@ int ogg_page_serialno(ogg_page *og);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_page_version.html b/doc/libogg/ogg_page_version.html index 34028a1..01062ff 100644 --- a/doc/libogg/ogg_page_version.html +++ b/doc/libogg/ogg_page_version.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -53,7 +53,7 @@ int ogg_page_version(ogg_page *og);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_check.html b/doc/libogg/ogg_stream_check.html index eb1bf59..64d171f 100644 --- a/doc/libogg/ogg_stream_check.html +++ b/doc/libogg/ogg_stream_check.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -61,7 +61,7 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html index 8a282d0..83149e0 100644 --- a/doc/libogg/ogg_stream_clear.html +++ b/doc/libogg/ogg_stream_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -51,7 +51,7 @@ int ogg_stream_clear(ogg_stream_state *os);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index ff47a97..5eee7f0 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -61,7 +61,7 @@ int ogg_stream_destroy(ogg_stream_state *os);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html index 2e6a7ac..519e618 100644 --- a/doc/libogg/ogg_stream_eos.html +++ b/doc/libogg/ogg_stream_eos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -52,7 +52,7 @@ int ogg_stream_eos(ogg_stream_state *os);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index 895485c..317f442 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -57,7 +57,7 @@ Nonzero means that remaining packets have successfully been flushed into the pag

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_flush_fill.html b/doc/libogg/ogg_stream_flush_fill.html index d2b6ccb..62aa11a 100644 --- a/doc/libogg/ogg_stream_flush_fill.html +++ b/doc/libogg/ogg_stream_flush_fill.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -64,7 +64,7 @@ Nonzero means that remaining packets have successfully been flushed into the pag

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html index 37eeacf..4459ee9 100644 --- a/doc/libogg/ogg_stream_init.html +++ b/doc/libogg/ogg_stream_init.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -56,7 +56,7 @@ int ogg_stream_init(ogg_stream_state *os,int

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html index e910870..b7cfe67 100644 --- a/doc/libogg/ogg_stream_iovecin.html +++ b/doc/libogg/ogg_stream_iovecin.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -70,7 +70,7 @@ int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index 52de6bc..bc05f52 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -62,7 +62,7 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html index 66c0805..148f782 100644 --- a/doc/libogg/ogg_stream_packetout.html +++ b/doc/libogg/ogg_stream_packetout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -76,7 +76,7 @@ on this stream state.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index cb03c68..a6dc678 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -75,7 +75,7 @@ packet?" check.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index c7b5211..12eee12 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -57,7 +57,7 @@ int ogg_stream_pagein(ogg_stream_state *os,

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html index a4e165c..66139e3 100644 --- a/doc/libogg/ogg_stream_pageout.html +++ b/doc/libogg/ogg_stream_pageout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -74,7 +74,7 @@ this case og is not modified.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_pageout_fill.html b/doc/libogg/ogg_stream_pageout_fill.html index 7ea945d..af95531 100644 --- a/doc/libogg/ogg_stream_pageout_fill.html +++ b/doc/libogg/ogg_stream_pageout_fill.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -79,7 +79,7 @@ this case og is not modified.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index fc3835f..eb7ee36 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -51,7 +51,7 @@ int ogg_stream_reset(ogg_stream_state *os);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html index f89950f..6805018 100644 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -57,7 +57,7 @@ int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index 3ea8737..6f42faf 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -112,7 +112,7 @@ typedef struct {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html index 6df8883..be7915a 100644 --- a/doc/libogg/ogg_sync_buffer.html +++ b/doc/libogg/ogg_sync_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -57,7 +57,7 @@ Returns a pointer to the newly allocated buffer or NULL on error

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_sync_check.html b/doc/libogg/ogg_sync_check.html index da72541..daac330 100644 --- a/doc/libogg/ogg_sync_check.html +++ b/doc/libogg/ogg_sync_check.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -61,7 +61,7 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_sync_clear.html b/doc/libogg/ogg_sync_clear.html index 6939ad1..209317b 100644 --- a/doc/libogg/ogg_sync_clear.html +++ b/doc/libogg/ogg_sync_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -52,7 +52,7 @@ int ogg_sync_clear(ogg_sync_state *oy);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html index 0dad061..333faf3 100644 --- a/doc/libogg/ogg_sync_destroy.html +++ b/doc/libogg/ogg_sync_destroy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -58,7 +58,7 @@ int ogg_sync_destroy(ogg_sync_state *oy);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_sync_init.html b/doc/libogg/ogg_sync_init.html index 15eb07e..590edc8 100644 --- a/doc/libogg/ogg_sync_init.html +++ b/doc/libogg/ogg_sync_init.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -53,7 +53,7 @@ int ogg_sync_init(ogg_sync_state *oy);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html index 9baf5af..5f3f24c 100644 --- a/doc/libogg/ogg_sync_pageout.html +++ b/doc/libogg/ogg_sync_pageout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -67,7 +67,7 @@ if (ogg_sync_pageout(&oy, &og) != 1) {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html index 0a172f8..b2efe89 100644 --- a/doc/libogg/ogg_sync_pageseek.html +++ b/doc/libogg/ogg_sync_pageseek.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -58,7 +58,7 @@ n means that the page was synced at the current location, with a page length of

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_sync_reset.html b/doc/libogg/ogg_sync_reset.html index 7ee1be4..12cd6c1 100644 --- a/doc/libogg/ogg_sync_reset.html +++ b/doc/libogg/ogg_sync_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -53,7 +53,7 @@ int ogg_sync_reset(ogg_sync_state *oy);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html index 8890b1d..78f8388 100644 --- a/doc/libogg/ogg_sync_state.html +++ b/doc/libogg/ogg_sync_state.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -68,7 +68,7 @@ typedef struct {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index c377564..1825185 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -63,7 +63,7 @@ int ogg_sync_wrote(ogg_sync_state *oy, long by

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_adv.html b/doc/libogg/oggpack_adv.html index d23b511..0e67b93 100644 --- a/doc/libogg/oggpack_adv.html +++ b/doc/libogg/oggpack_adv.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -54,7 +54,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_adv1.html b/doc/libogg/oggpack_adv1.html index a0e0052..0b7dd89 100644 --- a/doc/libogg/oggpack_adv1.html +++ b/doc/libogg/oggpack_adv1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -52,7 +52,7 @@ void oggpack_adv1(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_bits.html b/doc/libogg/oggpack_bits.html index 4ac1e7e..a31bd1b 100644 --- a/doc/libogg/oggpack_bits.html +++ b/doc/libogg/oggpack_bits.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -52,7 +52,7 @@ long oggpack_bits(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_buffer.html b/doc/libogg/oggpack_buffer.html index 6eb5644..906cbf9 100644 --- a/doc/libogg/oggpack_buffer.html +++ b/doc/libogg/oggpack_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -57,7 +57,7 @@ typedef struct {

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_bytes.html b/doc/libogg/oggpack_bytes.html index 8400d90..4eb48fe 100644 --- a/doc/libogg/oggpack_bytes.html +++ b/doc/libogg/oggpack_bytes.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -57,7 +57,7 @@ long oggpack_bytes(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_get_buffer.html b/doc/libogg/oggpack_get_buffer.html index 571c69c..a4bfad2 100644 --- a/doc/libogg/oggpack_get_buffer.html +++ b/doc/libogg/oggpack_get_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -52,7 +52,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_look.html b/doc/libogg/oggpack_look.html index 360de49..076eff3 100644 --- a/doc/libogg/oggpack_look.html +++ b/doc/libogg/oggpack_look.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -56,7 +56,7 @@ long oggpack_look(oggpack_buffer *b,int bits)

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_look1.html b/doc/libogg/oggpack_look1.html index d571f1b..5361164 100644 --- a/doc/libogg/oggpack_look1.html +++ b/doc/libogg/oggpack_look1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -53,7 +53,7 @@ long oggpack_look1(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_read.html b/doc/libogg/oggpack_read.html index e1afd73..a826916 100644 --- a/doc/libogg/oggpack_read.html +++ b/doc/libogg/oggpack_read.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -55,7 +55,7 @@ long oggpack_read(oggpack_buffer *b,int bits);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_read1.html b/doc/libogg/oggpack_read1.html index 9835628..9a7e1cb 100644 --- a/doc/libogg/oggpack_read1.html +++ b/doc/libogg/oggpack_read1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -53,7 +53,7 @@ long oggpack_read1(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_readinit.html b/doc/libogg/oggpack_readinit.html index b41c0bb..6f27ee9 100644 --- a/doc/libogg/oggpack_readinit.html +++ b/doc/libogg/oggpack_readinit.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -54,7 +54,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_reset.html b/doc/libogg/oggpack_reset.html index 96af2ef..d9fedbc 100644 --- a/doc/libogg/oggpack_reset.html +++ b/doc/libogg/oggpack_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -52,7 +52,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_write.html b/doc/libogg/oggpack_write.html index bc19e97..ad1d7ee 100644 --- a/doc/libogg/oggpack_write.html +++ b/doc/libogg/oggpack_write.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -58,7 +58,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_writealign.html b/doc/libogg/oggpack_writealign.html index 8ef729b..acedc2c 100644 --- a/doc/libogg/oggpack_writealign.html +++ b/doc/libogg/oggpack_writealign.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -55,7 +55,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_writecheck.html b/doc/libogg/oggpack_writecheck.html index 1221310..e23131b 100644 --- a/doc/libogg/oggpack_writecheck.html +++ b/doc/libogg/oggpack_writecheck.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -71,7 +71,7 @@ int oggpack_writecheck(oggpack_buffer *b);

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_writeclear.html b/doc/libogg/oggpack_writeclear.html index 2f469ef..5dadaa9 100644 --- a/doc/libogg/oggpack_writeclear.html +++ b/doc/libogg/oggpack_writeclear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -52,7 +52,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_writecopy.html b/doc/libogg/oggpack_writecopy.html index 6ae959a..94d3124 100644 --- a/doc/libogg/oggpack_writecopy.html +++ b/doc/libogg/oggpack_writecopy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -59,7 +59,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_writeinit.html b/doc/libogg/oggpack_writeinit.html index eb00efc..7999b9c 100644 --- a/doc/libogg/oggpack_writeinit.html +++ b/doc/libogg/oggpack_writeinit.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -52,7 +52,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/oggpack_writetrunc.html b/doc/libogg/oggpack_writetrunc.html index d827eea..bf23b2e 100644 --- a/doc/libogg/oggpack_writetrunc.html +++ b/doc/libogg/oggpack_writetrunc.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -55,7 +55,7 @@ No values are returned.

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/overview.html b/doc/libogg/overview.html index f6b0622..347ebeb 100644 --- a/doc/libogg/overview.html +++ b/doc/libogg/overview.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -35,7 +35,7 @@ The libogg API consists of the following functional categories:

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html index 51918bd..cfe1608 100644 --- a/doc/libogg/reference.html +++ b/doc/libogg/reference.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.1 - 20130512

      libogg release 1.3.2 - 20140527

      @@ -89,7 +89,7 @@

      Ogg Container Format

      libogg documentation

      -

      libogg release 1.3.1 - 20130512

      +

      libogg release 1.3.2 - 20140527

      -- cgit v1.2.3 From 23264ee60baa66c5f627e05f1917ba99d422d258 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Mon, 9 Nov 2015 11:02:53 -0800 Subject: Fix a documentation typo. --- doc/libogg/ogg_stream_pagein.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index 12eee12..fddaed1 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -43,7 +43,7 @@ int ogg_stream_pagein(ogg_stream_state *os,

      Return Values

      -
    17. -1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, the page version was incorrect, or an internal error accurred.
    18. +
    19. -1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, the page version was incorrect, or an internal error occurred.
    20. 0 means that the page was successfully submitted to the bitstream.
    21. -- cgit v1.2.3 From e006f67f3e4b35d7bb12e57b258067b4c9c9c76c Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Tue, 7 Nov 2017 13:23:35 -0800 Subject: Update version and release date on the documentation. Bump the API documentation page footer for the latest release. I missed this before making the 1.3.3 release, changing it now and including this version on the website is less confusing, I think. --- doc/libogg/bitpacking.html | 6 +++--- doc/libogg/datastructures.html | 6 +++--- doc/libogg/decoding.html | 6 +++--- doc/libogg/encoding.html | 6 +++--- doc/libogg/general.html | 6 +++--- doc/libogg/index.html | 6 +++--- doc/libogg/ogg_iovec_t.html | 6 +++--- doc/libogg/ogg_packet.html | 6 +++--- doc/libogg/ogg_packet_clear.html | 6 +++--- doc/libogg/ogg_page.html | 6 +++--- doc/libogg/ogg_page_bos.html | 6 +++--- doc/libogg/ogg_page_checksum_set.html | 6 +++--- doc/libogg/ogg_page_continued.html | 6 +++--- doc/libogg/ogg_page_eos.html | 6 +++--- doc/libogg/ogg_page_granulepos.html | 6 +++--- doc/libogg/ogg_page_packets.html | 6 +++--- doc/libogg/ogg_page_pageno.html | 6 +++--- doc/libogg/ogg_page_serialno.html | 6 +++--- doc/libogg/ogg_page_version.html | 6 +++--- doc/libogg/ogg_stream_check.html | 6 +++--- doc/libogg/ogg_stream_clear.html | 6 +++--- doc/libogg/ogg_stream_destroy.html | 6 +++--- doc/libogg/ogg_stream_eos.html | 6 +++--- doc/libogg/ogg_stream_flush.html | 6 +++--- doc/libogg/ogg_stream_flush_fill.html | 6 +++--- doc/libogg/ogg_stream_init.html | 6 +++--- doc/libogg/ogg_stream_iovecin.html | 6 +++--- doc/libogg/ogg_stream_packetin.html | 6 +++--- doc/libogg/ogg_stream_packetout.html | 6 +++--- doc/libogg/ogg_stream_packetpeek.html | 6 +++--- doc/libogg/ogg_stream_pagein.html | 6 +++--- doc/libogg/ogg_stream_pageout.html | 6 +++--- doc/libogg/ogg_stream_pageout_fill.html | 6 +++--- doc/libogg/ogg_stream_reset.html | 6 +++--- doc/libogg/ogg_stream_reset_serialno.html | 6 +++--- doc/libogg/ogg_stream_state.html | 6 +++--- doc/libogg/ogg_sync_buffer.html | 6 +++--- doc/libogg/ogg_sync_check.html | 6 +++--- doc/libogg/ogg_sync_clear.html | 6 +++--- doc/libogg/ogg_sync_destroy.html | 6 +++--- doc/libogg/ogg_sync_init.html | 6 +++--- doc/libogg/ogg_sync_pageout.html | 6 +++--- doc/libogg/ogg_sync_pageseek.html | 6 +++--- doc/libogg/ogg_sync_reset.html | 6 +++--- doc/libogg/ogg_sync_state.html | 6 +++--- doc/libogg/ogg_sync_wrote.html | 6 +++--- doc/libogg/oggpack_adv.html | 6 +++--- doc/libogg/oggpack_adv1.html | 6 +++--- doc/libogg/oggpack_bits.html | 6 +++--- doc/libogg/oggpack_buffer.html | 6 +++--- doc/libogg/oggpack_bytes.html | 6 +++--- doc/libogg/oggpack_get_buffer.html | 6 +++--- doc/libogg/oggpack_look.html | 6 +++--- doc/libogg/oggpack_look1.html | 6 +++--- doc/libogg/oggpack_read.html | 6 +++--- doc/libogg/oggpack_read1.html | 6 +++--- doc/libogg/oggpack_readinit.html | 6 +++--- doc/libogg/oggpack_reset.html | 6 +++--- doc/libogg/oggpack_write.html | 6 +++--- doc/libogg/oggpack_writealign.html | 6 +++--- doc/libogg/oggpack_writecheck.html | 6 +++--- doc/libogg/oggpack_writeclear.html | 6 +++--- doc/libogg/oggpack_writecopy.html | 6 +++--- doc/libogg/oggpack_writeinit.html | 6 +++--- doc/libogg/oggpack_writetrunc.html | 6 +++--- doc/libogg/overview.html | 6 +++--- doc/libogg/reference.html | 6 +++--- 67 files changed, 201 insertions(+), 201 deletions(-) (limited to 'doc') diff --git a/doc/libogg/bitpacking.html b/doc/libogg/bitpacking.html index cc76015..6095715 100644 --- a/doc/libogg/bitpacking.html +++ b/doc/libogg/bitpacking.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -90,11 +90,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/datastructures.html b/doc/libogg/datastructures.html index 0f56102..d996fcd 100644 --- a/doc/libogg/datastructures.html +++ b/doc/libogg/datastructures.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -46,11 +46,11 @@ All the libogg specific data structures are declared in "ogg/ogg.h".
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html index f393a07..ff4bd9c 100644 --- a/doc/libogg/decoding.html +++ b/doc/libogg/decoding.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -91,11 +91,11 @@ advancing decoding.
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html index 6aa8470..fdbffa4 100644 --- a/doc/libogg/encoding.html +++ b/doc/libogg/encoding.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -63,11 +63,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/general.html b/doc/libogg/general.html index d892dd3..2db0627 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -96,11 +96,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/index.html b/doc/libogg/index.html index 6d3feab..71338d2 100644 --- a/doc/libogg/index.html +++ b/doc/libogg/index.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -26,11 +26,11 @@ Libogg contains necessary functionality to create, decode, and work with Ogg bit
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_iovec_t.html b/doc/libogg/ogg_iovec_t.html index 2cf7e8b..239137e 100644 --- a/doc/libogg/ogg_iovec_t.html +++ b/doc/libogg/ogg_iovec_t.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -49,11 +49,11 @@ typedef struct {
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html index 5672eba..50f96b4 100644 --- a/doc/libogg/ogg_packet.html +++ b/doc/libogg/ogg_packet.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -62,11 +62,11 @@ typedef struct {
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index 87dadea..5aca62d 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -50,11 +50,11 @@ None.
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html index ac1a994..3c735f5 100644 --- a/doc/libogg/ogg_page.html +++ b/doc/libogg/ogg_page.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -62,11 +62,11 @@ typedef struct {
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_page_bos.html b/doc/libogg/ogg_page_bos.html index 9286e1a..92c7b85 100644 --- a/doc/libogg/ogg_page_bos.html +++ b/doc/libogg/ogg_page_bos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -51,11 +51,11 @@ greater than 0 if this page is the beginning of a bitstream.
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_page_checksum_set.html b/doc/libogg/ogg_page_checksum_set.html index 9af7d4e..d4385ae 100644 --- a/doc/libogg/ogg_page_checksum_set.html +++ b/doc/libogg/ogg_page_checksum_set.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -48,11 +48,11 @@ None.
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_page_continued.html b/doc/libogg/ogg_page_continued.html index 20b4ede..878b2b9 100644 --- a/doc/libogg/ogg_page_continued.html +++ b/doc/libogg/ogg_page_continued.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -50,11 +50,11 @@ int ogg_page_continued(ogg_page *og);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_page_eos.html b/doc/libogg/ogg_page_eos.html index d81ebae..302f1ac 100644 --- a/doc/libogg/ogg_page_eos.html +++ b/doc/libogg/ogg_page_eos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -51,11 +51,11 @@ greater than zero if this page contains the end of a bitstream.
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html index 826b48e..38c8ea5 100644 --- a/doc/libogg/ogg_page_granulepos.html +++ b/doc/libogg/ogg_page_granulepos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -51,11 +51,11 @@ ogg_in64_t ogg_page_granulepos(ogg_page *og);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html index 0115777..a9f40dc 100644 --- a/doc/libogg/ogg_page_packets.html +++ b/doc/libogg/ogg_page_packets.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -61,11 +61,11 @@ ogg_page_continued(page) will return non-zero.

      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html index b70b550..eb49021 100644 --- a/doc/libogg/ogg_page_pageno.html +++ b/doc/libogg/ogg_page_pageno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -49,11 +49,11 @@ long ogg_page_pageno(ogg_page *og);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_page_serialno.html b/doc/libogg/ogg_page_serialno.html index 12ff580..a5baf33 100644 --- a/doc/libogg/ogg_page_serialno.html +++ b/doc/libogg/ogg_page_serialno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -49,11 +49,11 @@ int ogg_page_serialno(ogg_page *og);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_page_version.html b/doc/libogg/ogg_page_version.html index 01062ff..9d71729 100644 --- a/doc/libogg/ogg_page_version.html +++ b/doc/libogg/ogg_page_version.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -49,11 +49,11 @@ int ogg_page_version(ogg_page *og);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_check.html b/doc/libogg/ogg_stream_check.html index 64d171f..5df2cc1 100644 --- a/doc/libogg/ogg_stream_check.html +++ b/doc/libogg/ogg_stream_check.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -57,11 +57,11 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html index 83149e0..d9b51df 100644 --- a/doc/libogg/ogg_stream_clear.html +++ b/doc/libogg/ogg_stream_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -47,11 +47,11 @@ int ogg_stream_clear(ogg_stream_state *os);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index 5eee7f0..b0525c4 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -57,11 +57,11 @@ int ogg_stream_destroy(ogg_stream_state *os);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html index 519e618..fe4badf 100644 --- a/doc/libogg/ogg_stream_eos.html +++ b/doc/libogg/ogg_stream_eos.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -48,11 +48,11 @@ int ogg_stream_eos(ogg_stream_state *os);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index 317f442..980aeb2 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -53,11 +53,11 @@ Nonzero means that remaining packets have successfully been flushed into the pag
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_flush_fill.html b/doc/libogg/ogg_stream_flush_fill.html index 62aa11a..6a42df3 100644 --- a/doc/libogg/ogg_stream_flush_fill.html +++ b/doc/libogg/ogg_stream_flush_fill.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -60,11 +60,11 @@ Nonzero means that remaining packets have successfully been flushed into the pag
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html index 4459ee9..2e50e2a 100644 --- a/doc/libogg/ogg_stream_init.html +++ b/doc/libogg/ogg_stream_init.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -52,11 +52,11 @@ int ogg_stream_init(ogg_stream_state *os,int
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html index b7cfe67..09f19c3 100644 --- a/doc/libogg/ogg_stream_iovecin.html +++ b/doc/libogg/ogg_stream_iovecin.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -66,11 +66,11 @@ int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index bc05f52..d8853ff 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -58,11 +58,11 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html index 148f782..f1715e0 100644 --- a/doc/libogg/ogg_stream_packetout.html +++ b/doc/libogg/ogg_stream_packetout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -72,11 +72,11 @@ on this stream state. - + - +

      copyright © 2000-2010 xiph.org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index a6dc678..66ffa4f 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -71,11 +71,11 @@ packet?" check. - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index fddaed1..ebba7ae 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -53,11 +53,11 @@ int ogg_stream_pagein(ogg_stream_state *os,
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html index 66139e3..94ba6da 100644 --- a/doc/libogg/ogg_stream_pageout.html +++ b/doc/libogg/ogg_stream_pageout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -70,11 +70,11 @@ this case og is not modified.
      - + - +

      copyright © 2000-2010 xiph.org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_pageout_fill.html b/doc/libogg/ogg_stream_pageout_fill.html index af95531..1418a40 100644 --- a/doc/libogg/ogg_stream_pageout_fill.html +++ b/doc/libogg/ogg_stream_pageout_fill.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -75,11 +75,11 @@ this case og is not modified.
      - + - +

      copyright © 2000-2010 xiph.org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index eb7ee36..8dad2c4 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -47,11 +47,11 @@ int ogg_stream_reset(ogg_stream_state *os);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html index 6805018..49329db 100644 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -53,11 +53,11 @@ int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);
      - + - +

      copyright © 2000-2014 Xiph.Org Foundation

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index 6f42faf..e33dd65 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -108,11 +108,11 @@ typedef struct {
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html index be7915a..58f34de 100644 --- a/doc/libogg/ogg_sync_buffer.html +++ b/doc/libogg/ogg_sync_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -53,11 +53,11 @@ Returns a pointer to the newly allocated buffer or NULL on error
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_sync_check.html b/doc/libogg/ogg_sync_check.html index daac330..07f4307 100644 --- a/doc/libogg/ogg_sync_check.html +++ b/doc/libogg/ogg_sync_check.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -57,11 +57,11 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_sync_clear.html b/doc/libogg/ogg_sync_clear.html index 209317b..05a4169 100644 --- a/doc/libogg/ogg_sync_clear.html +++ b/doc/libogg/ogg_sync_clear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -48,11 +48,11 @@ int ogg_sync_clear(ogg_sync_state *oy);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html index 333faf3..38509db 100644 --- a/doc/libogg/ogg_sync_destroy.html +++ b/doc/libogg/ogg_sync_destroy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -54,11 +54,11 @@ int ogg_sync_destroy(ogg_sync_state *oy);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_sync_init.html b/doc/libogg/ogg_sync_init.html index 590edc8..9d6d7d8 100644 --- a/doc/libogg/ogg_sync_init.html +++ b/doc/libogg/ogg_sync_init.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -49,11 +49,11 @@ int ogg_sync_init(ogg_sync_state *oy);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html index 5f3f24c..d73dcfc 100644 --- a/doc/libogg/ogg_sync_pageout.html +++ b/doc/libogg/ogg_sync_pageout.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -63,11 +63,11 @@ if (ogg_sync_pageout(&oy, &og) != 1) {
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html index b2efe89..90ef65d 100644 --- a/doc/libogg/ogg_sync_pageseek.html +++ b/doc/libogg/ogg_sync_pageseek.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -54,11 +54,11 @@ n means that the page was synced at the current location, with a page length of
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_sync_reset.html b/doc/libogg/ogg_sync_reset.html index 12cd6c1..8d49169 100644 --- a/doc/libogg/ogg_sync_reset.html +++ b/doc/libogg/ogg_sync_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -49,11 +49,11 @@ int ogg_sync_reset(ogg_sync_state *oy);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html index 78f8388..0a499aa 100644 --- a/doc/libogg/ogg_sync_state.html +++ b/doc/libogg/ogg_sync_state.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -64,11 +64,11 @@ typedef struct {
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index 1825185..1397392 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -59,11 +59,11 @@ int ogg_sync_wrote(ogg_sync_state *oy, long by
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_adv.html b/doc/libogg/oggpack_adv.html index 0e67b93..d4b424d 100644 --- a/doc/libogg/oggpack_adv.html +++ b/doc/libogg/oggpack_adv.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -50,11 +50,11 @@ No values are returned.
      - + - +

      copyright © 2000-2014 Xiph.Org Foundation

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_adv1.html b/doc/libogg/oggpack_adv1.html index 0b7dd89..bbd2341 100644 --- a/doc/libogg/oggpack_adv1.html +++ b/doc/libogg/oggpack_adv1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -48,11 +48,11 @@ void oggpack_adv1(oggpack_buffer *b);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_bits.html b/doc/libogg/oggpack_bits.html index a31bd1b..f9942c9 100644 --- a/doc/libogg/oggpack_bits.html +++ b/doc/libogg/oggpack_bits.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -48,11 +48,11 @@ long oggpack_bits(oggpack_buffer *b);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_buffer.html b/doc/libogg/oggpack_buffer.html index 906cbf9..0b5aa69 100644 --- a/doc/libogg/oggpack_buffer.html +++ b/doc/libogg/oggpack_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -53,11 +53,11 @@ typedef struct {
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_bytes.html b/doc/libogg/oggpack_bytes.html index 4eb48fe..269ad48 100644 --- a/doc/libogg/oggpack_bytes.html +++ b/doc/libogg/oggpack_bytes.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -53,11 +53,11 @@ long oggpack_bytes(oggpack_buffer *b);
      - + - +

      copyright © 2000-2010 xiph.org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_get_buffer.html b/doc/libogg/oggpack_get_buffer.html index a4bfad2..f5b327f 100644 --- a/doc/libogg/oggpack_get_buffer.html +++ b/doc/libogg/oggpack_get_buffer.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -48,11 +48,11 @@ No values are returned.
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_look.html b/doc/libogg/oggpack_look.html index 076eff3..16c1c18 100644 --- a/doc/libogg/oggpack_look.html +++ b/doc/libogg/oggpack_look.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -52,11 +52,11 @@ long oggpack_look(oggpack_buffer *b,int bits)
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_look1.html b/doc/libogg/oggpack_look1.html index 5361164..b924ce7 100644 --- a/doc/libogg/oggpack_look1.html +++ b/doc/libogg/oggpack_look1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -49,11 +49,11 @@ long oggpack_look1(oggpack_buffer *b);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_read.html b/doc/libogg/oggpack_read.html index a826916..2450f7b 100644 --- a/doc/libogg/oggpack_read.html +++ b/doc/libogg/oggpack_read.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -51,11 +51,11 @@ long oggpack_read(oggpack_buffer *b,int bits);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_read1.html b/doc/libogg/oggpack_read1.html index 9a7e1cb..329fa43 100644 --- a/doc/libogg/oggpack_read1.html +++ b/doc/libogg/oggpack_read1.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -49,11 +49,11 @@ long oggpack_read1(oggpack_buffer *b);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_readinit.html b/doc/libogg/oggpack_readinit.html index 6f27ee9..76f1dea 100644 --- a/doc/libogg/oggpack_readinit.html +++ b/doc/libogg/oggpack_readinit.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -50,11 +50,11 @@ No values are returned.
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_reset.html b/doc/libogg/oggpack_reset.html index d9fedbc..dbaeb22 100644 --- a/doc/libogg/oggpack_reset.html +++ b/doc/libogg/oggpack_reset.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -48,11 +48,11 @@ No values are returned.
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_write.html b/doc/libogg/oggpack_write.html index ad1d7ee..7af1c82 100644 --- a/doc/libogg/oggpack_write.html +++ b/doc/libogg/oggpack_write.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -54,11 +54,11 @@ No values are returned.
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_writealign.html b/doc/libogg/oggpack_writealign.html index acedc2c..950e8e7 100644 --- a/doc/libogg/oggpack_writealign.html +++ b/doc/libogg/oggpack_writealign.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -51,11 +51,11 @@ No values are returned.
      - + - +

      copyright © 2000-2014 Xiph.Org Foundation

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_writecheck.html b/doc/libogg/oggpack_writecheck.html index e23131b..7772f4d 100644 --- a/doc/libogg/oggpack_writecheck.html +++ b/doc/libogg/oggpack_writecheck.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -67,11 +67,11 @@ int oggpack_writecheck(oggpack_buffer *b);
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_writeclear.html b/doc/libogg/oggpack_writeclear.html index 5dadaa9..32f4eb5 100644 --- a/doc/libogg/oggpack_writeclear.html +++ b/doc/libogg/oggpack_writeclear.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -48,11 +48,11 @@ No values are returned.
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_writecopy.html b/doc/libogg/oggpack_writecopy.html index 94d3124..f64c34e 100644 --- a/doc/libogg/oggpack_writecopy.html +++ b/doc/libogg/oggpack_writecopy.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -55,11 +55,11 @@ No values are returned.
      - + - +

      copyright © 2000-2014 Xiph.Org Foundation

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_writeinit.html b/doc/libogg/oggpack_writeinit.html index 7999b9c..b2bfdf5 100644 --- a/doc/libogg/oggpack_writeinit.html +++ b/doc/libogg/oggpack_writeinit.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -48,11 +48,11 @@ No values are returned.
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/oggpack_writetrunc.html b/doc/libogg/oggpack_writetrunc.html index bf23b2e..ccbb663 100644 --- a/doc/libogg/oggpack_writetrunc.html +++ b/doc/libogg/oggpack_writetrunc.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -51,11 +51,11 @@ No values are returned.
      - + - +

      copyright © 2000-2014 Xiph.Org Foundation

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/overview.html b/doc/libogg/overview.html index 347ebeb..792fc4a 100644 --- a/doc/libogg/overview.html +++ b/doc/libogg/overview.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -31,11 +31,11 @@ The libogg API consists of the following functional categories:
      - + - +

      copyright © 2000-2014 Xiph.Org

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html index cfe1608..3fefaf2 100644 --- a/doc/libogg/reference.html +++ b/doc/libogg/reference.html @@ -9,7 +9,7 @@ - +

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      @@ -85,11 +85,11 @@
      - + - +

      copyright © 2000-2014 Xiph.Org Foundation

      copyright © 2000-2017 Xiph.Org Foundation

      Ogg Container Format

      libogg documentation

      libogg release 1.3.2 - 20140527

      libogg release 1.3.3 - 20171107

      -- cgit v1.2.3 From c1daa80c20245c308f26add56991e36fd8954933 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Tue, 7 Nov 2017 13:34:43 -0800 Subject: Add a release checklist. --- doc/release.txt | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 doc/release.txt (limited to 'doc') diff --git a/doc/release.txt b/doc/release.txt new file mode 100644 index 0000000..c823222 --- /dev/null +++ b/doc/release.txt @@ -0,0 +1,28 @@ += Release checklist = + +Source release: + +- Update CHANGES with notable specifics. +- Update version and LIB_* API soname suffix in configure.ac. + - If the source code changed, incremement REVISION. + - If interfaces changed, increment CURRENT and zero REVISION. + - If interfaces were added, increment AGE. + - If interfaces were removed, set AGE to zero. +- Update the version and release date in doc/libogg/*.html. +- Check for uncommitted changes to master. +- Tag the release commit with 'git tag -s vN.M'. + - Include release notes in the tag annotation. +- Verify 'make distcheck' produces a tarball with the desired name. +- Push tag to public repo. +- Upload source package 'libogg-${version}.tar.gz' et al. + to the website and verify file permissions. +- Update checksum files on website. +- Update links on . +- Add a copy of the documentation to + and update the links. + +Releases are commited to https://svn.xiph.org/releases/ogg/ +which propagates to downloads.xiph.org. + +Release packages should also be manually attached to the corresponding +tag on the github mirror https://github.com/xiph/ogg/releases -- cgit v1.2.3 From 529ec790cfba8b846f7e1d7603c22fc352ce2504 Mon Sep 17 00:00:00 2001 From: "luz.paz" Date: Tue, 22 May 2018 10:25:02 -0400 Subject: Misc. typos Found via `codespell -q 3` Signed-off-by: Erik de Castro Lopo --- doc/libogg/general.html | 2 +- doc/libogg/ogg_stream_iovecin.html | 4 ++-- doc/libogg/ogg_stream_state.html | 2 +- doc/libogg/ogg_sync_wrote.html | 2 +- doc/ogg-multiplex.html | 2 +- doc/oggstream.html | 2 +- doc/release.txt | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/libogg/general.html b/doc/libogg/general.html index 2db0627..edae3f8 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -44,7 +44,7 @@ All the libogg specific functions are declared in "ogg/ogg.h". ogg_stream_check - Check for asyncronous errors. + Check for asynchronous errors. ogg_stream_eos diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html index 09f19c3..f6b73ff 100644 --- a/doc/libogg/ogg_stream_iovecin.html +++ b/doc/libogg/ogg_stream_iovecin.html @@ -49,9 +49,9 @@ int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e
      count
      Length of the iov array.
      e_o_s
      -
      End of stream flag, analagous to the e_o_s field in an ogg_packet. +
      End of stream flag, analogous to the e_o_s field in an ogg_packet.
      granulepos
      -
      Granule position value, analagous to the granpos field in an ogg_packet. +
      Granule position value, analogous to the granpos field in an ogg_packet. diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index e33dd65..dc440c3 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -53,7 +53,7 @@ typedef struct { ogg_int64_t packetno; /* sequence number for decode; the framing knows where there's a hole in the data, but we need coupling so that the codec - (which is in a seperate abstraction + (which is in a separate abstraction layer) also knows about the gap */ ogg_int64_t granulepos; diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index 1397392..a979393 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -20,7 +20,7 @@

      This function is used to tell the ogg_sync_state struct how many bytes we wrote into the buffer.

      -The general proceedure is to request a pointer into an internal +The general procedure is to request a pointer into an internal ogg_sync_state buffer by calling ogg_sync_buffer(). The buffer is then filled up to the requested size with new input, and diff --git a/doc/ogg-multiplex.html b/doc/ogg-multiplex.html index bd08e25..0674400 100644 --- a/doc/ogg-multiplex.html +++ b/doc/ogg-multiplex.html @@ -126,7 +126,7 @@ improves subjective performance outside of a few high-latency use cases and adds no additional functionality as bisection search delivers the same functionality for both one- and two-pass stream types. For these reasons, use of indexes is discouraged, except in -cases where an index provides demonstrable and noticable performance +cases where an index provides demonstrable and noticeable performance improvement.

      Seek operations are by absolute time; a direct bisection search must diff --git a/doc/oggstream.html b/doc/oggstream.html index 71bbce7..9769d5a 100644 --- a/doc/oggstream.html +++ b/doc/oggstream.html @@ -551,7 +551,7 @@ codec or codec stub plugin for the time duration of a packet.

    22. Although an absolute time need not be translatable to a unique granule position, a codec must be able to determine the unique granule position of the current packet using the granule position of a -preceeding packet. +preceding packet.

    23. Packets and pages must be arranged in ascending granule-position and time order. diff --git a/doc/release.txt b/doc/release.txt index c823222..2003d1d 100644 --- a/doc/release.txt +++ b/doc/release.txt @@ -21,7 +21,7 @@ Source release: - Add a copy of the documentation to and update the links. -Releases are commited to https://svn.xiph.org/releases/ogg/ +Releases are committed to https://svn.xiph.org/releases/ogg/ which propagates to downloads.xiph.org. Release packages should also be manually attached to the corresponding -- cgit v1.2.3 From 0acd32d7cabf7e41cc29ea7c2bbffde969ff1ba0 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Tue, 9 Oct 2018 13:41:12 -0700 Subject: Remove trailing whitespace from the api documentation. --- doc/libogg/ogg_packet.html | 2 +- doc/libogg/ogg_page.html | 2 +- doc/libogg/ogg_page_packets.html | 2 +- doc/libogg/ogg_stream_check.html | 2 +- doc/libogg/ogg_stream_destroy.html | 4 ++-- doc/libogg/ogg_stream_flush_fill.html | 2 +- doc/libogg/ogg_stream_iovecin.html | 4 ++-- doc/libogg/ogg_stream_packetin.html | 6 +++--- doc/libogg/ogg_stream_packetout.html | 16 ++++++++-------- doc/libogg/ogg_stream_packetpeek.html | 10 +++++----- doc/libogg/ogg_stream_pagein.html | 2 +- doc/libogg/ogg_stream_pageout.html | 26 +++++++++++++------------- doc/libogg/ogg_stream_pageout_fill.html | 14 +++++++------- doc/libogg/ogg_stream_reset_serialno.html | 2 +- doc/libogg/ogg_sync_check.html | 2 +- doc/libogg/ogg_sync_destroy.html | 6 +++--- doc/libogg/ogg_sync_pageseek.html | 2 +- doc/libogg/ogg_sync_state.html | 2 +- doc/libogg/ogg_sync_wrote.html | 8 ++++---- doc/libogg/oggpack_bytes.html | 8 ++++---- doc/libogg/oggpack_writecheck.html | 4 ++-- 21 files changed, 63 insertions(+), 63 deletions(-) (limited to 'doc') diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html index 50f96b4..eb0cf90 100644 --- a/doc/libogg/ogg_packet.html +++ b/doc/libogg/ogg_packet.html @@ -33,7 +33,7 @@ typedef struct { long e_o_s; ogg_int64_t granulepos; - ogg_int64_t packetno; + ogg_int64_t packetno; } ogg_packet;

    diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html index 3c735f5..7db816f 100644 --- a/doc/libogg/ogg_page.html +++ b/doc/libogg/ogg_page.html @@ -26,7 +26,7 @@ They are made up of packet segments of 255 bytes each. There can be as many as This is not a practical limitation as the segments can be joined across page boundaries allowing packets of arbitrary size. In practice many applications will not completely fill all pages because they flush the -accumulated packets periodically order to bound latency more tightly. +accumulated packets periodically order to bound latency more tightly.

    For a complete description of ogg pages and headers, please refer to the framing document. diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html index a9f40dc..996f6f6 100644 --- a/doc/libogg/ogg_page_packets.html +++ b/doc/libogg/ogg_page_packets.html @@ -18,7 +18,7 @@

    declared in "ogg/ogg.h";

    Returns the number of packets that are completed on this page. If the -leading packet is begun on a previous page, but ends on this page, it's +leading packet is begun on a previous page, but ends on this page, it's counted.



    diff --git a/doc/libogg/ogg_stream_check.html b/doc/libogg/ogg_stream_check.html index 5df2cc1..86b8a18 100644 --- a/doc/libogg/ogg_stream_check.html +++ b/doc/libogg/ogg_stream_check.html @@ -17,7 +17,7 @@

    declared in "ogg/ogg.h";

    -

    This function is used to check the error or readiness condition of an ogg_stream_state structure. +

    This function is used to check the error or readiness condition of an ogg_stream_state structure.

    It is safe practice to ignore unrecoverable errors (such as an internal error caused by a malloc() failure) returned by ogg stream synchronization calls. Should an internal error occur, the ogg_stream_state structure will be cleared (equivalent to a call to diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index b0525c4..aac641c 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -24,8 +24,8 @@ well as the structure itself.

    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.

    -

    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 +

    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 ogg_stream_clear instead.



    diff --git a/doc/libogg/ogg_stream_flush_fill.html b/doc/libogg/ogg_stream_flush_fill.html index 6a42df3..3da3ff7 100644 --- a/doc/libogg/ogg_stream_flush_fill.html +++ b/doc/libogg/ogg_stream_flush_fill.html @@ -23,7 +23,7 @@ allows applications to explicitly request a specific page spill size.

    This function checks for remaining packets inside the stream and forces remaining packets into pages of approximately the requested size. -This should be used when you want to flush all remaining data from a stream. ogg_stream_flush may be used instead if a particular page size isn't important. +This should be used when you want to flush all remaining data from a stream. ogg_stream_flush may be used instead if a particular page size isn't important.

    This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. Generally speaking, it should be called in a loop until all packets are flushed, since even a single packet may span multiple pages.

    diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html index f6b73ff..4f0271d 100644 --- a/doc/libogg/ogg_stream_iovecin.html +++ b/doc/libogg/ogg_stream_iovecin.html @@ -23,9 +23,9 @@ an ogg_packet structure) to the bitstream for page encapsulation. After this is called, more packets can be submitted, or pages can be written out.

    -

    In a typical encoding situation, this should be used after filling a +

    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 data in the packet is copied into the internal storage managed by the ogg_stream_state, so the caller is free to alter the contents of os after this call has returned. diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index d8853ff..993032a 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -17,13 +17,13 @@

    declared in "ogg/ogg.h";

    -

    This function submits a packet to the bitstream for page +

    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.

    -

    In a typical encoding situation, this should be used after filling a +

    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 data in the packet is copied into the internal storage managed by the ogg_stream_state, so the caller is free to alter the contents of op after this call has returned. diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html index f1715e0..a545e43 100644 --- a/doc/libogg/ogg_stream_packetout.html +++ b/doc/libogg/ogg_stream_packetout.html @@ -17,16 +17,16 @@

    declared in "ogg/ogg.h";

    -

    This function assembles a data packet for output to the codec +

    This function assembles a data packet for output to the codec decoding engine. The data has already been submitted to the ogg_stream_state and broken -into segments. Each successive call returns the next complete packet +into segments. Each successive call returns the next complete packet built from those segments.

    -

    In a typical decoding situation, this should be used after calling -ogg_stream_pagein() 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 +

    In a typical decoding situation, this should be used after calling +ogg_stream_pagein() 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.

    The op is filled in with pointers to memory managed by @@ -50,8 +50,8 @@ int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);

    Pointer to a previously declared ogg_stream_state struct. Before this function is called, an ogg_page should be submitted to the stream using ogg_stream_pagein().
    op
    -
    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 +
    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.
    diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index 66ffa4f..1657d29 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -23,9 +23,9 @@ it without advancing decoding.

    In a typical situation, this would be called speculatively after ogg_stream_pagein() to check -the packet contents before handing it off to a codec for +the packet contents before handing it off to a codec for decompression. To advance page decoding and remove -the packet from the sync structure, call +the packet from the sync structure, call ogg_stream_packetout().



    @@ -43,14 +43,14 @@ int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op);

    Parameters

    os
    -
    Pointer to a previously declared +
    Pointer to a previously declared ogg_stream_state struct. Before this function is called, an ogg_page should be -submitted to the stream using +submitted to the stream using ogg_stream_pagein().
    op
    Pointer to the next packet available in the bitstream, if -any. A NULL value may be passed in the case of a simple "is there a +any. A NULL value may be passed in the case of a simple "is there a packet?" check.
    diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index ebba7ae..e0a1bf6 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -17,7 +17,7 @@

    declared in "ogg/ogg.h";

    -

    This function adds a complete page to the bitstream. +

    This function adds a complete page to the bitstream.

    In a typical decoding situation, this function would be called after using ogg_sync_pageout to create a valid ogg_page struct.

    Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer. diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html index 94ba6da..01faa29 100644 --- a/doc/libogg/ogg_stream_pageout.html +++ b/doc/libogg/ogg_stream_pageout.html @@ -19,20 +19,20 @@

    This function forms packets into pages.

    -

    In a typical encoding situation, this would be called after using ogg_stream_packetin() to submit -data packets to the bitstream. Internally, this function assembles -the accumulated packet bodies into an Ogg page suitable for writing +

    In a typical encoding situation, this would be called after using ogg_stream_packetin() 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. The function is typically called in a loop until there are no more pages ready for output.

    -

    This function will only return a page when a "reasonable" amount of -packet data is available. Normally this is appropriate since it +

    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 ogg_stream_flush() -if immediate page generation is desired. This may be occasionally -necessary, for example, to limit the temporal latency of a variable +calling ogg_stream_pageout() after ogg_stream_packetin() should be the +common case. Call ogg_stream_flush() +if immediate page generation is desired. This may be occasionally +necessary, for example, to limit the temporal latency of a variable bitrate stream.



    @@ -52,15 +52,15 @@ int ogg_stream_pageout(ogg_stream_state *os,
    Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
    og
    Pointer to an ogg_page 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 +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().

    Return Values

    -
  • Zero means that insufficient data has accumulated to fill a page, or an internal error occurred. In +
  • Zero means that insufficient data has accumulated to fill a page, or an internal error occurred. In this case og is not modified.
  • Non-zero means that a page has been completed and returned.
  • diff --git a/doc/libogg/ogg_stream_pageout_fill.html b/doc/libogg/ogg_stream_pageout_fill.html index 1418a40..4019b41 100644 --- a/doc/libogg/ogg_stream_pageout_fill.html +++ b/doc/libogg/ogg_stream_pageout_fill.html @@ -22,10 +22,10 @@ to ogg_stream_pageout(), but allows applications to explicitly request a specific page spill size.

    -

    In a typical encoding situation, this would be called after using ogg_stream_packetin() to submit -data packets to the bitstream. Internally, this function assembles -the accumulated packet bodies into an Ogg page suitable for writing +

    In a typical encoding situation, this would be called after using ogg_stream_packetin() 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. The function is typically called in a loop until there are no more pages ready for output.

    @@ -55,8 +55,8 @@ int ogg_stream_pageout_fill(ogg_stream_state
    Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
    og
    Pointer to an ogg_page 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 +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().
    fillbytes
    Packet data watermark in bytes.
    @@ -65,7 +65,7 @@ ogg_stream_flush().

    Return Values

    -
  • Zero means that insufficient data has accumulated to fill a page, or an internal error occurred. In +
  • Zero means that insufficient data has accumulated to fill a page, or an internal error occurred. In this case og is not modified.
  • Non-zero means that a page has been completed and returned.
  • diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html index 49329db..4168a9b 100644 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -17,7 +17,7 @@

    declared in "ogg/ogg.h";

    -

    This function reinitializes the values in the +

    This function reinitializes the values in the ogg_stream_state, just like ogg_stream_reset(). Additionally, it sets the stream serial number to the given value.

    diff --git a/doc/libogg/ogg_sync_check.html b/doc/libogg/ogg_sync_check.html index 07f4307..a767de8 100644 --- a/doc/libogg/ogg_sync_check.html +++ b/doc/libogg/ogg_sync_check.html @@ -17,7 +17,7 @@

    declared in "ogg/ogg.h";

    -

    This function is used to check the error or readiness condition of an ogg_sync_state structure. +

    This function is used to check the error or readiness condition of an ogg_sync_state structure.

    It is safe practice to ignore unrecoverable errors (such as an internal error caused by a malloc() failure) returned by ogg stream synchronization calls. Should an internal error occur, the ogg_sync_state structure will be cleared (equivalent to a call to diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html index 38509db..d9bd782 100644 --- a/doc/libogg/ogg_sync_destroy.html +++ b/doc/libogg/ogg_sync_destroy.html @@ -19,9 +19,9 @@

    This function is used to destroy an ogg_sync_state struct and free all memory used.

    -

    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 +

    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 ogg_sync_clear instead to release just the internal memory.

    diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html index 90ef65d..08b1b74 100644 --- a/doc/libogg/ogg_sync_pageseek.html +++ b/doc/libogg/ogg_sync_pageseek.html @@ -17,7 +17,7 @@

    declared in "ogg/ogg.h";

    -

    This function synchronizes the ogg_sync_state struct to the next ogg_page. +

    This function synchronizes the ogg_sync_state struct to the next ogg_page.

    This is useful when seeking within a bitstream. ogg_sync_pageseek will synchronize to the next page in the bitstream and return information about how many bytes we advanced or skipped in order to do so.

    diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html index 0a499aa..2aaeb48 100644 --- a/doc/libogg/ogg_sync_state.html +++ b/doc/libogg/ogg_sync_state.html @@ -19,7 +19,7 @@

    The ogg_sync_state struct tracks the synchronization of the current page. -

    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. +

    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.

    diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index a979393..ff3a6ed 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -17,13 +17,13 @@

    declared in "ogg/ogg.h";

    -

    This function is used to tell the ogg_sync_state struct how many bytes we wrote into the buffer. +

    This function is used to tell the ogg_sync_state struct how many bytes we wrote into the buffer.

    -The general procedure is to request a pointer into an internal -ogg_sync_state buffer by calling +The general procedure is to request a pointer into an internal +ogg_sync_state buffer by calling ogg_sync_buffer(). The buffer -is then filled up to the requested size with new input, and +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.

    diff --git a/doc/libogg/oggpack_bytes.html b/doc/libogg/oggpack_bytes.html index 269ad48..182b1fb 100644 --- a/doc/libogg/oggpack_bytes.html +++ b/doc/libogg/oggpack_bytes.html @@ -17,10 +17,10 @@

    declared in "ogg/ogg.h";

    -

    This function returns the total number of bytes behind the current -access point in the oggpack_buffer. -For write-initialized buffers, this is the number of complete bytes -written so far. For read-initialized buffers, it is the number of +

    This function returns the total number of bytes behind the current +access point in the oggpack_buffer. +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.

    The return value is the number of complete bytes in the buffer. There may be extra (<8) bits. diff --git a/doc/libogg/oggpack_writecheck.html b/doc/libogg/oggpack_writecheck.html index 7772f4d..028d60d 100644 --- a/doc/libogg/oggpack_writecheck.html +++ b/doc/libogg/oggpack_writecheck.html @@ -27,7 +27,7 @@ its internal state and release any in-use memory, flagging itself as silently fail. This error state may be detected at any later time by using oggpack_writecheck(). It is safe but not necessary to call oggpack_writeclear() on a buffer that -has flagged an error and released its resources. +has flagged an error and released its resources.

    Important note to developers: Although libogg checks the results of memory allocations, these checks are only useful on a @@ -37,7 +37,7 @@ routinely overallocated and all allocations succeed whether memory is available or not. The only way to detect an out of memory condition on the vast majority of OSes is to watch for and capture segmentation faults. This function is useful only to embedded developers. - +

    -- cgit v1.2.3 From 934385378f45f11586b03b6214bf5f363649f3b6 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Wed, 31 Jul 2019 09:06:32 -0700 Subject: Fix documentation typo. Update cut-and-paste description of the reset functions to reference resetting instead of clearing. --- doc/libogg/ogg_stream_reset.html | 2 +- doc/libogg/ogg_stream_reset_serialno.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index 8dad2c4..67b1009 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -32,7 +32,7 @@ int ogg_stream_reset(ogg_stream_state *os);

    Parameters

    os
    -
    Pointer to the ogg_stream_state struct to be cleared.
    +
    Pointer to the ogg_stream_state struct to be reset.
    diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html index 4168a9b..809f10e 100644 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -36,7 +36,7 @@ int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);

    Parameters

    os
    -
    Pointer to the ogg_stream_state struct to be cleared.
    +
    Pointer to the ogg_stream_state struct to be reset.
    serialno
    New stream serial number to use
    -- cgit v1.2.3 From 3461004ef053d50ce57260ed8ccbd9744ef9a329 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Tue, 13 Aug 2019 08:52:59 -0700 Subject: Fix ogg_stream_state documentation. The pageno is declared `long` in the header, not `int`, although it's a 32-bit value in the page header. Thanks to Spencer Russell for reporting the issue. --- doc/libogg/ogg_stream_state.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index dc440c3..ece2c0e 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -49,7 +49,7 @@ typedef struct { int b_o_s; /* set after we've written the initial page of a logical bitstream */ long serialno; - int pageno; + long pageno; ogg_int64_t packetno; /* sequence number for decode; the framing knows where there's a hole in the data, but we need coupling so that the codec -- cgit v1.2.3 From 51b74c367b7aed79b5561e9d13c2cb4b3a57762b Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Tue, 13 Aug 2019 08:55:32 -0700 Subject: Improve ogg_stream_state documentation formatting. Copy the struct definition from ogg.h which has better comment alignment. --- doc/libogg/ogg_stream_state.html | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index ece2c0e..0f06fa1 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -18,7 +18,8 @@

    declared in "ogg/ogg.h"

    -The ogg_stream_state struct tracks the current encode/decode state of the current logical bitstream. +The ogg_stream_state struct tracks the current encode/decode state +of the current logical bitstream.

    @@ -32,10 +33,10 @@ typedef struct { long body_returned; /* elements of fill returned */ - int *lacing_vals; /* The values that will go to the segment table */ - ogg_int64_t *granule_vals; /* granulepos values for headers. Not compact - this way, but it is simple coupled to the - lacing fifo */ + int *lacing_vals; /* The values that will go to the segment table */ + ogg_int64_t *granule_vals; /* granulepos values for headers. Not compact + this way, but it is simple coupled to the + lacing fifo */ long lacing_storage; long lacing_fill; long lacing_packet; @@ -48,9 +49,9 @@ typedef struct { logical bitstream */ int b_o_s; /* set after we've written the initial page of a logical bitstream */ - long serialno; - long pageno; - ogg_int64_t packetno; /* sequence number for decode; the framing + long serialno; + long pageno; + ogg_int64_t packetno; /* sequence number for decode; the framing knows where there's a hole in the data, but we need coupling so that the codec (which is in a separate abstraction -- cgit v1.2.3 From 8e84da6eb58e1c1182e767eab5881c01cb338910 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 30 Aug 2019 13:49:03 -0700 Subject: Update release checklist. Describe how to update documentation versioning. No need for sed one-liners each time. --- doc/release.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/release.txt b/doc/release.txt index 2003d1d..f72985f 100644 --- a/doc/release.txt +++ b/doc/release.txt @@ -9,6 +9,7 @@ Source release: - If interfaces were added, increment AGE. - If interfaces were removed, set AGE to zero. - Update the version and release date in doc/libogg/*.html. + - `make -C doc/libogg update-doc-version` - Check for uncommitted changes to master. - Tag the release commit with 'git tag -s vN.M'. - Include release notes in the tag annotation. -- cgit v1.2.3 From bada45718453ac27b56773ae663f7e65112f6a6e Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Fri, 30 Aug 2019 13:47:46 -0700 Subject: Update documentation version and release date for v1.3.4. Result of running make -C doc/libogg update-doc-version. --- doc/libogg/bitpacking.html | 6 +++--- doc/libogg/datastructures.html | 6 +++--- doc/libogg/decoding.html | 6 +++--- doc/libogg/encoding.html | 6 +++--- doc/libogg/general.html | 6 +++--- doc/libogg/index.html | 6 +++--- doc/libogg/ogg_iovec_t.html | 6 +++--- doc/libogg/ogg_packet.html | 6 +++--- doc/libogg/ogg_packet_clear.html | 6 +++--- doc/libogg/ogg_page.html | 6 +++--- doc/libogg/ogg_page_bos.html | 6 +++--- doc/libogg/ogg_page_checksum_set.html | 6 +++--- doc/libogg/ogg_page_continued.html | 6 +++--- doc/libogg/ogg_page_eos.html | 6 +++--- doc/libogg/ogg_page_granulepos.html | 6 +++--- doc/libogg/ogg_page_packets.html | 6 +++--- doc/libogg/ogg_page_pageno.html | 6 +++--- doc/libogg/ogg_page_serialno.html | 6 +++--- doc/libogg/ogg_page_version.html | 6 +++--- doc/libogg/ogg_stream_check.html | 6 +++--- doc/libogg/ogg_stream_clear.html | 6 +++--- doc/libogg/ogg_stream_destroy.html | 6 +++--- doc/libogg/ogg_stream_eos.html | 6 +++--- doc/libogg/ogg_stream_flush.html | 6 +++--- doc/libogg/ogg_stream_flush_fill.html | 6 +++--- doc/libogg/ogg_stream_init.html | 6 +++--- doc/libogg/ogg_stream_iovecin.html | 6 +++--- doc/libogg/ogg_stream_packetin.html | 6 +++--- doc/libogg/ogg_stream_packetout.html | 6 +++--- doc/libogg/ogg_stream_packetpeek.html | 6 +++--- doc/libogg/ogg_stream_pagein.html | 6 +++--- doc/libogg/ogg_stream_pageout.html | 6 +++--- doc/libogg/ogg_stream_pageout_fill.html | 6 +++--- doc/libogg/ogg_stream_reset.html | 6 +++--- doc/libogg/ogg_stream_reset_serialno.html | 6 +++--- doc/libogg/ogg_stream_state.html | 6 +++--- doc/libogg/ogg_sync_buffer.html | 6 +++--- doc/libogg/ogg_sync_check.html | 6 +++--- doc/libogg/ogg_sync_clear.html | 6 +++--- doc/libogg/ogg_sync_destroy.html | 6 +++--- doc/libogg/ogg_sync_init.html | 6 +++--- doc/libogg/ogg_sync_pageout.html | 6 +++--- doc/libogg/ogg_sync_pageseek.html | 6 +++--- doc/libogg/ogg_sync_reset.html | 6 +++--- doc/libogg/ogg_sync_state.html | 6 +++--- doc/libogg/ogg_sync_wrote.html | 6 +++--- doc/libogg/oggpack_adv.html | 6 +++--- doc/libogg/oggpack_adv1.html | 6 +++--- doc/libogg/oggpack_bits.html | 6 +++--- doc/libogg/oggpack_buffer.html | 6 +++--- doc/libogg/oggpack_bytes.html | 6 +++--- doc/libogg/oggpack_get_buffer.html | 6 +++--- doc/libogg/oggpack_look.html | 6 +++--- doc/libogg/oggpack_look1.html | 6 +++--- doc/libogg/oggpack_read.html | 6 +++--- doc/libogg/oggpack_read1.html | 6 +++--- doc/libogg/oggpack_readinit.html | 6 +++--- doc/libogg/oggpack_reset.html | 6 +++--- doc/libogg/oggpack_write.html | 6 +++--- doc/libogg/oggpack_writealign.html | 6 +++--- doc/libogg/oggpack_writecheck.html | 6 +++--- doc/libogg/oggpack_writeclear.html | 6 +++--- doc/libogg/oggpack_writecopy.html | 6 +++--- doc/libogg/oggpack_writeinit.html | 6 +++--- doc/libogg/oggpack_writetrunc.html | 6 +++--- doc/libogg/overview.html | 6 +++--- doc/libogg/reference.html | 6 +++--- 67 files changed, 201 insertions(+), 201 deletions(-) (limited to 'doc') diff --git a/doc/libogg/bitpacking.html b/doc/libogg/bitpacking.html index 6095715..6f5b04a 100644 --- a/doc/libogg/bitpacking.html +++ b/doc/libogg/bitpacking.html @@ -9,7 +9,7 @@
    - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -90,11 +90,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".


    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/datastructures.html b/doc/libogg/datastructures.html index d996fcd..b6596f2 100644 --- a/doc/libogg/datastructures.html +++ b/doc/libogg/datastructures.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -46,11 +46,11 @@ All the libogg specific data structures are declared in "ogg/ogg.h".
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html index ff4bd9c..ec90c7d 100644 --- a/doc/libogg/decoding.html +++ b/doc/libogg/decoding.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -91,11 +91,11 @@ advancing decoding.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html index fdbffa4..cda5d24 100644 --- a/doc/libogg/encoding.html +++ b/doc/libogg/encoding.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -63,11 +63,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/general.html b/doc/libogg/general.html index edae3f8..7e7ca45 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -96,11 +96,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/index.html b/doc/libogg/index.html index 71338d2..fb410cb 100644 --- a/doc/libogg/index.html +++ b/doc/libogg/index.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -26,11 +26,11 @@ Libogg contains necessary functionality to create, decode, and work with Ogg bit
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_iovec_t.html b/doc/libogg/ogg_iovec_t.html index 239137e..589c4ba 100644 --- a/doc/libogg/ogg_iovec_t.html +++ b/doc/libogg/ogg_iovec_t.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -49,11 +49,11 @@ typedef struct {
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html index eb0cf90..1ef7613 100644 --- a/doc/libogg/ogg_packet.html +++ b/doc/libogg/ogg_packet.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -62,11 +62,11 @@ typedef struct {
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index 5aca62d..0f291cd 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -50,11 +50,11 @@ None.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html index 7db816f..1a47bd3 100644 --- a/doc/libogg/ogg_page.html +++ b/doc/libogg/ogg_page.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -62,11 +62,11 @@ typedef struct {
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_page_bos.html b/doc/libogg/ogg_page_bos.html index 92c7b85..a30d96c 100644 --- a/doc/libogg/ogg_page_bos.html +++ b/doc/libogg/ogg_page_bos.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -51,11 +51,11 @@ greater than 0 if this page is the beginning of a bitstream.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_page_checksum_set.html b/doc/libogg/ogg_page_checksum_set.html index d4385ae..a4bd08e 100644 --- a/doc/libogg/ogg_page_checksum_set.html +++ b/doc/libogg/ogg_page_checksum_set.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -48,11 +48,11 @@ None.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_page_continued.html b/doc/libogg/ogg_page_continued.html index 878b2b9..a2bbab0 100644 --- a/doc/libogg/ogg_page_continued.html +++ b/doc/libogg/ogg_page_continued.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -50,11 +50,11 @@ int ogg_page_continued(ogg_page *og);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_page_eos.html b/doc/libogg/ogg_page_eos.html index 302f1ac..1fd62a3 100644 --- a/doc/libogg/ogg_page_eos.html +++ b/doc/libogg/ogg_page_eos.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -51,11 +51,11 @@ greater than zero if this page contains the end of a bitstream.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html index 38c8ea5..f82fb5f 100644 --- a/doc/libogg/ogg_page_granulepos.html +++ b/doc/libogg/ogg_page_granulepos.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -51,11 +51,11 @@ ogg_in64_t ogg_page_granulepos(ogg_page *og);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html index 996f6f6..01c7785 100644 --- a/doc/libogg/ogg_page_packets.html +++ b/doc/libogg/ogg_page_packets.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -61,11 +61,11 @@ ogg_page_continued(page) will return non-zero.

    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html index eb49021..d975aa0 100644 --- a/doc/libogg/ogg_page_pageno.html +++ b/doc/libogg/ogg_page_pageno.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -49,11 +49,11 @@ long ogg_page_pageno(ogg_page *og);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_page_serialno.html b/doc/libogg/ogg_page_serialno.html index a5baf33..a5df3e9 100644 --- a/doc/libogg/ogg_page_serialno.html +++ b/doc/libogg/ogg_page_serialno.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -49,11 +49,11 @@ int ogg_page_serialno(ogg_page *og);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_page_version.html b/doc/libogg/ogg_page_version.html index 9d71729..5727104 100644 --- a/doc/libogg/ogg_page_version.html +++ b/doc/libogg/ogg_page_version.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -49,11 +49,11 @@ int ogg_page_version(ogg_page *og);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_check.html b/doc/libogg/ogg_stream_check.html index 86b8a18..016fa27 100644 --- a/doc/libogg/ogg_stream_check.html +++ b/doc/libogg/ogg_stream_check.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -57,11 +57,11 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html index d9b51df..8d771f8 100644 --- a/doc/libogg/ogg_stream_clear.html +++ b/doc/libogg/ogg_stream_clear.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -47,11 +47,11 @@ int ogg_stream_clear(ogg_stream_state *os);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index aac641c..c24f320 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -57,11 +57,11 @@ int ogg_stream_destroy(ogg_stream_state *os);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html index fe4badf..49ce6b5 100644 --- a/doc/libogg/ogg_stream_eos.html +++ b/doc/libogg/ogg_stream_eos.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -48,11 +48,11 @@ int ogg_stream_eos(ogg_stream_state *os);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index 980aeb2..e155e11 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -53,11 +53,11 @@ Nonzero means that remaining packets have successfully been flushed into the pag
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_flush_fill.html b/doc/libogg/ogg_stream_flush_fill.html index 3da3ff7..84305a5 100644 --- a/doc/libogg/ogg_stream_flush_fill.html +++ b/doc/libogg/ogg_stream_flush_fill.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -60,11 +60,11 @@ Nonzero means that remaining packets have successfully been flushed into the pag
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html index 2e50e2a..25e3ed3 100644 --- a/doc/libogg/ogg_stream_init.html +++ b/doc/libogg/ogg_stream_init.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -52,11 +52,11 @@ int ogg_stream_init(ogg_stream_state *os,int
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html index 4f0271d..773e926 100644 --- a/doc/libogg/ogg_stream_iovecin.html +++ b/doc/libogg/ogg_stream_iovecin.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -66,11 +66,11 @@ int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index 993032a..dfc0ab8 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -58,11 +58,11 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html index a545e43..bf5a7ba 100644 --- a/doc/libogg/ogg_stream_packetout.html +++ b/doc/libogg/ogg_stream_packetout.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -72,11 +72,11 @@ on this stream state. - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index 1657d29..e62394e 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -71,11 +71,11 @@ packet?" check. - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index e0a1bf6..b2b5d73 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -53,11 +53,11 @@ int ogg_stream_pagein(ogg_stream_state *os,
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html index 01faa29..4e192ed 100644 --- a/doc/libogg/ogg_stream_pageout.html +++ b/doc/libogg/ogg_stream_pageout.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -70,11 +70,11 @@ this case og is not modified.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_pageout_fill.html b/doc/libogg/ogg_stream_pageout_fill.html index 4019b41..a1d1e89 100644 --- a/doc/libogg/ogg_stream_pageout_fill.html +++ b/doc/libogg/ogg_stream_pageout_fill.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -75,11 +75,11 @@ this case og is not modified.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index 67b1009..c3114f0 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -47,11 +47,11 @@ int ogg_stream_reset(ogg_stream_state *os);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html index 809f10e..e35c7c3 100644 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -53,11 +53,11 @@ int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index 0f06fa1..652b652 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -109,11 +109,11 @@ typedef struct {
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html index 58f34de..34b3fd8 100644 --- a/doc/libogg/ogg_sync_buffer.html +++ b/doc/libogg/ogg_sync_buffer.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -53,11 +53,11 @@ Returns a pointer to the newly allocated buffer or NULL on error
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_sync_check.html b/doc/libogg/ogg_sync_check.html index a767de8..1478a12 100644 --- a/doc/libogg/ogg_sync_check.html +++ b/doc/libogg/ogg_sync_check.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -57,11 +57,11 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_sync_clear.html b/doc/libogg/ogg_sync_clear.html index 05a4169..82cfce8 100644 --- a/doc/libogg/ogg_sync_clear.html +++ b/doc/libogg/ogg_sync_clear.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -48,11 +48,11 @@ int ogg_sync_clear(ogg_sync_state *oy);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html index d9bd782..2ca5499 100644 --- a/doc/libogg/ogg_sync_destroy.html +++ b/doc/libogg/ogg_sync_destroy.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -54,11 +54,11 @@ int ogg_sync_destroy(ogg_sync_state *oy);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_sync_init.html b/doc/libogg/ogg_sync_init.html index 9d6d7d8..fac6667 100644 --- a/doc/libogg/ogg_sync_init.html +++ b/doc/libogg/ogg_sync_init.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -49,11 +49,11 @@ int ogg_sync_init(ogg_sync_state *oy);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html index d73dcfc..0e37f39 100644 --- a/doc/libogg/ogg_sync_pageout.html +++ b/doc/libogg/ogg_sync_pageout.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -63,11 +63,11 @@ if (ogg_sync_pageout(&oy, &og) != 1) {
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html index 08b1b74..3433e91 100644 --- a/doc/libogg/ogg_sync_pageseek.html +++ b/doc/libogg/ogg_sync_pageseek.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -54,11 +54,11 @@ n means that the page was synced at the current location, with a page length of
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_sync_reset.html b/doc/libogg/ogg_sync_reset.html index 8d49169..bf65345 100644 --- a/doc/libogg/ogg_sync_reset.html +++ b/doc/libogg/ogg_sync_reset.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -49,11 +49,11 @@ int ogg_sync_reset(ogg_sync_state *oy);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html index 2aaeb48..a274a31 100644 --- a/doc/libogg/ogg_sync_state.html +++ b/doc/libogg/ogg_sync_state.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -64,11 +64,11 @@ typedef struct {
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index ff3a6ed..e2f4ee5 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -59,11 +59,11 @@ int ogg_sync_wrote(ogg_sync_state *oy, long by
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_adv.html b/doc/libogg/oggpack_adv.html index d4b424d..eb33d1f 100644 --- a/doc/libogg/oggpack_adv.html +++ b/doc/libogg/oggpack_adv.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -50,11 +50,11 @@ No values are returned.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_adv1.html b/doc/libogg/oggpack_adv1.html index bbd2341..6503edb 100644 --- a/doc/libogg/oggpack_adv1.html +++ b/doc/libogg/oggpack_adv1.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -48,11 +48,11 @@ void oggpack_adv1(oggpack_buffer *b);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_bits.html b/doc/libogg/oggpack_bits.html index f9942c9..cfd6897 100644 --- a/doc/libogg/oggpack_bits.html +++ b/doc/libogg/oggpack_bits.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -48,11 +48,11 @@ long oggpack_bits(oggpack_buffer *b);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_buffer.html b/doc/libogg/oggpack_buffer.html index 0b5aa69..3783839 100644 --- a/doc/libogg/oggpack_buffer.html +++ b/doc/libogg/oggpack_buffer.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -53,11 +53,11 @@ typedef struct {
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_bytes.html b/doc/libogg/oggpack_bytes.html index 182b1fb..08fc187 100644 --- a/doc/libogg/oggpack_bytes.html +++ b/doc/libogg/oggpack_bytes.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -53,11 +53,11 @@ long oggpack_bytes(oggpack_buffer *b);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_get_buffer.html b/doc/libogg/oggpack_get_buffer.html index f5b327f..5cbab82 100644 --- a/doc/libogg/oggpack_get_buffer.html +++ b/doc/libogg/oggpack_get_buffer.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -48,11 +48,11 @@ No values are returned.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_look.html b/doc/libogg/oggpack_look.html index 16c1c18..27e9b37 100644 --- a/doc/libogg/oggpack_look.html +++ b/doc/libogg/oggpack_look.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -52,11 +52,11 @@ long oggpack_look(oggpack_buffer *b,int bits)
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_look1.html b/doc/libogg/oggpack_look1.html index b924ce7..5c84372 100644 --- a/doc/libogg/oggpack_look1.html +++ b/doc/libogg/oggpack_look1.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -49,11 +49,11 @@ long oggpack_look1(oggpack_buffer *b);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_read.html b/doc/libogg/oggpack_read.html index 2450f7b..127cc2a 100644 --- a/doc/libogg/oggpack_read.html +++ b/doc/libogg/oggpack_read.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -51,11 +51,11 @@ long oggpack_read(oggpack_buffer *b,int bits);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_read1.html b/doc/libogg/oggpack_read1.html index 329fa43..d3a104c 100644 --- a/doc/libogg/oggpack_read1.html +++ b/doc/libogg/oggpack_read1.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -49,11 +49,11 @@ long oggpack_read1(oggpack_buffer *b);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_readinit.html b/doc/libogg/oggpack_readinit.html index 76f1dea..3bc4da2 100644 --- a/doc/libogg/oggpack_readinit.html +++ b/doc/libogg/oggpack_readinit.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -50,11 +50,11 @@ No values are returned.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_reset.html b/doc/libogg/oggpack_reset.html index dbaeb22..0d8b15d 100644 --- a/doc/libogg/oggpack_reset.html +++ b/doc/libogg/oggpack_reset.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -48,11 +48,11 @@ No values are returned.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_write.html b/doc/libogg/oggpack_write.html index 7af1c82..79884a4 100644 --- a/doc/libogg/oggpack_write.html +++ b/doc/libogg/oggpack_write.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -54,11 +54,11 @@ No values are returned.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_writealign.html b/doc/libogg/oggpack_writealign.html index 950e8e7..c2769a7 100644 --- a/doc/libogg/oggpack_writealign.html +++ b/doc/libogg/oggpack_writealign.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -51,11 +51,11 @@ No values are returned.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_writecheck.html b/doc/libogg/oggpack_writecheck.html index 028d60d..15eb554 100644 --- a/doc/libogg/oggpack_writecheck.html +++ b/doc/libogg/oggpack_writecheck.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -67,11 +67,11 @@ int oggpack_writecheck(oggpack_buffer *b);
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_writeclear.html b/doc/libogg/oggpack_writeclear.html index 32f4eb5..a5a40b1 100644 --- a/doc/libogg/oggpack_writeclear.html +++ b/doc/libogg/oggpack_writeclear.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -48,11 +48,11 @@ No values are returned.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_writecopy.html b/doc/libogg/oggpack_writecopy.html index f64c34e..f274186 100644 --- a/doc/libogg/oggpack_writecopy.html +++ b/doc/libogg/oggpack_writecopy.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -55,11 +55,11 @@ No values are returned.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_writeinit.html b/doc/libogg/oggpack_writeinit.html index b2bfdf5..752a9e0 100644 --- a/doc/libogg/oggpack_writeinit.html +++ b/doc/libogg/oggpack_writeinit.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -48,11 +48,11 @@ No values are returned.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/oggpack_writetrunc.html b/doc/libogg/oggpack_writetrunc.html index ccbb663..3b543b6 100644 --- a/doc/libogg/oggpack_writetrunc.html +++ b/doc/libogg/oggpack_writetrunc.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -51,11 +51,11 @@ No values are returned.
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/overview.html b/doc/libogg/overview.html index 792fc4a..620688f 100644 --- a/doc/libogg/overview.html +++ b/doc/libogg/overview.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -31,11 +31,11 @@ The libogg API consists of the following functional categories:
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html index 3fefaf2..3fbb95c 100644 --- a/doc/libogg/reference.html +++ b/doc/libogg/reference.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    @@ -85,11 +85,11 @@
    - + - +

    copyright © 2000-2017 Xiph.Org Foundation

    copyright © 2000-2019 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.3 - 20171107

    libogg release 1.3.4 - 20190830

    -- cgit v1.2.3 From 68ca3841567247ac1f7850801a164f58738d8df9 Mon Sep 17 00:00:00 2001 From: Tristan Matthews Date: Tue, 29 Oct 2019 11:51:48 -0400 Subject: doc: fix typo --- doc/libogg/ogg_page_granulepos.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html index f82fb5f..23884fd 100644 --- a/doc/libogg/ogg_page_granulepos.html +++ b/doc/libogg/ogg_page_granulepos.html @@ -26,7 +26,7 @@
    
    -ogg_in64_t ogg_page_granulepos(ogg_page *og);
    +ogg_int64_t ogg_page_granulepos(ogg_page *og);
     
     
    -- cgit v1.2.3 From 5fb070b6baaf249f8ed77c0823bb3418ba0b3a74 Mon Sep 17 00:00:00 2001 From: thp-hatch Date: Mon, 25 May 2020 11:26:21 +0200 Subject: Fix link in ogg_stream_init documentation Signed-off-by: Ralph Giles --- doc/libogg/ogg_stream_init.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html index 25e3ed3..e297ea2 100644 --- a/doc/libogg/ogg_stream_init.html +++ b/doc/libogg/ogg_stream_init.html @@ -17,7 +17,7 @@

    declared in "ogg/ogg.h";

    -

    This function is used to initialize an ogg_stream_state struct and allocates appropriate memory in preparation for encoding or decoding. +

    This function is used to initialize an ogg_stream_state struct and allocates appropriate memory in preparation for encoding or decoding.

    It also assigns the stream a given serial number.

    -- cgit v1.2.3 From 0bbcba4e7cf32324170470569c4527ffd0002870 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Mon, 25 May 2020 10:13:30 -0700 Subject: Fix link in ogg_stream_clear documentation. The link pointed to the wrong structure documentation. Looks like a cut-and-paste error. --- doc/libogg/ogg_stream_clear.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html index 8d771f8..c59a77e 100644 --- a/doc/libogg/ogg_stream_clear.html +++ b/doc/libogg/ogg_stream_clear.html @@ -17,7 +17,7 @@

    declared in "ogg/ogg.h";

    -

    This function clears and frees the internal memory used by the ogg_stream_state struct, but does not free the structure itself. It is safe to call ogg_stream_clear on the same structure more than once. +

    This function clears and frees the internal memory used by the ogg_stream_state struct, but does not free the structure itself. It is safe to call ogg_stream_clear on the same structure more than once.

    -- cgit v1.2.3 From e1774cd77f471443541596e09078e78fdc342e4f Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Thu, 3 Jun 2021 16:38:31 -0700 Subject: Update documentation version for 1.3.5 release. Result of running `make -C doc/libogg update-doc-version`. --- doc/libogg/bitpacking.html | 6 +++--- doc/libogg/datastructures.html | 6 +++--- doc/libogg/decoding.html | 6 +++--- doc/libogg/encoding.html | 6 +++--- doc/libogg/general.html | 6 +++--- doc/libogg/index.html | 6 +++--- doc/libogg/ogg_iovec_t.html | 6 +++--- doc/libogg/ogg_packet.html | 6 +++--- doc/libogg/ogg_packet_clear.html | 6 +++--- doc/libogg/ogg_page.html | 6 +++--- doc/libogg/ogg_page_bos.html | 6 +++--- doc/libogg/ogg_page_checksum_set.html | 6 +++--- doc/libogg/ogg_page_continued.html | 6 +++--- doc/libogg/ogg_page_eos.html | 6 +++--- doc/libogg/ogg_page_granulepos.html | 6 +++--- doc/libogg/ogg_page_packets.html | 6 +++--- doc/libogg/ogg_page_pageno.html | 6 +++--- doc/libogg/ogg_page_serialno.html | 6 +++--- doc/libogg/ogg_page_version.html | 6 +++--- doc/libogg/ogg_stream_check.html | 6 +++--- doc/libogg/ogg_stream_clear.html | 6 +++--- doc/libogg/ogg_stream_destroy.html | 6 +++--- doc/libogg/ogg_stream_eos.html | 6 +++--- doc/libogg/ogg_stream_flush.html | 6 +++--- doc/libogg/ogg_stream_flush_fill.html | 6 +++--- doc/libogg/ogg_stream_init.html | 6 +++--- doc/libogg/ogg_stream_iovecin.html | 6 +++--- doc/libogg/ogg_stream_packetin.html | 6 +++--- doc/libogg/ogg_stream_packetout.html | 6 +++--- doc/libogg/ogg_stream_packetpeek.html | 6 +++--- doc/libogg/ogg_stream_pagein.html | 6 +++--- doc/libogg/ogg_stream_pageout.html | 6 +++--- doc/libogg/ogg_stream_pageout_fill.html | 6 +++--- doc/libogg/ogg_stream_reset.html | 6 +++--- doc/libogg/ogg_stream_reset_serialno.html | 6 +++--- doc/libogg/ogg_stream_state.html | 6 +++--- doc/libogg/ogg_sync_buffer.html | 6 +++--- doc/libogg/ogg_sync_check.html | 6 +++--- doc/libogg/ogg_sync_clear.html | 6 +++--- doc/libogg/ogg_sync_destroy.html | 6 +++--- doc/libogg/ogg_sync_init.html | 6 +++--- doc/libogg/ogg_sync_pageout.html | 6 +++--- doc/libogg/ogg_sync_pageseek.html | 6 +++--- doc/libogg/ogg_sync_reset.html | 6 +++--- doc/libogg/ogg_sync_state.html | 6 +++--- doc/libogg/ogg_sync_wrote.html | 6 +++--- doc/libogg/oggpack_adv.html | 6 +++--- doc/libogg/oggpack_adv1.html | 6 +++--- doc/libogg/oggpack_bits.html | 6 +++--- doc/libogg/oggpack_buffer.html | 6 +++--- doc/libogg/oggpack_bytes.html | 6 +++--- doc/libogg/oggpack_get_buffer.html | 6 +++--- doc/libogg/oggpack_look.html | 6 +++--- doc/libogg/oggpack_look1.html | 6 +++--- doc/libogg/oggpack_read.html | 6 +++--- doc/libogg/oggpack_read1.html | 6 +++--- doc/libogg/oggpack_readinit.html | 6 +++--- doc/libogg/oggpack_reset.html | 6 +++--- doc/libogg/oggpack_write.html | 6 +++--- doc/libogg/oggpack_writealign.html | 6 +++--- doc/libogg/oggpack_writecheck.html | 6 +++--- doc/libogg/oggpack_writeclear.html | 6 +++--- doc/libogg/oggpack_writecopy.html | 6 +++--- doc/libogg/oggpack_writeinit.html | 6 +++--- doc/libogg/oggpack_writetrunc.html | 6 +++--- doc/libogg/overview.html | 6 +++--- doc/libogg/reference.html | 6 +++--- 67 files changed, 201 insertions(+), 201 deletions(-) (limited to 'doc') diff --git a/doc/libogg/bitpacking.html b/doc/libogg/bitpacking.html index 6f5b04a..c615500 100644 --- a/doc/libogg/bitpacking.html +++ b/doc/libogg/bitpacking.html @@ -9,7 +9,7 @@
    - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -90,11 +90,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".


    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/datastructures.html b/doc/libogg/datastructures.html index b6596f2..208ccfc 100644 --- a/doc/libogg/datastructures.html +++ b/doc/libogg/datastructures.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -46,11 +46,11 @@ All the libogg specific data structures are declared in "ogg/ogg.h".
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html index ec90c7d..43cdf6f 100644 --- a/doc/libogg/decoding.html +++ b/doc/libogg/decoding.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -91,11 +91,11 @@ advancing decoding.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html index cda5d24..0bc5a4f 100644 --- a/doc/libogg/encoding.html +++ b/doc/libogg/encoding.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -63,11 +63,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/general.html b/doc/libogg/general.html index 7e7ca45..286d29c 100644 --- a/doc/libogg/general.html +++ b/doc/libogg/general.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -96,11 +96,11 @@ All the libogg specific functions are declared in "ogg/ogg.h".
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/index.html b/doc/libogg/index.html index fb410cb..ff8fd59 100644 --- a/doc/libogg/index.html +++ b/doc/libogg/index.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -26,11 +26,11 @@ Libogg contains necessary functionality to create, decode, and work with Ogg bit
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_iovec_t.html b/doc/libogg/ogg_iovec_t.html index 589c4ba..8087440 100644 --- a/doc/libogg/ogg_iovec_t.html +++ b/doc/libogg/ogg_iovec_t.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -49,11 +49,11 @@ typedef struct {
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html index 1ef7613..9cb4bab 100644 --- a/doc/libogg/ogg_packet.html +++ b/doc/libogg/ogg_packet.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -62,11 +62,11 @@ typedef struct {
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html index 0f291cd..ba3a455 100644 --- a/doc/libogg/ogg_packet_clear.html +++ b/doc/libogg/ogg_packet_clear.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -50,11 +50,11 @@ None.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html index 1a47bd3..0151a21 100644 --- a/doc/libogg/ogg_page.html +++ b/doc/libogg/ogg_page.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -62,11 +62,11 @@ typedef struct {
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_page_bos.html b/doc/libogg/ogg_page_bos.html index a30d96c..684b45f 100644 --- a/doc/libogg/ogg_page_bos.html +++ b/doc/libogg/ogg_page_bos.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -51,11 +51,11 @@ greater than 0 if this page is the beginning of a bitstream.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_page_checksum_set.html b/doc/libogg/ogg_page_checksum_set.html index a4bd08e..788a38c 100644 --- a/doc/libogg/ogg_page_checksum_set.html +++ b/doc/libogg/ogg_page_checksum_set.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -48,11 +48,11 @@ None.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_page_continued.html b/doc/libogg/ogg_page_continued.html index a2bbab0..6d482d1 100644 --- a/doc/libogg/ogg_page_continued.html +++ b/doc/libogg/ogg_page_continued.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -50,11 +50,11 @@ int ogg_page_continued(ogg_page *og);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_page_eos.html b/doc/libogg/ogg_page_eos.html index 1fd62a3..c1722d1 100644 --- a/doc/libogg/ogg_page_eos.html +++ b/doc/libogg/ogg_page_eos.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -51,11 +51,11 @@ greater than zero if this page contains the end of a bitstream.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html index 23884fd..60c2c91 100644 --- a/doc/libogg/ogg_page_granulepos.html +++ b/doc/libogg/ogg_page_granulepos.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -51,11 +51,11 @@ ogg_int64_t ogg_page_granulepos(ogg_page *og);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html index 01c7785..38cfd05 100644 --- a/doc/libogg/ogg_page_packets.html +++ b/doc/libogg/ogg_page_packets.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -61,11 +61,11 @@ ogg_page_continued(page) will return non-zero.

    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html index d975aa0..9761a5e 100644 --- a/doc/libogg/ogg_page_pageno.html +++ b/doc/libogg/ogg_page_pageno.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -49,11 +49,11 @@ long ogg_page_pageno(ogg_page *og);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_page_serialno.html b/doc/libogg/ogg_page_serialno.html index a5df3e9..7d288af 100644 --- a/doc/libogg/ogg_page_serialno.html +++ b/doc/libogg/ogg_page_serialno.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -49,11 +49,11 @@ int ogg_page_serialno(ogg_page *og);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_page_version.html b/doc/libogg/ogg_page_version.html index 5727104..747a696 100644 --- a/doc/libogg/ogg_page_version.html +++ b/doc/libogg/ogg_page_version.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -49,11 +49,11 @@ int ogg_page_version(ogg_page *og);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_check.html b/doc/libogg/ogg_stream_check.html index 016fa27..a84055e 100644 --- a/doc/libogg/ogg_stream_check.html +++ b/doc/libogg/ogg_stream_check.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -57,11 +57,11 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html index c59a77e..d5c5a9b 100644 --- a/doc/libogg/ogg_stream_clear.html +++ b/doc/libogg/ogg_stream_clear.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -47,11 +47,11 @@ int ogg_stream_clear(ogg_stream_state *os);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html index c24f320..e507f83 100644 --- a/doc/libogg/ogg_stream_destroy.html +++ b/doc/libogg/ogg_stream_destroy.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -57,11 +57,11 @@ int ogg_stream_destroy(ogg_stream_state *os);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html index 49ce6b5..7a08dc3 100644 --- a/doc/libogg/ogg_stream_eos.html +++ b/doc/libogg/ogg_stream_eos.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -48,11 +48,11 @@ int ogg_stream_eos(ogg_stream_state *os);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html index e155e11..9ce8404 100644 --- a/doc/libogg/ogg_stream_flush.html +++ b/doc/libogg/ogg_stream_flush.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -53,11 +53,11 @@ Nonzero means that remaining packets have successfully been flushed into the pag
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_flush_fill.html b/doc/libogg/ogg_stream_flush_fill.html index 84305a5..68988e8 100644 --- a/doc/libogg/ogg_stream_flush_fill.html +++ b/doc/libogg/ogg_stream_flush_fill.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -60,11 +60,11 @@ Nonzero means that remaining packets have successfully been flushed into the pag
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html index e297ea2..cdd3ecb 100644 --- a/doc/libogg/ogg_stream_init.html +++ b/doc/libogg/ogg_stream_init.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -52,11 +52,11 @@ int ogg_stream_init(ogg_stream_state *os,int
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_iovecin.html b/doc/libogg/ogg_stream_iovecin.html index 773e926..92499a1 100644 --- a/doc/libogg/ogg_stream_iovecin.html +++ b/doc/libogg/ogg_stream_iovecin.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -66,11 +66,11 @@ int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html index dfc0ab8..b36f115 100644 --- a/doc/libogg/ogg_stream_packetin.html +++ b/doc/libogg/ogg_stream_packetin.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -58,11 +58,11 @@ int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html index bf5a7ba..6e12dc9 100644 --- a/doc/libogg/ogg_stream_packetout.html +++ b/doc/libogg/ogg_stream_packetout.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -72,11 +72,11 @@ on this stream state. - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html index e62394e..2f90e32 100644 --- a/doc/libogg/ogg_stream_packetpeek.html +++ b/doc/libogg/ogg_stream_packetpeek.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -71,11 +71,11 @@ packet?" check. - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html index b2b5d73..db52b91 100644 --- a/doc/libogg/ogg_stream_pagein.html +++ b/doc/libogg/ogg_stream_pagein.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -53,11 +53,11 @@ int ogg_stream_pagein(ogg_stream_state *os,
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html index 4e192ed..9915368 100644 --- a/doc/libogg/ogg_stream_pageout.html +++ b/doc/libogg/ogg_stream_pageout.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -70,11 +70,11 @@ this case og is not modified.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_pageout_fill.html b/doc/libogg/ogg_stream_pageout_fill.html index a1d1e89..22edfa8 100644 --- a/doc/libogg/ogg_stream_pageout_fill.html +++ b/doc/libogg/ogg_stream_pageout_fill.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -75,11 +75,11 @@ this case og is not modified.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html index c3114f0..068541a 100644 --- a/doc/libogg/ogg_stream_reset.html +++ b/doc/libogg/ogg_stream_reset.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -47,11 +47,11 @@ int ogg_stream_reset(ogg_stream_state *os);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html index e35c7c3..a80c590 100644 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ b/doc/libogg/ogg_stream_reset_serialno.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -53,11 +53,11 @@ int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html index 652b652..f6fa437 100644 --- a/doc/libogg/ogg_stream_state.html +++ b/doc/libogg/ogg_stream_state.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -109,11 +109,11 @@ typedef struct {
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html index 34b3fd8..45d9aff 100644 --- a/doc/libogg/ogg_sync_buffer.html +++ b/doc/libogg/ogg_sync_buffer.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -53,11 +53,11 @@ Returns a pointer to the newly allocated buffer or NULL on error
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_sync_check.html b/doc/libogg/ogg_sync_check.html index 1478a12..f96187a 100644 --- a/doc/libogg/ogg_sync_check.html +++ b/doc/libogg/ogg_sync_check.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -57,11 +57,11 @@ nonzero is returned if the structure was never initialized, or if an unrecoverab
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_sync_clear.html b/doc/libogg/ogg_sync_clear.html index 82cfce8..f8df0af 100644 --- a/doc/libogg/ogg_sync_clear.html +++ b/doc/libogg/ogg_sync_clear.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -48,11 +48,11 @@ int ogg_sync_clear(ogg_sync_state *oy);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html index 2ca5499..efebf3d 100644 --- a/doc/libogg/ogg_sync_destroy.html +++ b/doc/libogg/ogg_sync_destroy.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -54,11 +54,11 @@ int ogg_sync_destroy(ogg_sync_state *oy);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_sync_init.html b/doc/libogg/ogg_sync_init.html index fac6667..50c0971 100644 --- a/doc/libogg/ogg_sync_init.html +++ b/doc/libogg/ogg_sync_init.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -49,11 +49,11 @@ int ogg_sync_init(ogg_sync_state *oy);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html index 0e37f39..4430692 100644 --- a/doc/libogg/ogg_sync_pageout.html +++ b/doc/libogg/ogg_sync_pageout.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -63,11 +63,11 @@ if (ogg_sync_pageout(&oy, &og) != 1) {
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html index 3433e91..d76a784 100644 --- a/doc/libogg/ogg_sync_pageseek.html +++ b/doc/libogg/ogg_sync_pageseek.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -54,11 +54,11 @@ n means that the page was synced at the current location, with a page length of
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_sync_reset.html b/doc/libogg/ogg_sync_reset.html index bf65345..32df6da 100644 --- a/doc/libogg/ogg_sync_reset.html +++ b/doc/libogg/ogg_sync_reset.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -49,11 +49,11 @@ int ogg_sync_reset(ogg_sync_state *oy);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html index a274a31..78d6f20 100644 --- a/doc/libogg/ogg_sync_state.html +++ b/doc/libogg/ogg_sync_state.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -64,11 +64,11 @@ typedef struct {
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html index e2f4ee5..638913b 100644 --- a/doc/libogg/ogg_sync_wrote.html +++ b/doc/libogg/ogg_sync_wrote.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -59,11 +59,11 @@ int ogg_sync_wrote(ogg_sync_state *oy, long by
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_adv.html b/doc/libogg/oggpack_adv.html index eb33d1f..d447156 100644 --- a/doc/libogg/oggpack_adv.html +++ b/doc/libogg/oggpack_adv.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -50,11 +50,11 @@ No values are returned.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_adv1.html b/doc/libogg/oggpack_adv1.html index 6503edb..a76ba58 100644 --- a/doc/libogg/oggpack_adv1.html +++ b/doc/libogg/oggpack_adv1.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -48,11 +48,11 @@ void oggpack_adv1(oggpack_buffer *b);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_bits.html b/doc/libogg/oggpack_bits.html index cfd6897..eccd9ae 100644 --- a/doc/libogg/oggpack_bits.html +++ b/doc/libogg/oggpack_bits.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -48,11 +48,11 @@ long oggpack_bits(oggpack_buffer *b);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_buffer.html b/doc/libogg/oggpack_buffer.html index 3783839..5562c92 100644 --- a/doc/libogg/oggpack_buffer.html +++ b/doc/libogg/oggpack_buffer.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -53,11 +53,11 @@ typedef struct {
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_bytes.html b/doc/libogg/oggpack_bytes.html index 08fc187..4503e36 100644 --- a/doc/libogg/oggpack_bytes.html +++ b/doc/libogg/oggpack_bytes.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -53,11 +53,11 @@ long oggpack_bytes(oggpack_buffer *b);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_get_buffer.html b/doc/libogg/oggpack_get_buffer.html index 5cbab82..538bc96 100644 --- a/doc/libogg/oggpack_get_buffer.html +++ b/doc/libogg/oggpack_get_buffer.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -48,11 +48,11 @@ No values are returned.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_look.html b/doc/libogg/oggpack_look.html index 27e9b37..c5c2da8 100644 --- a/doc/libogg/oggpack_look.html +++ b/doc/libogg/oggpack_look.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -52,11 +52,11 @@ long oggpack_look(oggpack_buffer *b,int bits)
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_look1.html b/doc/libogg/oggpack_look1.html index 5c84372..c0c771d 100644 --- a/doc/libogg/oggpack_look1.html +++ b/doc/libogg/oggpack_look1.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -49,11 +49,11 @@ long oggpack_look1(oggpack_buffer *b);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_read.html b/doc/libogg/oggpack_read.html index 127cc2a..670cc9d 100644 --- a/doc/libogg/oggpack_read.html +++ b/doc/libogg/oggpack_read.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -51,11 +51,11 @@ long oggpack_read(oggpack_buffer *b,int bits);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_read1.html b/doc/libogg/oggpack_read1.html index d3a104c..a0e73db 100644 --- a/doc/libogg/oggpack_read1.html +++ b/doc/libogg/oggpack_read1.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -49,11 +49,11 @@ long oggpack_read1(oggpack_buffer *b);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_readinit.html b/doc/libogg/oggpack_readinit.html index 3bc4da2..cba730d 100644 --- a/doc/libogg/oggpack_readinit.html +++ b/doc/libogg/oggpack_readinit.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -50,11 +50,11 @@ No values are returned.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_reset.html b/doc/libogg/oggpack_reset.html index 0d8b15d..9dae86c 100644 --- a/doc/libogg/oggpack_reset.html +++ b/doc/libogg/oggpack_reset.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -48,11 +48,11 @@ No values are returned.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_write.html b/doc/libogg/oggpack_write.html index 79884a4..25d058b 100644 --- a/doc/libogg/oggpack_write.html +++ b/doc/libogg/oggpack_write.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -54,11 +54,11 @@ No values are returned.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_writealign.html b/doc/libogg/oggpack_writealign.html index c2769a7..01f4b0b 100644 --- a/doc/libogg/oggpack_writealign.html +++ b/doc/libogg/oggpack_writealign.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -51,11 +51,11 @@ No values are returned.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_writecheck.html b/doc/libogg/oggpack_writecheck.html index 15eb554..dd0a7d9 100644 --- a/doc/libogg/oggpack_writecheck.html +++ b/doc/libogg/oggpack_writecheck.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -67,11 +67,11 @@ int oggpack_writecheck(oggpack_buffer *b);
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_writeclear.html b/doc/libogg/oggpack_writeclear.html index a5a40b1..37c4714 100644 --- a/doc/libogg/oggpack_writeclear.html +++ b/doc/libogg/oggpack_writeclear.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -48,11 +48,11 @@ No values are returned.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_writecopy.html b/doc/libogg/oggpack_writecopy.html index f274186..ec8d613 100644 --- a/doc/libogg/oggpack_writecopy.html +++ b/doc/libogg/oggpack_writecopy.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -55,11 +55,11 @@ No values are returned.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_writeinit.html b/doc/libogg/oggpack_writeinit.html index 752a9e0..d66655d 100644 --- a/doc/libogg/oggpack_writeinit.html +++ b/doc/libogg/oggpack_writeinit.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -48,11 +48,11 @@ No values are returned.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/oggpack_writetrunc.html b/doc/libogg/oggpack_writetrunc.html index 3b543b6..3488640 100644 --- a/doc/libogg/oggpack_writetrunc.html +++ b/doc/libogg/oggpack_writetrunc.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -51,11 +51,11 @@ No values are returned.
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/overview.html b/doc/libogg/overview.html index 620688f..3a731b4 100644 --- a/doc/libogg/overview.html +++ b/doc/libogg/overview.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -31,11 +31,11 @@ The libogg API consists of the following functional categories:
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html index 3fbb95c..3eac3f8 100644 --- a/doc/libogg/reference.html +++ b/doc/libogg/reference.html @@ -9,7 +9,7 @@ - +

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    @@ -85,11 +85,11 @@
    - + - +

    copyright © 2000-2019 Xiph.Org Foundation

    copyright © 2000-2021 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.3.4 - 20190830

    libogg release 1.3.5 - 20210603

    -- cgit v1.2.3 From 314b88332f804b3f9a6ed77556ef71b778c9a695 Mon Sep 17 00:00:00 2001 From: Sadaf Ebrahimi Date: Thu, 10 Aug 2023 20:10:28 +0000 Subject: Initial repository for libogg Test: TreeHugger Change-Id: Ia0b7d1b9d8c582d7921b38dfc9715152dc51479b --- doc/Makefile.am | 11 - doc/Makefile.in | 524 ------------------- doc/framing.html | 431 --------------- doc/index.html | 105 ---- doc/libogg/Makefile.am | 27 - doc/libogg/Makefile.in | 383 -------------- doc/libogg/bitpacking.html | 103 ---- doc/libogg/datastructures.html | 59 --- doc/libogg/decoding.html | 104 ---- doc/libogg/encoding.html | 68 --- doc/libogg/general.html | 109 ---- doc/libogg/index.html | 39 -- doc/libogg/ogg_packet.html | 75 --- doc/libogg/ogg_packet_clear.html | 62 --- doc/libogg/ogg_page.html | 74 --- doc/libogg/ogg_page_bos.html | 65 --- doc/libogg/ogg_page_checksum_set.html | 62 --- doc/libogg/ogg_page_continued.html | 64 --- doc/libogg/ogg_page_eos.html | 65 --- doc/libogg/ogg_page_granulepos.html | 65 --- doc/libogg/ogg_page_packets.html | 75 --- doc/libogg/ogg_page_pageno.html | 63 --- doc/libogg/ogg_page_serialno.html | 63 --- doc/libogg/ogg_page_version.html | 63 --- doc/libogg/ogg_stream_clear.html | 61 --- doc/libogg/ogg_stream_destroy.html | 71 --- doc/libogg/ogg_stream_eos.html | 62 --- doc/libogg/ogg_stream_flush.html | 67 --- doc/libogg/ogg_stream_init.html | 66 --- doc/libogg/ogg_stream_packetin.html | 72 --- doc/libogg/ogg_stream_packetout.html | 85 --- doc/libogg/ogg_stream_packetpeek.html | 85 --- doc/libogg/ogg_stream_pagein.html | 67 --- doc/libogg/ogg_stream_pageout.html | 84 --- doc/libogg/ogg_stream_reset.html | 61 --- doc/libogg/ogg_stream_reset_serialno.html | 67 --- doc/libogg/ogg_stream_state.html | 121 ----- doc/libogg/ogg_sync_buffer.html | 67 --- doc/libogg/ogg_sync_clear.html | 62 --- doc/libogg/ogg_sync_destroy.html | 68 --- doc/libogg/ogg_sync_init.html | 63 --- doc/libogg/ogg_sync_pageout.html | 77 --- doc/libogg/ogg_sync_pageseek.html | 68 --- doc/libogg/ogg_sync_reset.html | 63 --- doc/libogg/ogg_sync_state.html | 77 --- doc/libogg/ogg_sync_wrote.html | 73 --- doc/libogg/oggpack_adv.html | 64 --- doc/libogg/oggpack_adv1.html | 62 --- doc/libogg/oggpack_bits.html | 62 --- doc/libogg/oggpack_buffer.html | 66 --- doc/libogg/oggpack_bytes.html | 67 --- doc/libogg/oggpack_get_buffer.html | 62 --- doc/libogg/oggpack_look.html | 66 --- doc/libogg/oggpack_look1.html | 63 --- doc/libogg/oggpack_read.html | 65 --- doc/libogg/oggpack_read1.html | 63 --- doc/libogg/oggpack_readinit.html | 64 --- doc/libogg/oggpack_reset.html | 62 --- doc/libogg/oggpack_write.html | 68 --- doc/libogg/oggpack_writealign.html | 65 --- doc/libogg/oggpack_writeclear.html | 62 --- doc/libogg/oggpack_writecopy.html | 69 --- doc/libogg/oggpack_writeinit.html | 62 --- doc/libogg/oggpack_writetrunc.html | 65 --- doc/libogg/overview.html | 44 -- doc/libogg/reference.html | 96 ---- doc/libogg/style.css | 7 - doc/ogg-multiplex.html | 445 ---------------- doc/oggstream.html | 493 ----------------- doc/rfc3533.txt | 843 ------------------------------ doc/rfc5334.txt | 787 ---------------------------- doc/skeleton.html | 222 -------- doc/stream.png | Bin 2254 -> 0 bytes doc/vorbisword2.png | Bin 1394 -> 0 bytes doc/white-ogg.png | Bin 2652 -> 0 bytes doc/white-xifish.png | Bin 965 -> 0 bytes 76 files changed, 8440 deletions(-) delete mode 100644 doc/Makefile.am delete mode 100644 doc/Makefile.in delete mode 100644 doc/framing.html delete mode 100644 doc/index.html delete mode 100644 doc/libogg/Makefile.am delete mode 100644 doc/libogg/Makefile.in delete mode 100644 doc/libogg/bitpacking.html delete mode 100644 doc/libogg/datastructures.html delete mode 100644 doc/libogg/decoding.html delete mode 100644 doc/libogg/encoding.html delete mode 100644 doc/libogg/general.html delete mode 100644 doc/libogg/index.html delete mode 100644 doc/libogg/ogg_packet.html delete mode 100644 doc/libogg/ogg_packet_clear.html delete mode 100644 doc/libogg/ogg_page.html delete mode 100644 doc/libogg/ogg_page_bos.html delete mode 100644 doc/libogg/ogg_page_checksum_set.html delete mode 100644 doc/libogg/ogg_page_continued.html delete mode 100644 doc/libogg/ogg_page_eos.html delete mode 100644 doc/libogg/ogg_page_granulepos.html delete mode 100644 doc/libogg/ogg_page_packets.html delete mode 100644 doc/libogg/ogg_page_pageno.html delete mode 100644 doc/libogg/ogg_page_serialno.html delete mode 100644 doc/libogg/ogg_page_version.html delete mode 100644 doc/libogg/ogg_stream_clear.html delete mode 100644 doc/libogg/ogg_stream_destroy.html delete mode 100644 doc/libogg/ogg_stream_eos.html delete mode 100644 doc/libogg/ogg_stream_flush.html delete mode 100644 doc/libogg/ogg_stream_init.html delete mode 100644 doc/libogg/ogg_stream_packetin.html delete mode 100644 doc/libogg/ogg_stream_packetout.html delete mode 100644 doc/libogg/ogg_stream_packetpeek.html delete mode 100644 doc/libogg/ogg_stream_pagein.html delete mode 100644 doc/libogg/ogg_stream_pageout.html delete mode 100644 doc/libogg/ogg_stream_reset.html delete mode 100644 doc/libogg/ogg_stream_reset_serialno.html delete mode 100644 doc/libogg/ogg_stream_state.html delete mode 100644 doc/libogg/ogg_sync_buffer.html delete mode 100644 doc/libogg/ogg_sync_clear.html delete mode 100644 doc/libogg/ogg_sync_destroy.html delete mode 100644 doc/libogg/ogg_sync_init.html delete mode 100644 doc/libogg/ogg_sync_pageout.html delete mode 100644 doc/libogg/ogg_sync_pageseek.html delete mode 100644 doc/libogg/ogg_sync_reset.html delete mode 100644 doc/libogg/ogg_sync_state.html delete mode 100644 doc/libogg/ogg_sync_wrote.html delete mode 100644 doc/libogg/oggpack_adv.html delete mode 100644 doc/libogg/oggpack_adv1.html delete mode 100644 doc/libogg/oggpack_bits.html delete mode 100644 doc/libogg/oggpack_buffer.html delete mode 100644 doc/libogg/oggpack_bytes.html delete mode 100644 doc/libogg/oggpack_get_buffer.html delete mode 100644 doc/libogg/oggpack_look.html delete mode 100644 doc/libogg/oggpack_look1.html delete mode 100644 doc/libogg/oggpack_read.html delete mode 100644 doc/libogg/oggpack_read1.html delete mode 100644 doc/libogg/oggpack_readinit.html delete mode 100644 doc/libogg/oggpack_reset.html delete mode 100644 doc/libogg/oggpack_write.html delete mode 100644 doc/libogg/oggpack_writealign.html delete mode 100644 doc/libogg/oggpack_writeclear.html delete mode 100644 doc/libogg/oggpack_writecopy.html delete mode 100644 doc/libogg/oggpack_writeinit.html delete mode 100644 doc/libogg/oggpack_writetrunc.html delete mode 100644 doc/libogg/overview.html delete mode 100644 doc/libogg/reference.html delete mode 100644 doc/libogg/style.css delete mode 100644 doc/ogg-multiplex.html delete mode 100644 doc/oggstream.html delete mode 100644 doc/rfc3533.txt delete mode 100644 doc/rfc5334.txt delete mode 100755 doc/skeleton.html delete mode 100644 doc/stream.png delete mode 100644 doc/vorbisword2.png delete mode 100644 doc/white-ogg.png delete mode 100644 doc/white-xifish.png (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am deleted file mode 100644 index 9c2c316..0000000 --- a/doc/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -## Process this with automake to create Makefile.in - -SUBDIRS = libogg - -docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) - -doc_DATA = framing.html index.html oggstream.html ogg-multiplex.html \ - stream.png vorbisword2.png white-ogg.png white-xifish.png \ - rfc3533.txt rfc5334.txt skeleton.html - -EXTRA_DIST = $(doc_DATA) diff --git a/doc/Makefile.in b/doc/Makefile.in deleted file mode 100644 index 8e54466..0000000 --- a/doc/Makefile.in +++ /dev/null @@ -1,524 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(docdir)" -docDATA_INSTALL = $(INSTALL_DATA) -DATA = $(doc_DATA) -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEBUG = @DEBUG@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LIB_AGE = @LIB_AGE@ -LIB_CURRENT = @LIB_CURRENT@ -LIB_REVISION = @LIB_REVISION@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPT = @OPT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PROFILE = @PROFILE@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SIZE16 = @SIZE16@ -SIZE32 = @SIZE32@ -SIZE64 = @SIZE64@ -STRIP = @STRIP@ -USIZE16 = @USIZE16@ -USIZE32 = @USIZE32@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -SUBDIRS = libogg -doc_DATA = framing.html index.html oggstream.html ogg-multiplex.html \ - stream.png vorbisword2.png white-ogg.png white-xifish.png \ - rfc3533.txt rfc5334.txt skeleton.html - -EXTRA_DIST = $(doc_DATA) -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-docDATA: $(doc_DATA) - @$(NORMAL_INSTALL) - test -z "$(docdir)" || $(mkdir_p) "$(DESTDIR)$(docdir)" - @list='$(doc_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(docDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(docdir)/$$f'"; \ - $(docDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(docdir)/$$f"; \ - done - -uninstall-docDATA: - @$(NORMAL_UNINSTALL) - @list='$(doc_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(docdir)/$$f'"; \ - rm -f "$(DESTDIR)$(docdir)/$$f"; \ - done - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(docdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: install-docDATA - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-docDATA uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-docDATA install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-am uninstall-docDATA \ - uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/doc/framing.html b/doc/framing.html deleted file mode 100644 index 96347c0..0000000 --- a/doc/framing.html +++ /dev/null @@ -1,431 +0,0 @@ - - - - - -Ogg Documentation - - - - - - - - - -

    Ogg logical bitstream framing

    - -

    Ogg bitstreams

    - -

    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.

    - -

    Application example: Vorbis

    - -

    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.

    - -

    Design constraints for Ogg bitstreams

    - -
      -
    1. True streaming; we must not need to seek to build a 100% - complete bitstream.
    2. -
    3. Use no more than approximately 1-2% of bitstream bandwidth for - packet boundary marking, high-level framing, sync and seeking.
    4. -
    5. Specification of absolute position within the original sample - stream.
    6. -
    7. Simple mechanism to ease limited editing, such as a simplified - concatenation mechanism.
    8. -
    9. Detection of corruption, recapture after error and direct, random - access to data at arbitrary positions in the bitstream.
    10. -
    - -

    Logical and Physical Bitstreams

    - -

    A logical Ogg bitstream is a contiguous stream of -sequential pages belonging only to the logical bitstream. A -physical 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 -Ogg bitstream overview. The exact -mapping of raw Vorbis packets into a valid Ogg Vorbis physical -bitstream is described in the Vorbis I Specification.

    - -

    Bitstream structure

    - -

    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.

    - -

    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.

    - -

    Packet segmentation

    - -

    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.

    - -

    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.

    - -

    An example should make the basic concept clear:

    - -
    -
    -raw packet:
    -  ___________________________________________
    - |______________packet data__________________| 753 bytes
    -
    -lacing values for page header segment table: 255,255,243
    -
    -
    - -

    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 overhead (1 byte) and large packets, over 512 bytes or -so, see a fairly constant ~.5% overhead on encoding space.

    - -

    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:

    - -
    
    -raw packet:
    -  _______________________________
    - |________packet data____________|          255 bytes
    -
    -lacing values: 255, 0
    -
    - -

    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.

    - -

    Packets spanning pages

    - -

    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).

    - -

    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).

    - -

    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.

    - -

    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.

    - -

    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).

    - -

    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.

    - -

    Page header

    - -

    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.

    - -

    capture_pattern

    - -

    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).

    - -
    
    - byte value
    -
    -  0  0x4f 'O'
    -  1  0x67 'g'
    -  2  0x67 'g'
    -  3  0x53 'S'  
    -
    - -

    stream_structure_version

    - -

    The capture pattern is followed by the stream structure revision:

    - -
    
    - byte value
    -
    -  4  0x00
    -
    - -

    header_type_flag

    - -

    The header type flag identifies this page's context in the bitstream:

    - -
    
    - 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)
    -
    - -

    absolute granule position

    - -

    (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.

    - -

    A special value of '-1' (in two's complement) indicates that no packets -finish on this page.

    - -
    
    - byte value
    -
    -  6  0xXX LSB
    -  7  0xXX
    -  8  0xXX
    -  9  0xXX
    - 10  0xXX
    - 11  0xXX
    - 12  0xXX
    - 13  0xXX MSB
    -
    - -

    stream serial number

    - -

    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:

    - -
    
    - byte value
    -
    - 14  0xXX LSB
    - 15  0xXX
    - 16  0xXX
    - 17  0xXX MSB
    -
    - -

    page sequence no

    - -

    Page counter; lets us know if a page is lost (useful where packets -span page boundaries).

    - -
    
    - byte value
    -
    - 18  0xXX LSB
    - 19  0xXX
    - 20  0xXX
    - 21  0xXX MSB
    -
    - -

    page checksum

    - -

    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.

    - -

    (A thorough discussion of CRC algorithms can be found in "A -Painless Guide to CRC Error Detection Algorithms" by Ross -Williams ross@ross.net.)

    - -
    
    - byte value
    -
    - 22  0xXX LSB
    - 23  0xXX
    - 24  0xXX
    - 25  0xXX MSB
    -
    - -

    page_segments

    - -

    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).

    - -
    
    - byte value
    -
    - 26 0x00-0xff (0-255)
    -
    - -

    segment_table (containing packet lacing values)

    - -

    The lacing values for each packet segment physically appearing in -this page are listed in contiguous order.

    - -
    
    - byte value
    -
    - 27 0x00-0xff (0-255)
    - [...]
    - n  0x00-0xff (0-255, n=page_segments+26)
    -
    - -

    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.

    - -

    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.

    - - - - - diff --git a/doc/index.html b/doc/index.html deleted file mode 100644 index 900ef73..0000000 --- a/doc/index.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - -Ogg Documentation - - - - - - - - - -

    Ogg Documentation

    - -

    Ogg programming documentation

    - - - -

    Ogg bitsream documentation

    - - - -

    RFC documentation

    - - - - - - - diff --git a/doc/libogg/Makefile.am b/doc/libogg/Makefile.am deleted file mode 100644 index c83f4e7..0000000 --- a/doc/libogg/Makefile.am +++ /dev/null @@ -1,27 +0,0 @@ -## Process this file with automake to produce Makefile.in - -docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/ogg - -doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ - general.html index.html ogg_packet.html ogg_packet_clear.html\ - ogg_page.html ogg_page_bos.html ogg_page_checksum_set.html\ - ogg_page_continued.html ogg_page_eos.html ogg_page_granulepos.html\ - ogg_page_packets.html ogg_page_pageno.html ogg_page_serialno.html\ - ogg_page_version.html ogg_stream_clear.html ogg_stream_destroy.html\ - ogg_stream_eos.html ogg_stream_flush.html ogg_stream_init.html\ - ogg_stream_packetin.html ogg_stream_packetout.html\ - ogg_stream_packetpeek.html ogg_stream_pagein.html\ - ogg_stream_pageout.html ogg_stream_reset.html\ - ogg_stream_reset_serialno.html ogg_stream_state.html\ - ogg_sync_buffer.html ogg_sync_clear.html ogg_sync_destroy.html\ - ogg_sync_init.html ogg_sync_pageout.html ogg_sync_pageseek.html\ - ogg_sync_reset.html ogg_sync_state.html ogg_sync_wrote.html\ - oggpack_adv.html oggpack_adv1.html oggpack_bits.html\ - oggpack_buffer.html oggpack_bytes.html oggpack_get_buffer.html\ - oggpack_look.html oggpack_look1.html oggpack_read.html\ - oggpack_read1.html oggpack_readinit.html oggpack_reset.html\ - oggpack_write.html oggpack_writealign.html oggpack_writeclear.html\ - oggpack_writecopy.html oggpack_writeinit.html oggpack_writetrunc.html\ - overview.html reference.html style.css - -EXTRA_DIST = $(doc_DATA) diff --git a/doc/libogg/Makefile.in b/doc/libogg/Makefile.in deleted file mode 100644 index 01d8084..0000000 --- a/doc/libogg/Makefile.in +++ /dev/null @@ -1,383 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/libogg -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(docdir)" -docDATA_INSTALL = $(INSTALL_DATA) -DATA = $(doc_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEBUG = @DEBUG@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LIB_AGE = @LIB_AGE@ -LIB_CURRENT = @LIB_CURRENT@ -LIB_REVISION = @LIB_REVISION@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPT = @OPT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PROFILE = @PROFILE@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SIZE16 = @SIZE16@ -SIZE32 = @SIZE32@ -SIZE64 = @SIZE64@ -STRIP = @STRIP@ -USIZE16 = @USIZE16@ -USIZE32 = @USIZE32@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/ogg -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -doc_DATA = bitpacking.html datastructures.html decoding.html encoding.html\ - general.html index.html ogg_packet.html ogg_packet_clear.html\ - ogg_page.html ogg_page_bos.html ogg_page_checksum_set.html\ - ogg_page_continued.html ogg_page_eos.html ogg_page_granulepos.html\ - ogg_page_packets.html ogg_page_pageno.html ogg_page_serialno.html\ - ogg_page_version.html ogg_stream_clear.html ogg_stream_destroy.html\ - ogg_stream_eos.html ogg_stream_flush.html ogg_stream_init.html\ - ogg_stream_packetin.html ogg_stream_packetout.html\ - ogg_stream_packetpeek.html ogg_stream_pagein.html\ - ogg_stream_pageout.html ogg_stream_reset.html\ - ogg_stream_reset_serialno.html ogg_stream_state.html\ - ogg_sync_buffer.html ogg_sync_clear.html ogg_sync_destroy.html\ - ogg_sync_init.html ogg_sync_pageout.html ogg_sync_pageseek.html\ - ogg_sync_reset.html ogg_sync_state.html ogg_sync_wrote.html\ - oggpack_adv.html oggpack_adv1.html oggpack_bits.html\ - oggpack_buffer.html oggpack_bytes.html oggpack_get_buffer.html\ - oggpack_look.html oggpack_look1.html oggpack_read.html\ - oggpack_read1.html oggpack_readinit.html oggpack_reset.html\ - oggpack_write.html oggpack_writealign.html oggpack_writeclear.html\ - oggpack_writecopy.html oggpack_writeinit.html oggpack_writetrunc.html\ - overview.html reference.html style.css - -EXTRA_DIST = $(doc_DATA) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/libogg/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/libogg/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-docDATA: $(doc_DATA) - @$(NORMAL_INSTALL) - test -z "$(docdir)" || $(mkdir_p) "$(DESTDIR)$(docdir)" - @list='$(doc_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(docDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(docdir)/$$f'"; \ - $(docDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(docdir)/$$f"; \ - done - -uninstall-docDATA: - @$(NORMAL_UNINSTALL) - @list='$(doc_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(docdir)/$$f'"; \ - rm -f "$(DESTDIR)$(docdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(docdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-docDATA - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-docDATA uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-docDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-docDATA uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/doc/libogg/bitpacking.html b/doc/libogg/bitpacking.html deleted file mode 100644 index 20469e5..0000000 --- a/doc/libogg/bitpacking.html +++ /dev/null @@ -1,103 +0,0 @@ - - - -libogg - Bitpacking Functions - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    Bitpacking Functions

    -

    Libogg contains a basic bitpacking library that is useful for manipulating data within a buffer. -

    -All the libogg specific functions are declared in "ogg/ogg.h". -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    functionpurpose
    oggpack_writeinitInitializes a buffer for writing using this bitpacking library.
    oggpack_writecheckAsynchronously checks error status of bitpacker write buffer.
    oggpack_resetClears and resets the buffer to the initial position.
    oggpack_writeclearFrees the memory used by the buffer.
    oggpack_readinitInitializes a buffer for reading using this bitpacking library.
    oggpack_writeWrites bytes to the specified location within the buffer.
    oggpack_lookLook at a specified number of bits, <=32, without advancing the location pointer.
    oggpack_look1Looks at one bit without advancing the location pointer.
    oggpack_advAdvances the location pointer by a specified number of bits.
    oggpack_adv1Advances the location pointer by one bit.
    oggpack_readReads a specified number of bits from the buffer.
    oggpack_read1Reads one bit from the buffer.
    oggpack_bytesReturns the total number of bytes contained within the buffer.
    oggpack_bitsReturns the total number of bits contained within the buffer.
    oggpack_get_bufferReturns a pointer to the buffer encapsulated within the oggpack_buffer struct.
    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/datastructures.html b/doc/libogg/datastructures.html deleted file mode 100644 index b339a0a..0000000 --- a/doc/libogg/datastructures.html +++ /dev/null @@ -1,59 +0,0 @@ - - - -libogg - Base Data Structures - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    Base Data Structures

    -

    Libogg uses several data structures to hold data and state information. -

    -All the libogg specific data structures are declared in "ogg/ogg.h". -

    - - - - - - - - - - - - - - - - - - - - - - -
    datatypepurpose
    ogg_pageThis structure encapsulates data into one ogg bitstream page.
    ogg_stream_stateThis structure contains current encode/decode data for a logical bitstream.
    ogg_packetThis structure encapsulates the data and metadata for a single Ogg packet.
    ogg_sync_stateContains bitstream synchronization information.
    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/decoding.html b/doc/libogg/decoding.html deleted file mode 100644 index 322d4a9..0000000 --- a/doc/libogg/decoding.html +++ /dev/null @@ -1,104 +0,0 @@ - - - -libogg - Decoding - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    Decoding

    -

    Libogg contains a set of functions used in the decoding process. -

    -All the libogg specific functions are declared in "ogg/ogg.h". -

    -

    Decoding is based around the ogg synchronization layer. The ogg_sync_state struct coordinates between incoming data and the decoder. We read data into the synchronization layer, submit the data to the stream, and output raw packets to the decoder. -

    Decoding through the Ogg layer follows a specific logical sequence. A read loop follows these logical steps: -

    -

    In practice, streams are more complex, and Ogg also must handle headers, incomplete or dropped pages, and other errors in input. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    functionpurpose
    ogg_sync_initInitializes an Ogg bitstream.
    ogg_sync_clearClears the status information from the synchronization struct. -
    ogg_sync_resetResets the synchronization status to initial values.
    ogg_sync_destroyFrees the synchronization struct.
    ogg_sync_checkCheck for asynchronous errors.
    ogg_sync_bufferExposes a buffer from the synchronization layer in order to read data.
    ogg_sync_wroteTells the synchronization layer how many bytes were written into the buffer.
    ogg_sync_pageseekFinds the borders of pages and resynchronizes the stream.
    ogg_sync_pageoutOutputs a page from the synchronization layer.
    ogg_stream_pageinSubmits a complete page to the stream layer.
    ogg_stream_packetoutOutputs a packet to the codec-specific decoding engine.
    ogg_stream_packetpeekProvides access to the next packet in the bitstream without -advancing decoding.
    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/encoding.html b/doc/libogg/encoding.html deleted file mode 100644 index 61a650f..0000000 --- a/doc/libogg/encoding.html +++ /dev/null @@ -1,68 +0,0 @@ - - - -libogg - Encoding - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    Encoding

    -

    Libogg contains a set of functions used in the encoding process. -

    -All the libogg specific functions are declared in "ogg/ogg.h". -

    -

    When encoding, the encoding engine will output raw packets which must be placed into an Ogg bitstream. -

    Raw packets are inserted into the stream, and an ogg_page is output when enough packets have been written to create a full page. The pages output are pointers to buffered packet segments, and can then be written out and saved as an ogg stream. -

    There are a couple of basic steps: -

      -
    • Use the encoding engine to produce a raw packet of data. -
    • Call ogg_stream_packetin to submit a raw packet to the stream. -
    • Use ogg_stream_pageout to output a page, if enough data has been submitted. Otherwise, continue submitting data. -
    -

    - - - - - - - - - - - - - - - - - - - - -
    functionpurpose
    ogg_stream_packetinSubmits a raw packet to the streaming layer, so that it can be formed into a page.
    ogg_stream_ioveciniovec version of ogg_stream_packetin() above.
    ogg_stream_pageoutOutputs a completed page if the stream contains enough packets to form a full page. -
    ogg_stream_flushForces any remaining packets in the stream to be returned as a page of any size. -
    - -

    -
    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/general.html b/doc/libogg/general.html deleted file mode 100644 index 59de3f3..0000000 --- a/doc/libogg/general.html +++ /dev/null @@ -1,109 +0,0 @@ - - - -libogg - General Functions - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    General Functions

    -

    Libogg contains several functions which are generally useful when using Ogg streaming, whether encoding or decoding. -

    -All the libogg specific functions are declared in "ogg/ogg.h". -

    -

    These functions can be used to manipulate some of the basic elements of Ogg - streams and pages. Streams and pages are important during both the encode and decode process. -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    functionpurpose
    ogg_stream_initInitializes an Ogg bitstream.
    ogg_stream_clearClears the storage within the Ogg stream, but does not free the stream itself. -
    ogg_stream_resetResets the stream status to its initial position.
    ogg_stream_destroyFrees the entire Ogg stream.
    ogg_stream_checkCheck for asyncronous errors.
    ogg_stream_eosIndicates whether we are at the end of the stream.
    ogg_page_versionReturns the version of ogg_page that this stream/page uses
    ogg_page_continuedIndicates if the current page contains a continued packet from the last page.
    ogg_page_packetsIndicates the number of packets contained in a page.
    ogg_page_bosIndicates if the current page is the beginning of the stream.
    ogg_page_eosIndicates if the current page is the end of the stream.
    ogg_page_granuleposReturns the precise playback location of this page.
    ogg_page_serialnoReturns the unique serial number of the logical bitstream associated with this page.
    ogg_page_pagenoReturns the sequential page number for this page.
    ogg_packet_clearClears the ogg_packet structure.
    ogg_page_checksum_setChecksums an ogg_page.
    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/index.html b/doc/libogg/index.html deleted file mode 100644 index d51e068..0000000 --- a/doc/libogg/index.html +++ /dev/null @@ -1,39 +0,0 @@ - - - -libogg - Documentation - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    Libogg Documentation

    - -

    -Libogg contains necessary functionality to create, decode, and work with Ogg bitstreams. -

    This document explains how to use the libogg API in detail. -

    -libogg api overview
    -libogg api reference
    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/ogg_packet.html b/doc/libogg/ogg_packet.html deleted file mode 100644 index ddd57df..0000000 --- a/doc/libogg/ogg_packet.html +++ /dev/null @@ -1,75 +0,0 @@ - - - -libogg - datatype - ogg_packet - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_packet

    - -

    declared in "ogg/ogg.h"

    - -

    -The ogg_packet struct encapsulates the data for a single raw packet of data -and is used to transfer data between the ogg framing layer and the handling codec. -

    - - - - - -
    -
    
    -typedef struct {
    -  unsigned char *packet;
    -  long  bytes;
    -  long  b_o_s;
    -  long  e_o_s;
    -
    -  ogg_int64_t  granulepos;
    -  ogg_int64_t  packetno; 
    -
    -} ogg_packet;
    -
    -
    - -

    Relevant Struct Members

    -
    -
    packet
    -
    Pointer to the packet's data. This is treated as an opaque type by the ogg layer.
    -
    bytes
    -
    Indicates the size of the packet data in bytes. Packets can be of arbitrary size.
    -
    b_o_s
    -
    Flag indicating whether this packet begins a logical bitstream. 1 indicates this is the first packet, 0 indicates any other position in the stream.
    -
    e_o_s
    -
    Flag indicating whether this packet ends a bitstream. 1 indicates the last packet, 0 indicates any other position in the stream.
    -
    granulepos
    -
    A number indicating the position of this packet in the decoded data. This is the last sample, frame or other unit of information ('granule') that can be completely decoded from this packet.
    -
    packetno
    -
    Sequential number of this packet in the ogg bitstream.
    -
    - - -

    -
    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/ogg_packet_clear.html b/doc/libogg/ogg_packet_clear.html deleted file mode 100644 index fa3ef17..0000000 --- a/doc/libogg/ogg_packet_clear.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - ogg_packet_clear - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_packet_clear

    - -

    declared in "ogg/ogg.h";

    - -

    This function clears the memory used by the ogg_packet struct, and frees the internal allocated memory, but does not free -the structure itself. -

    - - - - -
    -
    
    -int ogg_packet_clear(ogg_packet *op);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the ogg_packet struct to be cleared.
    -
    - - -

    Return Values

    -
    -
  • -None.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_page.html b/doc/libogg/ogg_page.html deleted file mode 100644 index e7867c6..0000000 --- a/doc/libogg/ogg_page.html +++ /dev/null @@ -1,74 +0,0 @@ - - - -libogg - datatype - ogg_page - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_page

    - -

    declared in "ogg/ogg.h"

    - -

    -The ogg_page struct encapsulates the data for an Ogg page. -

    -Ogg pages are the fundamental unit of framing and interleave in an ogg bitstream. -They are made up of packet segments of 255 bytes each. There can be as many as -255 packet segments per page, for a maximum page size of a little under 64 kB. -This is not a practical limitation as the segments can be joined across -page boundaries allowing packets of arbitrary size. In practice pages are -usually around 4 kB. -

    -

    For a complete description of ogg pages and headers, please refer to the framing document. - - - - - -
    -
    
    -typedef struct {
    -  unsigned char *header;
    -  long           header_len;
    -  unsigned char *body;
    -  long           body_len;
    -} ogg_page;
    -
    -
    - -

    Relevant Struct Members

    -
    -
    header
    -
    Pointer to the page header for this page. The exact contents of this header are defined in the framing spec document.
    -
    header_len
    -
    Length of the page header in bytes. -
    body
    -
    Pointer to the data for this page.
    -
    body_len
    -
    Length of the body data in bytes.
    -
    - - -

    -
    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/ogg_page_bos.html b/doc/libogg/ogg_page_bos.html deleted file mode 100644 index 1fd0280..0000000 --- a/doc/libogg/ogg_page_bos.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - ogg_page_bos - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_page_bos

    - -

    declared in "ogg/ogg.h";

    - -

    Indicates whether this page is at the beginning of the logical bitstream. -

    -

    - - - - -
    -
    
    -int ogg_page_bos(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -greater than 0 if this page is the beginning of a bitstream.
  • -
  • -0 if this page is from any other location in the stream.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_page_checksum_set.html b/doc/libogg/ogg_page_checksum_set.html deleted file mode 100644 index daa188e..0000000 --- a/doc/libogg/ogg_page_checksum_set.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - ogg_page_checksum_set - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_page_checksum_set

    - -

    declared in "ogg/ogg.h";

    - -

    Checksums an ogg_page. -

    -

    - - - - -
    -
    
    -int ogg_page_checksum_set(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to an ogg_page struct.
    -
    - - -

    Return Values

    -
    -None. -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_page_continued.html b/doc/libogg/ogg_page_continued.html deleted file mode 100644 index ea860b1..0000000 --- a/doc/libogg/ogg_page_continued.html +++ /dev/null @@ -1,64 +0,0 @@ - - - -libogg - function - ogg_page_version - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_page_continued

    - -

    declared in "ogg/ogg.h";

    - -

    Indicates whether this page contains packet data which has been continued from the previous page. -

    - - - - -
    -
    
    -int ogg_page_continued(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -1 if this page contains packet data continued from the last page.
  • -
  • -0 if this page does not contain continued data.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_page_eos.html b/doc/libogg/ogg_page_eos.html deleted file mode 100644 index e3c4c6c..0000000 --- a/doc/libogg/ogg_page_eos.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - ogg_page_eos - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_page_eos

    - -

    declared in "ogg/ogg.h";

    - -

    Indicates whether this page is at the end of the logical bitstream. -

    -

    - - - - -
    -
    
    -int ogg_page_eos(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -greater than zero if this page contains the end of a bitstream.
  • -
  • -0 if this page is from any other location in the stream.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_page_granulepos.html b/doc/libogg/ogg_page_granulepos.html deleted file mode 100644 index 936ff56..0000000 --- a/doc/libogg/ogg_page_granulepos.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - ogg_page_granulepos - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_page_granulepos

    - -

    declared in "ogg/ogg.h";

    - -

    Returns the exact granular position of the packet data contained at the end of this page. -

    This is useful for tracking location when seeking or decoding. -

    For example, in audio codecs this position is the pcm sample number and in video this is the frame number. -

    -

    - - - - -
    -
    
    -ogg_in64_t ogg_page_granulepos(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -n is the specific last granular position of the decoded data contained in the page.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_page_packets.html b/doc/libogg/ogg_page_packets.html deleted file mode 100644 index 05203e1..0000000 --- a/doc/libogg/ogg_page_packets.html +++ /dev/null @@ -1,75 +0,0 @@ - - - -libogg - function - ogg_page_packets - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_page_packets

    - -

    declared in "ogg/ogg.h";

    - -

    Returns the number of packets that are completed on this page. If the -leading packet is begun on a previous page, but ends on this page, it's -counted. -

    -

    - - - - -
    -
    
    -int ogg_page_packets(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -If a page consists of a packet begun on a previous page, and a new packet -begun (but not completed) on this page, the return will be:
    -
    -ogg_page_packets(page) will return 1,
    -ogg_page_continued(paged) will return non-zero.
    -

    -If a page happens to be a single packet that was begun on a previous page, and -spans to the next page (in the case of a three or more page packet), the -return will be:
    -
    -ogg_page_packets(page) will return 0,
    -ogg_page_continued(page) will return non-zero.
    -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_page_pageno.html b/doc/libogg/ogg_page_pageno.html deleted file mode 100644 index f8983d7..0000000 --- a/doc/libogg/ogg_page_pageno.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - ogg_page_pageno - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_page_pageno

    - -

    declared in "ogg/ogg.h";

    - -

    Returns the sequential page number. -

    This is useful for ordering pages or determining when pages have been lost. -

    - - - - -
    -
    
    -long ogg_page_pageno(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -n is the page number for this page.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_page_serialno.html b/doc/libogg/ogg_page_serialno.html deleted file mode 100644 index b2a63ca..0000000 --- a/doc/libogg/ogg_page_serialno.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - ogg_page_serialno - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_page_serialno

    - -

    declared in "ogg/ogg.h";

    - -

    Returns the unique serial number for the logical bitstream of this page. Each page contains the serial number for the logical bitstream that it belongs to. -

    -

    - - - - -
    -
    
    -int ogg_page_serialno(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -n is the serial number for this page.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_page_version.html b/doc/libogg/ogg_page_version.html deleted file mode 100644 index 429e89a..0000000 --- a/doc/libogg/ogg_page_version.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - ogg_page_version - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_page_version

    - -

    declared in "ogg/ogg.h";

    - -

    This function returns the version of ogg_page used in this page. -

    In current versions of libogg, all ogg_page structs have the same version, so 0 should always be returned. -

    - - - - -
    -
    
    -int ogg_page_version(ogg_page *og);
    -
    -
    -
    - -

    Parameters

    -
    -
    og
    -
    Pointer to the current ogg_page struct.
    -
    - - -

    Return Values

    -
    -
  • -n is the version number. In the current version of Ogg, the version number is always 0. Nonzero return values indicate an error in page encoding.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_stream_clear.html b/doc/libogg/ogg_stream_clear.html deleted file mode 100644 index a3cf6b6..0000000 --- a/doc/libogg/ogg_stream_clear.html +++ /dev/null @@ -1,61 +0,0 @@ - - - -libogg - function - ogg_stream_clear - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_clear

    - -

    declared in "ogg/ogg.h";

    - -

    This function clears and frees the internal memory used by the ogg_stream_state struct, but does not free the structure itself. It is safe to call ogg_stream_clear on the same structure more than once. -

    - - - - -
    -
    
    -int ogg_stream_clear(ogg_stream_state *os);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the ogg_stream_state struct to be cleared.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_stream_destroy.html b/doc/libogg/ogg_stream_destroy.html deleted file mode 100644 index 1b4349b..0000000 --- a/doc/libogg/ogg_stream_destroy.html +++ /dev/null @@ -1,71 +0,0 @@ - - - -libogg - function - ogg_stream_destroy - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_destroy

    - -

    declared in "ogg/ogg.h";

    - -

    This function frees the internal memory used by -the ogg_stream_state struct as -well as the structure itself. - -

    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.

    - -

    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 -ogg_stream_clear instead.

    - -

    - - - - -
    -
    
    -int ogg_stream_destroy(ogg_stream_state *os);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the ogg_stream_state struct to be destroyed.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_stream_eos.html b/doc/libogg/ogg_stream_eos.html deleted file mode 100644 index e8cbe70..0000000 --- a/doc/libogg/ogg_stream_eos.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - ogg_stream_eos - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_eos

    - -

    declared in "ogg/ogg.h";

    - -

    This function indicates whether we have reached the end of the stream or not. -

    - - - - -
    -
    
    -int ogg_stream_eos(ogg_stream_state *os);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the current ogg_stream_state struct.
    -
    - - -

    Return Values

    -
    -
  • 1 if we are at the end of the stream or an internal error occurred.
  • -
  • -0 if we have not yet reached the end of the stream.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_stream_flush.html b/doc/libogg/ogg_stream_flush.html deleted file mode 100644 index a339d14..0000000 --- a/doc/libogg/ogg_stream_flush.html +++ /dev/null @@ -1,67 +0,0 @@ - - - -libogg - function - ogg_stream_flush - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_flush

    - -

    declared in "ogg/ogg.h";

    - -

    This function checks for remaining packets inside the stream and forces remaining packets into a page, regardless of the size of the page. -

    This should only be used when you want to flush an undersized page from the middle of the stream. Otherwise, ogg_stream_pageout should always be used. -

    This function can be used to verify that all packets have been flushed. If the return value is 0, all packets have been placed into a page. - -

    - - - - -
    -
    
    -int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to a previously declared ogg_stream_state struct, which represents the current logical bitstream.
    -
    og
    -
    Pointer to a page of data. The remaining packets in the stream will be placed into this page, if any remain. -
    - - -

    Return Values

    -
    -
  • 0 means that all packet data has already been flushed into pages, and there are no packets to put into the page. 0 is also returned in the case of an ogg_stream_state that has been cleared explicitly or implicitly due to an internal error.
  • -
  • -Nonzero means that remaining packets have successfully been flushed into the page.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_stream_init.html b/doc/libogg/ogg_stream_init.html deleted file mode 100644 index 7342773..0000000 --- a/doc/libogg/ogg_stream_init.html +++ /dev/null @@ -1,66 +0,0 @@ - - - -libogg - function - ogg_stream_init - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_init

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to initialize an ogg_stream_state struct and allocates appropriate memory in preparation for encoding or decoding. -

    It also assigns the stream a given serial number. -

    - - - - -
    -
    
    -int ogg_stream_init(ogg_stream_state *os,int serialno);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the ogg_stream_state struct that we will be initializing.
    -
    serialno
    -
    Serial number that we will attach to this stream.
    -
    - - -

    Return Values

    -
    -
  • -0 if successful
  • -
  • --1 if unsuccessful.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_stream_packetin.html b/doc/libogg/ogg_stream_packetin.html deleted file mode 100644 index b683c95..0000000 --- a/doc/libogg/ogg_stream_packetin.html +++ /dev/null @@ -1,72 +0,0 @@ - - - -libogg - function - ogg_stream_packetin - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_packetin

    - -

    declared in "ogg/ogg.h";

    - -

    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.

    - -

    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 ogg_stream_state, so the caller -is free to alter the contents of op after this call has returned. - -

    - - - - -
    -
    
    -int ogg_stream_packetin(ogg_stream_state *os,ogg_packet *op);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to a previously declared ogg_stream_state struct.
    -
    op
    -
    Pointer to the packet we are putting into the bitstream. -
    - - -

    Return Values

    -
    -
  • -0 returned on success. -1 returned in the event of internal error.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_stream_packetout.html b/doc/libogg/ogg_stream_packetout.html deleted file mode 100644 index fc7ffad..0000000 --- a/doc/libogg/ogg_stream_packetout.html +++ /dev/null @@ -1,85 +0,0 @@ - - - -libogg - function - ogg_stream_packetout - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_packetout

    - -

    declared in "ogg/ogg.h";

    - -

    This function assembles a data packet for output to the codec -decoding engine. The data has already been submitted to the -ogg_stream_state and broken -into segments. Each successive call returns the next complete packet -built from those segments.

    - -

    In a typical decoding situation, this should be used after calling -ogg_stream_pagein() 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.

    - -

    The op 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.

    - -

    - - - - -
    -
    
    -int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to a previously declared ogg_stream_state struct. Before this function is called, an ogg_page should be submitted to the stream using ogg_stream_pagein().
    -
    op
    -
    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.
    -
    - - -

    Return Values

    -
    -
      -
    • -1 if we are out of sync and there is a gap in the data. This is usually a recoverable error and subsequent calls to ogg_stream_packetout are likely to succeed. op has not been updated.
    • -
    • 0 if there is insufficient data available to complete a packet, or on unrecoverable internal error occurred. op has not been updated. -
    • 1 if a packet was assembled normally. op contains the next packet from the stream.
    • -
    -
    - -

    - -
    - - - - - - - - - -

    copyright © 2000-2010 xiph.org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/ogg_stream_packetpeek.html b/doc/libogg/ogg_stream_packetpeek.html deleted file mode 100644 index d2d8562..0000000 --- a/doc/libogg/ogg_stream_packetpeek.html +++ /dev/null @@ -1,85 +0,0 @@ - - - -libogg - function - ogg_stream_packetpeek - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_packetpeek

    - -

    declared in "ogg/ogg.h";

    - -

    This function attempts to assemble a raw data packet and returns -it without advancing decoding.

    - -

    In a typical situation, this would be called -speculatively after ogg_stream_pagein() to check -the packet contents before handing it off to a codec for -decompression. To advance page decoding and remove -the packet from the sync structure, call -ogg_stream_packetout().

    - -

    - - - - - -
    -
    
    -int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to a previously declared -ogg_stream_state struct. Before this -function is called, an ogg_page should be -submitted to the stream using -ogg_stream_pagein().
    -
    op
    -
    Pointer to the next packet available in the bitstream, if -any. A NULL value may be passed in the case of a simple "is there a -packet?" check.
    -
    - - -

    Return Values

    -
    -
      -
    • -1 if there's no packet available due to lost sync or a hole in the data.
    • -
    • 0 if there is insufficient data available to complete a packet, or on unrecoverable internal error occurred.
    • -
    • 1 if a packet is available.
    • -
    -
    - - -

    - -
    - - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_stream_pagein.html b/doc/libogg/ogg_stream_pagein.html deleted file mode 100644 index 316ba30..0000000 --- a/doc/libogg/ogg_stream_pagein.html +++ /dev/null @@ -1,67 +0,0 @@ - - - -libogg - function - ogg_stream_pagein - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_pagein

    - -

    declared in "ogg/ogg.h";

    - -

    This function adds a complete page to the bitstream. -

    In a typical decoding situation, this function would be called after using ogg_sync_pageout to create a valid ogg_page struct. -

    Internally, this function breaks the page into packet segments in preparation for outputting a valid packet to the codec decoding layer. - -

    - - - - -
    -
    
    -int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
    -
    og
    -
    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. -
    - - -

    Return Values

    -
    -
  • -1 indicates failure. This means that the serial number of the page did not match the serial number of the bitstream, the page version was incorrect, or an internal error accurred.
  • -
  • -0 means that the page was successfully submitted to the bitstream.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_stream_pageout.html b/doc/libogg/ogg_stream_pageout.html deleted file mode 100644 index c07a975..0000000 --- a/doc/libogg/ogg_stream_pageout.html +++ /dev/null @@ -1,84 +0,0 @@ - - - -libogg - function - ogg_stream_pageout - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_pageout

    - -

    declared in "ogg/ogg.h";

    - -

    This function forms packets into pages.

    - -

    In a typical encoding situation, this would be called after using ogg_stream_packetin() 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. The function is typically called in a loop until there -are no more pages ready for output.

    - -

    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 ogg_stream_flush() -if immediate page generation is desired. This may be occasionally -necessary, for example, to limit the temporal latency of a variable -bitrate stream.

    - -

    - - - - -
    -
    
    -int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to a previously declared ogg_stream struct, which represents the current logical bitstream.
    -
    og
    -
    Pointer to an ogg_page 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().
    -
    - - -

    Return Values

    -
    -
  • Zero means that insufficient data has accumulated to fill a page, or an internal error occurred. In -this case og is not modified.
  • -
  • Non-zero means that a page has been completed and returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 xiph.org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_stream_reset.html b/doc/libogg/ogg_stream_reset.html deleted file mode 100644 index 88d4e19..0000000 --- a/doc/libogg/ogg_stream_reset.html +++ /dev/null @@ -1,61 +0,0 @@ - - - -libogg - function - ogg_stream_reset - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_reset

    - -

    declared in "ogg/ogg.h";

    - -

    This function sets values in the ogg_stream_state struct back to initial values. -

    - - - - -
    -
    
    -int ogg_stream_reset(ogg_stream_state *os);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the ogg_stream_state struct to be cleared.
    -
    - - -

    Return Values

    -
    -
  • -0 indicates success. nonzero is returned on internal error.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_stream_reset_serialno.html b/doc/libogg/ogg_stream_reset_serialno.html deleted file mode 100644 index 6f2688c..0000000 --- a/doc/libogg/ogg_stream_reset_serialno.html +++ /dev/null @@ -1,67 +0,0 @@ - - - -libogg - function - ogg_stream_reset_serialno - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_reset

    - -

    declared in "ogg/ogg.h";

    - -

    This function reinitializes the values in the -ogg_stream_state, -just like ogg_stream_reset(). -Additionally, it sets the stream serial number to the given value.

    - -

    - - - - -
    -
    
    -int ogg_stream_reset_serialno(ogg_stream_state *os, int serialno);
    -
    -
    - -

    Parameters

    -
    -
    os
    -
    Pointer to the ogg_stream_state struct to be cleared.
    -
    serialno
    -
    New stream serial number to use
    -
    - - -

    Return Values

    -
    -
  • -0 indicates success. nonzero is returned on internal error.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_stream_state.html b/doc/libogg/ogg_stream_state.html deleted file mode 100644 index e903f03..0000000 --- a/doc/libogg/ogg_stream_state.html +++ /dev/null @@ -1,121 +0,0 @@ - - - -libogg - datatype - ogg_stream_state - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_stream_state

    - -

    declared in "ogg/ogg.h"

    - -

    -The ogg_stream_state struct tracks the current encode/decode state of the current logical bitstream. -

    - - - - - -
    -
    
    -typedef struct {
    -  unsigned char   *body_data;    /* bytes from packet bodies */
    -  long    body_storage;          /* storage elements allocated */
    -  long    body_fill;             /* elements stored; fill mark */
    -  long    body_returned;         /* elements of fill returned */
    -
    -
    -  int     *lacing_vals;    /* The values that will go to the segment table */
    -  ogg_int64_t *granule_vals;      /* granulepos values for headers. Not compact
    -                             this way, but it is simple coupled to the
    -                             lacing fifo */
    -  long    lacing_storage;
    -  long    lacing_fill;
    -  long    lacing_packet;
    -  long    lacing_returned;
    -
    -  unsigned char    header[282];      /* working space for header encode */
    -  int              header_fill;
    -
    -  int     e_o_s;          /* set when we have buffered the last packet in the
    -                             logical bitstream */
    -  int     b_o_s;          /* set after we've written the initial page
    -                             of a logical bitstream */
    -  long     serialno;
    -  int      pageno;
    -  ogg_int64_t  packetno;      /* sequence number for decode; the framing
    -                             knows where there's a hole in the data,
    -                             but we need coupling so that the codec
    -                             (which is in a seperate abstraction
    -                             layer) also knows about the gap */
    -  ogg_int64_t   granulepos;
    -
    -} ogg_stream_state;
    -
    -
    - -

    Relevant Struct Members

    -
    -
    body_data
    -
    Pointer to data from packet bodies.
    -
    body_storage
    -
    Storage allocated for bodies in bytes (filled or unfilled).
    -
    body_fill
    -
    Amount of storage filled with stored packet bodies.
    -
    body_returned
    -
    Number of elements returned from storage.
    -
    lacing_vals
    -
    String of lacing values for the packet segments within the current page. Each value is a byte, indicating packet segment length.
    -
    granule_vals
    -
    Pointer to the lacing values for the packet segments within the current page.
    -
    lacing_storage
    -
    Total amount of storage (in bytes) allocated for storing lacing values.
    -
    lacing_fill
    -
    Fill marker for the current vs. total allocated storage of lacing values for the page.
    -
    lacing_packet
    -
    Lacing value for current packet segment.
    -
    lacing_returned
    -
    Number of lacing values returned from lacing_storage.
    -
    header
    -
    Temporary storage for page header during encode process, while the header is being created.
    -
    header_fill
    -
    Fill marker for header storage allocation. Used during the header creation process.
    -
    e_o_s
    -
    Marker set when the last packet of the logical bitstream has been buffered.
    -
    b_o_s
    -
    Marker set after we have written the first page in the logical bitstream.
    -
    serialno
    -
    Serial number of this logical bitstream.
    -
    pageno
    -
    Number of the current page within the stream.
    -
    packetno
    -
    Number of the current packet.
    -
    granulepos
    -
    Exact position of decoding/encoding process.
    -
    - - -

    -
    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/ogg_sync_buffer.html b/doc/libogg/ogg_sync_buffer.html deleted file mode 100644 index ed8b286..0000000 --- a/doc/libogg/ogg_sync_buffer.html +++ /dev/null @@ -1,67 +0,0 @@ - - - -libogg - function - ogg_sync_buffer - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_sync_buffer

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to provide a properly-sized buffer for writing. -

    Buffer space which has already been returned is cleared, and the buffer is extended as necessary by the size plus some additional bytes. Within the current implementation, an extra 4096 bytes are allocated, but applications should not rely on this additional buffer space. -

    The buffer exposed by this function is empty internal storage from the ogg_sync_state struct, beginning at the fill mark within the struct. -

    A pointer to this buffer is returned to be used by the calling application. - -

    - - - - -
    -
    
    -char *ogg_sync_buffer(ogg_sync_state *oy, long size);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct.
    -
    size
    -
    Size of the desired buffer. The actual size of the buffer returned will be this size plus some extra bytes (currently 4096). -
    - - -

    Return Values

    -
    -
  • -Returns a pointer to the newly allocated buffer or NULL on error
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_sync_clear.html b/doc/libogg/ogg_sync_clear.html deleted file mode 100644 index 02ae40c..0000000 --- a/doc/libogg/ogg_sync_clear.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - ogg_sync_clear - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_sync_clear

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to free the internal storage of an ogg_sync_state struct and resets the struct to the initial state. To free the entire struct, ogg_sync_destroy should be used instead. In situations where the struct needs to be reset but the internal storage does not need to be freed, ogg_sync_reset should be used. - -

    - - - - -
    -
    
    -int ogg_sync_clear(ogg_sync_state *oy);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_sync_destroy.html b/doc/libogg/ogg_sync_destroy.html deleted file mode 100644 index c73cd22..0000000 --- a/doc/libogg/ogg_sync_destroy.html +++ /dev/null @@ -1,68 +0,0 @@ - - - -libogg - function - ogg_sync_destroy - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_sync_destroy

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to destroy an ogg_sync_state struct and free all memory used.

    - -

    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 ogg_sync_clear instead -to release just the internal memory.

    - -

    - - - - -
    -
    
    -int ogg_sync_destroy(ogg_sync_state *oy);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_sync_init.html b/doc/libogg/ogg_sync_init.html deleted file mode 100644 index 15e2b78..0000000 --- a/doc/libogg/ogg_sync_init.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - ogg_sync_init - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_sync_init

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to initialize an ogg_sync_state struct to a known initial value in preparation for manipulation of an Ogg bitstream. -

    The ogg_sync struct is important when decoding, as it synchronizes retrieval and return of data. - -

    - - - - -
    -
    
    -int ogg_sync_init(ogg_sync_state *oy);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct. After this function call, this struct has been initialized.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_sync_pageout.html b/doc/libogg/ogg_sync_pageout.html deleted file mode 100644 index 982168d..0000000 --- a/doc/libogg/ogg_sync_pageout.html +++ /dev/null @@ -1,77 +0,0 @@ - - - -libogg - function - ogg_sync_pageout - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_sync_pageout

    - -

    declared in "ogg/ogg.h";

    - -

    This function takes the data stored in the buffer of the ogg_sync_state struct and inserts them into an ogg_page. - -

    In an actual decoding loop, this function should be called first to ensure that the buffer is cleared. The example code below illustrates a clean reading loop which will fill and output pages. -

    Caution:This function should be called before reading into the buffer to ensure that data does not remain in the ogg_sync_state struct. Failing to do so may result in a memory leak. See the example code below for details. - -

    - - - - -
    -
    
    -int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct. Normally, the internal storage of this struct should be filled with newly read data and verified using ogg_sync_wrote.
    -
    og
    -
    Pointer to page struct filled by this function. -
    - - -

    Return Values

    -
    -
  • -1 returned if stream has not yet captured sync (bytes were skipped).
  • -
  • 0 returned if more data needed or an internal error occurred.
  • -
  • 1 indicated a page was synced and returned.
  • -
    -

    - -

    Example Usage

    -
    -if (ogg_sync_pageout(&oy, &og) != 1) {
    -	buffer = ogg_sync_buffer(&oy, 8192);
    -	bytes = fread(buffer, 1, 8192, stdin);
    -	ogg_sync_wrote(&oy, bytes);
    -}
    -
    - -

    -
    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_sync_pageseek.html b/doc/libogg/ogg_sync_pageseek.html deleted file mode 100644 index f4109ef..0000000 --- a/doc/libogg/ogg_sync_pageseek.html +++ /dev/null @@ -1,68 +0,0 @@ - - - -libogg - function - ogg_sync_pageseek - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_sync_pageseek

    - -

    declared in "ogg/ogg.h";

    - -

    This function synchronizes the ogg_sync_state struct to the next ogg_page. -

    This is useful when seeking within a bitstream. ogg_sync_pageseek will synchronize to the next page in the bitstream and return information about how many bytes we advanced or skipped in order to do so. - -

    - - - - -
    -
    
    -int ogg_sync_pageseek(ogg_sync_state *oy, ogg_page *og);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct.
    -
    og
    -
    Pointer to a page (or an incomplete page) of data. This is the page we are attempting to sync. -
    - - -

    Return Values

    -
    -
  • -n means that we skipped n bytes within the bitstream.
  • -
  • -0 means that the page isn't ready and we need more data, or than an internal error occurred. No bytes have been skipped.
  • -
  • -n means that the page was synced at the current location, with a page length of n bytes. -
  • -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_sync_reset.html b/doc/libogg/ogg_sync_reset.html deleted file mode 100644 index b32fed4..0000000 --- a/doc/libogg/ogg_sync_reset.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - ogg_sync_reset - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_sync_reset

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to reset the internal counters of the ogg_sync_state struct to initial values. -

    It is a good idea to call this before seeking within a bitstream. - -

    - - - - -
    -
    
    -int ogg_sync_reset(ogg_sync_state *oy);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct.
    -
    - - -

    Return Values

    -
    -
  • -0 is always returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/ogg_sync_state.html b/doc/libogg/ogg_sync_state.html deleted file mode 100644 index 2384a5e..0000000 --- a/doc/libogg/ogg_sync_state.html +++ /dev/null @@ -1,77 +0,0 @@ - - - -libogg - datatype - ogg_sync_state - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_sync_state

    - -

    declared in "ogg/ogg.h"

    - -

    -The ogg_sync_state struct tracks the synchronization of the current page. -

    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. -

    - - - - - -
    -
    
    -typedef struct {
    -  unsigned char *data;
    -  int storage;
    -  int fill;
    -  int returned;
    -
    -  int unsynced;
    -  int headerbytes;
    -  int bodybytes;
    -} ogg_sync_state;
    -
    -
    - -

    Relevant Struct Members

    -
    -
    data
    -
    Pointer to buffered stream data.
    -
    storage
    -
    Current allocated size of the stream buffer held in *data.
    -
    fill
    -
    The number of valid bytes currently held in *data; functions as the buffer head pointer.
    -
    returned
    -
    The number of bytes at the head of *data that have already been returned as pages; functions as the buffer tail pointer.
    -
    unsynced
    -
    Synchronization state flag; nonzero if sync has not yet been attained or has been lost.
    -
    headerbytes
    -
    If synced, the number of bytes used by the synced page's header.
    -
    bodybytes
    -
    If synced, the number of bytes used by the synced page's body.
    -
    - - -

    -
    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/ogg_sync_wrote.html b/doc/libogg/ogg_sync_wrote.html deleted file mode 100644 index 27e572e..0000000 --- a/doc/libogg/ogg_sync_wrote.html +++ /dev/null @@ -1,73 +0,0 @@ - - - -libogg - function - ogg_sync_wrote - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    ogg_sync_wrote

    - -

    declared in "ogg/ogg.h";

    - -

    This function is used to tell the ogg_sync_state struct how many bytes we wrote into the buffer. - -

    -The general proceedure is to request a pointer into an internal -ogg_sync_state buffer by calling -ogg_sync_buffer(). 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.

    - -
    - - - - -
    -
    
    -int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
    -
    -
    - -

    Parameters

    -
    -
    oy
    -
    Pointer to a previously declared ogg_sync_state struct.
    -
    bytes
    -
    Number of bytes of new data written.
    -
    - - -

    Return Values

    -
    -
  • -1 if the number of bytes written overflows the internal storage of the ogg_sync_state struct or an internal error occurred. -
  • -0 in all other cases.
  • -
    - - -

    -
    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_adv.html b/doc/libogg/oggpack_adv.html deleted file mode 100644 index 64723a4..0000000 --- a/doc/libogg/oggpack_adv.html +++ /dev/null @@ -1,64 +0,0 @@ - - - -libogg - function - oggpack_adv - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_adv

    - -

    declared in "ogg/ogg.h";

    - -

    This function advances the location pointer by the specified number of bits without reading any data. - -

    - - - - -
    -
    
    -void  oggpack_adv(oggpack_buffer *b,int bits);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to the current oggpack_buffer.
    -
    bits
    -
    Number of bits to advance.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_adv1.html b/doc/libogg/oggpack_adv1.html deleted file mode 100644 index 8e21e48..0000000 --- a/doc/libogg/oggpack_adv1.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_adv1 - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_adv1

    - -

    declared in "ogg/ogg.h";

    - -

    This function advances the location pointer by one bit without reading any data. - -

    - - - - -
    -
    
    -void  oggpack_adv1(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to the current oggpack_buffer.
    -
    - - -

    Return Values

    -
    -
  • No values are returned. -
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_bits.html b/doc/libogg/oggpack_bits.html deleted file mode 100644 index 5375fca..0000000 --- a/doc/libogg/oggpack_bits.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_bits - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_bits

    - -

    declared in "ogg/ogg.h";

    - -

    This function returns the total number of bits currently in the oggpack_buffer's internal buffer. - -

    - - - - -
    -
    
    -long oggpack_bits(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    oggpack_buffer struct to be .
    -
    - - -

    Return Values

    -
    -
  • -n is the total number of bits within the current buffer.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_buffer.html b/doc/libogg/oggpack_buffer.html deleted file mode 100644 index 4a8b3dc..0000000 --- a/doc/libogg/oggpack_buffer.html +++ /dev/null @@ -1,66 +0,0 @@ - - - -libogg - datatype - oggpack_buffer - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_buffer

    - -

    declared in "ogg/ogg.h"

    - -

    -The oggpack_buffer struct is used with libogg's bitpacking functions. You should never need to directly access anything in this structure. -

    - - - - - -
    -
    
    -typedef struct {
    -  long endbyte;
    -  int  endbit;
    -
    -  unsigned char *buffer;
    -  unsigned char *ptr;
    -  long storage;
    -} oggpack_buffer;
    -
    -
    - -

    Relevant Struct Members

    -
    -
    buffer
    -
    Pointer to data being manipulated.
    -
    ptr
    -
    Location pointer to mark which data has been read.
    -
    storage
    -
    Size of buffer. -
    - - -

    -
    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/oggpack_bytes.html b/doc/libogg/oggpack_bytes.html deleted file mode 100644 index b8ac08c..0000000 --- a/doc/libogg/oggpack_bytes.html +++ /dev/null @@ -1,67 +0,0 @@ - - - -libogg - function - oggpack_bytes - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_bytes

    - -

    declared in "ogg/ogg.h";

    - -

    This function returns the total number of bytes behind the current -access point in the oggpack_buffer. -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. -

    The return value is the number of complete bytes in the buffer. -There may be extra (<8) bits. -

    - - - - -
    -
    
    -long oggpack_bytes(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    oggpack_buffer struct to be checked.
    -
    - - -

    Return Values

    -
    -
  • -n is the total number of bytes within the current buffer.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 xiph.org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_get_buffer.html b/doc/libogg/oggpack_get_buffer.html deleted file mode 100644 index 2e8da55..0000000 --- a/doc/libogg/oggpack_get_buffer.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_get_buffer - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_get_buffer

    - -

    declared in "ogg/ogg.h";

    - -

    This function returns a pointer to the data buffer within the given oggpack_buffer struct. - -

    - - - - -
    -
    
    -unsigned char *oggpack_get_buffer(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to the current oggpack_buffer.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_look.html b/doc/libogg/oggpack_look.html deleted file mode 100644 index 9c85f71..0000000 --- a/doc/libogg/oggpack_look.html +++ /dev/null @@ -1,66 +0,0 @@ - - - -libogg - function - oggpack_look - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_look

    - -

    declared in "ogg/ogg.h";

    - -

    This function looks at a specified number of bits inside the buffer without advancing the location pointer. -

    The specified number of bits are read, starting from the location pointer. -

    This function can be used to read 32 or fewer bits. - -

    - - - - -
    -
    
    -long  oggpack_look(oggpack_buffer *b,int bits);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to oggpack_buffer to be read.
    -
    bits
    -
    Number of bits to look at. For this function, must be 32 or fewer.
    -
    - - -

    Return Values

    -
    -
  • -n represents the requested bits.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_look1.html b/doc/libogg/oggpack_look1.html deleted file mode 100644 index b48b231..0000000 --- a/doc/libogg/oggpack_look1.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - oggpack_look1 - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_look1

    - -

    declared in "ogg/ogg.h";

    - -

    This function looks at the next bit without advancing the location pointer. -

    The next bit is read starting from the location pointer. - -

    - - - - -
    -
    
    -long  oggpack_look1(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to an oggpack_buffer struct containing our buffer.
    -
    - - -

    Return Values

    -
    -
  • -n represents the value of the next bit after the location pointer.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_read.html b/doc/libogg/oggpack_read.html deleted file mode 100644 index c079732..0000000 --- a/doc/libogg/oggpack_read.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - oggpack_read - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_read

    - -

    declared in "ogg/ogg.h";

    - -

    This function reads the requested number of bits from the buffer and advances the location pointer. -

    Before reading, the buffer should be initialized using oggpack_readinit. - -

    - - - - -
    -
    
    -long oggpack_read(oggpack_buffer *b,int bits);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to an oggpack_buffer struct containing buffered data to be read.
    -
    bits
    -
    Number of bits to read.
    -
    - - -

    Return Values

    -
    -
  • -n represents the requested bits.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_read1.html b/doc/libogg/oggpack_read1.html deleted file mode 100644 index 92e61a4..0000000 --- a/doc/libogg/oggpack_read1.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -libogg - function - oggpack_read1 - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_read1

    - -

    declared in "ogg/ogg.h";

    - -

    This function reads one bit from the oggpack_buffer data buffer and advances the location pointer. -

    Before reading, the buffer should be initialized using oggpack_readinit. - -

    - - - - -
    -
    
    -long  oggpack_read1(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to an oggpack_buffer struct containing buffered data to be read.
    -
    - - -

    Return Values

    -
    -
  • -n is the bit read by this function.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_readinit.html b/doc/libogg/oggpack_readinit.html deleted file mode 100644 index 0b57f26..0000000 --- a/doc/libogg/oggpack_readinit.html +++ /dev/null @@ -1,64 +0,0 @@ - - - -libogg - function - oggpack_readinit - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_readinit

    - -

    declared in "ogg/ogg.h";

    - -

    This function takes an ordinary buffer and prepares an oggpack_buffer for reading using the Ogg bitpacking functions. - -

    - - - - -
    -
    
    -void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Pointer to oggpack_buffer to be initialized with some extra markers to ease bit navigation and manipulation.
    -
    buf
    -
    Original data buffer, to be inserted into the oggpack_buffer so that it can be read using bitpacking functions. -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_reset.html b/doc/libogg/oggpack_reset.html deleted file mode 100644 index dbe69d6..0000000 --- a/doc/libogg/oggpack_reset.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_reset - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_reset

    - -

    declared in "ogg/ogg.h";

    - -

    This function resets the contents of an oggpack_buffer to their original state but does not free the memory used. - -

    - - - - -
    -
    
    -void  oggpack_reset(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    oggpack_buffer to be reset.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_write.html b/doc/libogg/oggpack_write.html deleted file mode 100644 index cf6817e..0000000 --- a/doc/libogg/oggpack_write.html +++ /dev/null @@ -1,68 +0,0 @@ - - - -libogg - function - oggpack_write - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_write

    - -

    declared in "ogg/ogg.h";

    - -

    This function writes bits into an oggpack_buffer. -

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit. -

    Only 32 bits can be written at a time. - -

    - - - - -
    -
    
    -void  oggpack_write(oggpack_buffer *b,unsigned long value,int bits);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Buffer to be used for writing.
    -
    value
    -
    The data to be written into the buffer. This must be 32 bits or fewer.
    -
    bits
    -
    The number of bits being written into the buffer.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_writealign.html b/doc/libogg/oggpack_writealign.html deleted file mode 100644 index bea994c..0000000 --- a/doc/libogg/oggpack_writealign.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - oggpack_writealign - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_writealign

    - -

    declared in "ogg/ogg.h";

    - -

    This function pads the oggpack_buffer with zeros out to the -next byte boundary.

    -

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit. -

    Only 32 bits can be written at a time.

    - -

    - - - - -
    -
    
    -void  oggpack_writetrunc(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Buffer to be used for writing.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_writeclear.html b/doc/libogg/oggpack_writeclear.html deleted file mode 100644 index edd2e21..0000000 --- a/doc/libogg/oggpack_writeclear.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_reset - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_writeclear

    - -

    declared in "ogg/ogg.h";

    - -

    This function clears the buffer after writing and frees the memory used by the oggpack_buffer. - -

    - - - - -
    -
    
    -void oggpack_writeclear(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Our oggpack_buffer. This is an ordinary data buffer with some extra markers to ease bit navigation and manipulation.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_writecopy.html b/doc/libogg/oggpack_writecopy.html deleted file mode 100644 index 28c2820..0000000 --- a/doc/libogg/oggpack_writecopy.html +++ /dev/null @@ -1,69 +0,0 @@ - - - -libogg - function - oggpack_writecopy - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_writecopy

    - -

    declared in "ogg/ogg.h";

    - -

    This function copies a sequence of bits from a source buffer into an -oggpack_buffer.

    -

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit.

    -

    Only 32 bits can be written at a time.

    - -

    - - - - -
    -
    
    -void  oggpack_writecopy(oggpack_buffer *b, void *source, long bits);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Buffer to be used for writing.
    -
    source
    -
    A pointer to the data to be written into the buffer.
    -
    bits
    -
    The number of bits to be copied into the buffer.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_writeinit.html b/doc/libogg/oggpack_writeinit.html deleted file mode 100644 index 99a9ed3..0000000 --- a/doc/libogg/oggpack_writeinit.html +++ /dev/null @@ -1,62 +0,0 @@ - - - -libogg - function - oggpack_writeinit - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_writeinit

    - -

    declared in "ogg/ogg.h";

    - -

    This function initializes an oggpack_buffer for writing using the Ogg bitpacking functions. - -

    - - - - -
    -
    
    -void  oggpack_writeinit(oggpack_buffer *b);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Buffer to be used for writing. This is an ordinary data buffer with some extra markers to ease bit navigation and manipulation.
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/oggpack_writetrunc.html b/doc/libogg/oggpack_writetrunc.html deleted file mode 100644 index 21524ed..0000000 --- a/doc/libogg/oggpack_writetrunc.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -libogg - function - oggpack_writetrunc - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    oggpack_writetrunc

    - -

    declared in "ogg/ogg.h";

    - -

    This function truncates an already written-to oggpack_buffer.

    -

    The oggpack_buffer must already be initialized for writing using oggpack_writeinit.

    - -

    - - - - -
    -
    
    -void  oggpack_writetrunc(oggpack_buffer *b, long bits);
    -
    -
    - -

    Parameters

    -
    -
    b
    -
    Buffer to be truncated.
    -
    bits
    -
    Number of bits to keep in the buffer (size after truncation)
    -
    - - -

    Return Values

    -
    -
  • -No values are returned.
  • -
    -

    - -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - - diff --git a/doc/libogg/overview.html b/doc/libogg/overview.html deleted file mode 100644 index 432300e..0000000 --- a/doc/libogg/overview.html +++ /dev/null @@ -1,44 +0,0 @@ - - - -libogg - API Overview - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    Libogg API Overview

    - -

    -The libogg API consists of the following functional categories: -

    -

    - -

    -
    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/reference.html b/doc/libogg/reference.html deleted file mode 100644 index 89364a7..0000000 --- a/doc/libogg/reference.html +++ /dev/null @@ -1,96 +0,0 @@ - - - -Libogg API Reference - - - - - - - - - -

    libogg documentation

    libogg release 1.2.0 - 20100325

    - -

    Libogg API Reference

    - -

    -Data Structures
    -oggpack_buffer
    -ogg_page
    -ogg_stream_state
    -ogg_packet
    -ogg_sync_state
    -
    -Bitpacking
    -oggpack_writeinit()
    -oggpack_writecheck()
    -oggpack_reset()
    -oggpack_writetrunc()
    -oggpack_writealign()
    -oggpack_writecopy()
    -oggpack_writeclear()
    -oggpack_readinit()
    -oggpack_write()
    -oggpack_look()
    -oggpack_look1()
    -oggpack_adv()
    -oggpack_adv1()
    -oggpack_read()
    -oggpack_read1()
    -oggpack_bytes()
    -oggpack_bits()
    -oggpack_get_buffer()
    -
    -Decoding-Related
    -ogg_sync_init()
    -ogg_sync_check()
    -ogg_sync_clear()
    -ogg_sync_destroy()
    -ogg_sync_reset()
    -ogg_sync_buffer()
    -ogg_sync_wrote()
    -ogg_sync_pageseek()
    -ogg_sync_pageout()
    -ogg_stream_pagein()
    -ogg_stream_packetout()
    -ogg_stream_packetpeek()
    -
    -Encoding-Related
    -ogg_stream_packetin()
    -ogg_stream_pageout()
    -ogg_stream_flush()
    -
    -General
    -ogg_stream_init()
    -ogg_stream_check()
    -ogg_stream_clear()
    -ogg_stream_reset()
    -ogg_stream_reset_serialno()
    -ogg_stream_destroy()
    -ogg_page_version()
    -ogg_page_continued()
    -ogg_page_packets()
    -ogg_page_bos()
    -ogg_page_eos()
    -ogg_page_granulepos()
    -ogg_page_serialno()
    -ogg_page_pageno()
    -ogg_packet_clear()
    -ogg_page_checksum_set()
    -

    -


    - - - - - - - - -

    copyright © 2000-2010 Xiph.Org Foundation

    Ogg Container Format

    libogg documentation

    libogg release 1.2.0 - 20100325

    - - - - diff --git a/doc/libogg/style.css b/doc/libogg/style.css deleted file mode 100644 index 81cf417..0000000 --- a/doc/libogg/style.css +++ /dev/null @@ -1,7 +0,0 @@ -BODY { font-family: Helvetica, sans-serif } -TD { font-family: Helvetica, sans-serif } -P { font-family: Helvetica, sans-serif } -H1 { font-family: Helvetica, sans-serif } -H2 { font-family: Helvetica, sans-serif } -H4 { font-family: Helvetica, sans-serif } -P.tiny { font-size: 8pt } diff --git a/doc/ogg-multiplex.html b/doc/ogg-multiplex.html deleted file mode 100644 index 41c1481..0000000 --- a/doc/ogg-multiplex.html +++ /dev/null @@ -1,445 +0,0 @@ - - - - - -Ogg Documentation - - - - - - - - - -

    Page Multiplexing and Ordering in a Physical Ogg Stream

    - -

    The low-level mechanisms of an Ogg stream (as described in the Ogg -Bitstream Overview) provide means for mixing multiple logical streams -and media types into a single linear-chronological stream. This -document specifies the high-level arrangement and use of page -structure to multiplex multiple streams of mixed media type within a -physical Ogg stream.

    - -

    Design Elements

    - -

    The design and arrangement of the Ogg container format is governed by -several high-level design decisions that form the reasoning behind -specific low-level design decisions.

    - -

    Linear media

    - -

    The Ogg bitstream is intended to encapsulate chronological, -time-linear mixed media into a single delivery stream or file. The -design is such that an application can always encode and/or decode a -full-featured bitstream in one pass with no seeking and minimal -buffering. Seeking to provide optimized encoding (such as two-pass -encoding) or interactive decoding (such as scrubbing or instant -replay) is not disallowed or discouraged, however no bitstream feature -must require nonlinear operation on the bitstream.

    - -

    Multiplexing

    - -

    Ogg bitstreams multiplex multiple logical streams into a single -physical stream at the page level. Each page contains an abstract -time stamp (the Granule Position) that represents an absolute time -landmark within the stream. After the pages representing stream -headers (all logical stream headers occur at the beginning of a -physical bitstream section before any logical stream data), logical -stream data pages are arranged in a physical bitstream in strict -non-decreasing order by chronological absolute time as -specified by the granule position.

    - -

    The only exception to arranging pages in strictly ascending time order -by granule position is those pages that do not set the granule -position value. This is a special case when exceptionally large -packets span multiple pages; the specifics of handling this special -case are described later under 'Continuous and Discontinuous -Streams'.

    - -

    Seeking

    - -

    Ogg is designed to use a bisection search to implement exact -positional seeking rather than building an index; an index requires -two-pass encoding and as such is not acceptable given the requirement -for full-featured linear encoding.

    - -

    Even making an index optional then requires an -application to support multiple methods (bisection search for a -one-pass stream, indexing for a two-pass stream), which adds no -additional functionality as bisection search delivers the same -functionality for both stream types.

    - -

    Seek operations are by absolute time; a direct bisection search must -find the exact time position requested. Information in the Ogg -bitstream is arranged such that all information to be presented for -playback from the desired seek point will occur at or after the -desired seek point. Seek operations are neither 'fuzzy' nor -heuristic.

    - -

    Although key frame handling in video appears to be an exception to -"all needed playback information lies ahead of a given seek", -key frames can still be handled directly within this indexless -framework. Seeking to a key frame in video (as well as seeking in other -media types with analogous restraints) is handled as two seeks; first -a seek to the desired time which extracts state information that -decodes to the time of the last key frame, followed by a second seek -directly to the key frame. The location of the previous key frame is -embedded as state information in the granulepos; this mechanism is -described in more detail later.

    - -

    Continuous and Discontinuous Streams

    - -

    Logical streams within a physical Ogg stream belong to one of two -categories, "Continuous" streams and "Discontinuous" streams. -Although these are discussed in more detail later, the distinction is -important to a high-level understanding of how to buffer an Ogg -stream.

    - -

    A stream that provides a gapless, time-continuous media type with a -fine-grained timebase is considered to be 'Continuous'. A continuous -stream should never be starved of data. Clear examples of continuous -data types include broadcast audio and video.

    - -

    A stream that delivers data in a potentially irregular pattern or with -widely spaced timing gaps is considered to be 'Discontinuous'. A -discontinuous stream may be best thought of as data representing -scattered events; although they happen in order, they are typically -unconnected data often located far apart. One possible example of a -discontinuous stream types would be captioning. Although it's -possible to design captions as a continuous stream type, it's most -natural to think of captions as widely spaced pieces of text with -little happening between.

    - -

    The fundamental design distinction between continuous and -discontinuous streams concerns buffering.

    - -

    Buffering

    - -

    Because a continuous stream is, by definition, gapless, Ogg buffering -is based on the simple premise of never allowing any active continuous -stream to starve for data during decode; buffering proceeds ahead -until all continuous streams in a physical stream have data ready to -decode on demand.

    - -

    Discontinuous stream data may occur on a fairly regular basis, but the -timing of, for example, a specific caption is impossible to predict -with certainty in most captioning systems. Thus the buffering system -should take discontinuous data 'as it comes' rather than working ahead -(for a potentially unbounded period) to look for future discontinuous -data. As such, discontinuous streams are ignored when managing -buffering; their pages simply 'fall out' of the stream when continuous -streams are handled properly.

    - -

    Buffering requirements need not be explicitly declared or managed for -the encoded stream; the decoder simply reads as much data as is -necessary to keep all continuous stream types gapless (also ensuring -discontinuous data arrives in time) and no more, resulting in optimum -implicit buffer usage for a given stream. Because all pages of all -data types are stamped with absolute timing information within the -stream, inter-stream synchronization timing is always explicitly -maintained without the need for explicitly declared buffer-ahead -hinting.

    - -

    Further details, mechanisms and reasons for the differing arrangement -and behavior of continuous and discontinuous streams is discussed -later.

    - -

    Whole-stream navigation

    - -

    Ogg is designed so that the simplest navigation operations treat the -physical Ogg stream as a whole summary of its streams, rather than -navigating each interleaved stream as a separate entity.

    - -

    First Example: seeking to a desired time position in a multiplexed (or -unmultiplexed) Ogg stream can be accomplished through a bisection -search on time position of all pages in the stream (as encoded in the -granule position). More powerful searches (such as a key frame-aware -seek within video) are also possible with additional search -complexity, but similar computational complexity.

    - -

    Second Example: A bitstream section may consist of three multiplexed -streams of differing lengths. The result of multiplexing these -streams should be thought of as a single mixed stream with a length -equal to the longest of the three component streams. Although it is -also possible to think of the multiplexed results as three concurrent -streams of different lengths and it is possible to recover the three -original streams, it will also become obvious that once multiplexed, -it isn't possible to find the internal lengths of the component -streams without a linear search of the whole bitstream section. -However, it is possible to find the length of the whole bitstream -section easily (in near-constant time per section) just as it is for a -single-media unmultiplexed stream.

    - -

    Granule Position

    - -

    Description

    - -

    The Granule Position is a signed 64 bit field appearing in the header -of every Ogg page. Although the granule position represents absolute -time within a logical stream, its value does not necessarily directly -encode a simple timestamp. It may represent frames elapsed (as in -Vorbis), a simple timestamp, or a more complex bit-division encoding -(such as in Theora). The exact encoding of the granule position is up -to a specific codec.

    - -

    The granule position is governed by the following rules:

    - -
      - -
    • Granule Position must always increase forward or remain equal from -page to page, be unset, or be zero for a header page. The absolute -time to which any correct sequence of granule position maps must -similarly always increase forward or remain equal. (A codec may -make use of data, such as a control sequence, that only affects codec -working state without producing data and thus advancing granule -position and time. Although the packet sequence number increases in -this case, the granule position, and thus the time position, do -not.)
    • - -
    • Granule position may only be unset if there no packet defining a -time boundary on the page (that is, if no packet in a continuous -stream ends on the page, or no packet in a discontinuous stream begins -on the page. This will be discussed in more detail under Continuous -and Discontinuous streams).
    • - -
    • A codec must be able to translate a given granule position value -to a unique, deterministic absolute time value through direct -calculation. A codec is not required to be able to translate an -absolute time value into a unique granule position value.
    • - -
    • Codecs shall choose a granule position definition that allows that -codec means to seek as directly as possible to an immediately -decodable point, such as the bit-divided granule position encoding of -Theora allows the codec to seek efficiently to key frame without using -an index. That is, additional information other than absolute time -may be encoded into a granule position value so long as the granule -position obeys the above points.
    • - -
    - -

    Example: timestamp

    - -

    In general, a codec/stream type should choose the simplest granule -position encoding that addresses its requirements. The examples here -are by no means exhaustive of the possibilities within Ogg.

    - -

    A simple granule position could encode a timestamp directly. For -example, a granule position that encoded milliseconds from beginning -of stream would allow a logical stream length of over 100,000,000,000 -days before beginning a new logical stream (to avoid the granule -position wrapping).

    - -

    Example: framestamp

    - -

    A simple millisecond timestamp granule encoding might suit many stream -types, but a millisecond resolution is inappropriate to, eg, most -audio encodings where exact single-sample resolution is generally a -requirement. A millisecond is both too large a granule and often does -not represent an integer number of samples.

    - -

    In the event that audio frames are always encoded as the same number of -samples, the granule position could simply be a linear count of frames -since beginning of stream. This has the advantages of being exact and -efficient. Position in time would simply be [granule_position] * -[samples_per_frame] / [samples_per_second].

    - -

    Example: samplestamp (Vorbis)

    - -

    Frame counting is insufficient in codecs such as Vorbis where an audio -frame [packet] encodes a variable number of samples. In Vorbis's -case, the granule position is a count of the number of raw samples -from the beginning of stream; the absolute time of -a granule position is [granule_position] / -[samples_per_second].

    - -

    Example: bit-divided framestamp (Theora)

    - -

    Some video codecs may be able to use the simple framestamp scheme for -granule position. However, most modern video codecs introduce at -least the following complications:

    - -
      - -
    • video frames are relatively far apart compared to audio samples; -for this reason, the point at which a video frame changes to the next -frame is usually a strictly defined offset within the frame 'period'. -That is, video at 50fps could just as easily define frame transitions -<.015, .035, .055...> as at <.00, .02, .04...>.
    • - -
    • frame rates often include drop-frames, leap-frames or other -rational-but-non-integer timings.
    • - -
    • Decode must begin at a 'key frame' or 'I frame'. Keyframes usually -occur relatively seldom.
    • - -
    - -

    The first two points can be handled straightforwardly via the fact -that the codec has complete control mapping granule position to -absolute time; non-integer frame rates and offsets can be set in the -codec's initial header, and the rest is just arithmetic.

    - -

    The third point appears trickier at first glance, but it too can be -handled through the granule position mapping mechanism. Here we -arrange the granule position in such a way that granule positions of -key frames are easy to find. Divide the granule position into two -fields; the most-significant bits are an absolute frame counter, but -it's only updated at each key frame. The least significant bits encode -the number of frames since the last key frame. In this way, each -granule position both encodes the absolute time of the current frame -as well as the absolute time of the last key frame.

    - -

    Seeking to a most recent preceding key frame is then accomplished by -first seeking to the original desired point, inspecting the granulepos -of the resulting video page, extracting from that granulepos the -absolute time of the desired key frame, and then seeking directly to -that key frame's page. Of course, it's still possible for an -application to ignore key frames and use a simpler seeking algorithm -(decode would be unable to present decoded video until the next -key frame). Surprisingly many player applications do choose the -simpler approach.

    - -

    granule position, packets and pages

    - -

    Although each packet of data in a logical stream theoretically has a -specific granule position, only one granule position is encoded -per page. It is possible to encode a logical stream such that each -page contains only a single packet (so that granule positions are -preserved for each packet), however a one-to-one packet/page mapping -is not intended to be the general case.

    - -

    Because Ogg functions at the page, not packet, level, this -once-per-page time information provides Ogg with the finest-grained -time information is can use. Ogg passes this granule positioning data -to the codec (along with the packets extracted from a page); it is the -responsibility of codecs to track timing information at granularities -finer than a single page.

    - -

    start-time and end-time positioning

    - -

    A granule position represents the instantaneous time location -between two pages. However, continuous streams and discontinuous -streams differ on whether the granulepos represents the end-time of -the data on a page or the start-time. Continuous streams are -'end-time' encoded; the granulepos represents the point in time -immediately after the last data decoded from a page. Discontinuous -streams are 'start-time' encoded; the granulepos represents the point -in time of the first data decoded from the page.

    - -

    An Ogg stream type is declared continuous or discontinuous by its -codec. A given codec may support both continuous and discontinuous -operation so long as any given logical stream is continuous or -discontinuous for its entirety and the codec is able to ascertain (and -inform the Ogg layer) as to which after decoding the initial stream -header. The majority of codecs will always be continuous (such as -Vorbis) or discontinuous (such as Writ).

    - -

    Start- and end-time encoding do not affect multiplexing sort-order; -pages are still sorted by the absolute time a given granulepos maps to -regardless of whether that granulepos represents start- or -end-time.

    - -

    Multiplex/Demultiplex Division of Labor

    - -

    The Ogg multiplex/demultiplex layer provides mechanisms for encoding -raw packets into Ogg pages, decoding Ogg pages back into the original -codec packets, determining the logical structure of an Ogg stream, and -navigating through and synchronizing with an Ogg stream at a desired -stream location. Strict multiplex/demultiplex operations are entirely -in the Ogg domain and require no intervention from codecs.

    - -

    Implementation of more complex operations does require codec -knowledge, however. Unlike other framing systems, Ogg maintains -strict separation between framing and the framed bitstream data; Ogg -does not replicate codec-specific information in the page/framing -data, nor does Ogg blur the line between framing and stream -data/metadata. Because Ogg is fully data-agnostic toward the data it -frames, operations which require specifics of bitstream data (such as -'seek to key frame') also require interaction with the codec layer -(because, in this example, the Ogg layer is not aware of the concept -of key frames). This is different from systems that blur the -separation between framing and stream data in order to simplify the -separation of code. The Ogg system purposely keeps the distinction in -data simple so that later codec innovations are not constrained by -framing design.

    - -

    For this reason, however, complex seeking operations require -interaction with the codecs in order to decode the granule position of -a given stream type back to absolute time or in order to find -'decodable points' such as key frames in video.

    - -

    Unsorted Discussion Points

    - -

    flushes around key frames? RFC suggestion: repaginating or building a -stream this way is nice but not required

    - -

    Appendix A: multiplexing examples

    - - - - - diff --git a/doc/oggstream.html b/doc/oggstream.html deleted file mode 100644 index 485747d..0000000 --- a/doc/oggstream.html +++ /dev/null @@ -1,493 +0,0 @@ - - - - - -Ogg Documentation - - - - - - - - - -

    Ogg bitstream overview

    - -This document serves as starting point for understanding the design -and implementation of the Ogg container format. If you're new to Ogg -or merely want a high-level technical overview, start reading here. -Other documents linked from the index page -give distilled technical descriptions and references of the container -mechanisms. This document is intended to aid understanding. - -

    Container format design points

    - -

    Ogg is intended to be a simplest-possible container, concerned only -with framing, ordering, and interleave. It can be used as a stream delivery -mechanism, for media file storage, or as a building block toward -implementing a more complex, non-linear container (for example, see -the Skeleton or Annodex/CMML). - -

    The Ogg container is not intended to be a monolithic -'kitchen-sink'. It exists only to frame and deliver in-order stream -data and as such is vastly simpler than most other containers. -Elementary and multiplexed streams are both constructed entirely from a -single building block (an Ogg page) comprised of eight fields -totalling twenty-eight bytes (the page header) a list of packet lengths -(up to 255 bytes) and payload data (up to 65025 bytes). The structure -of every page is the same. There are no optional fields or alternate -encodings. - -

    Stream and media metadata is contained in Ogg and not built into -the Ogg container itself. Metadata is thus compartmentalized and -layered rather than part of a monolithic design, an especially good -idea as no two groups seem able to agree on what a complete or -complete-enough metadata set should be. In this way, the container and -container implementation are isolated from unnecessary design flux. - -

    Streaming

    - -

    The Ogg container is primarily a streaming format, -encapsulating chronological, time-linear mixed media into a single -delivery stream or file. The design is such that an application can -always encode and/or decode all features of a bitstream in one pass -with no seeking and minimal buffering. Seeking to provide optimized -encoding (such as two-pass encoding) or interactive decoding (such as -scrubbing or instant replay) is not disallowed or discouraged, however -no container feature requires nonlinear access of the bitstream. - -

    Variable Bit Rate, Variable Payload Size

    - -

    Ogg is designed to contain any size data payload with bounded, -predictable efficiency. Ogg packets have no maximum size and a -zero-byte minimum size. There is no restriction on size changes from -packet to packet. Variable size packets do not require the use of any -optional or additional container features. There is no optimal -suggested packet size, though special consideration was paid to make -sure 50-200 byte packets were no less efficient than larger packet -sizes. The original design criteria was a 2% overhead at 50 byte -packets, dropping to a maximum working overhead of 1% with larger -packets, and a typical working overhead of .5-.7% for most practical -uses. - -

    Simple pagination

    - -

    Ogg is a byte-aligned container with no context-dependent, optional -or variable-length fields. Ogg requires no repacking of codec data. -The page structure is written out in-line as packet data is submitted -to the streaming abstraction. In addition, it is possible to -implement both Ogg mux and demux as MT-hot zero-copy abstractions (as -is done in the Tremor sourcebase). - -

    Capture

    - -

    Ogg is designed for efficient and immediate stream capture with -high confidence. Although packets have no size limit in Ogg, pages -are a maximum of just under 64kB meaning that any Ogg stream can be -captured with confidence after seeing 128kB of data or less [worst -case; typical figure is 6kB] from any random starting point in the -stream. - -

    Seeking

    - -

    Ogg implements simple coarse- and fine-grained seeking by design. - -

    Coarse seeking may be performed by simply 'moving the tone arm' to a -new position and 'dropping the needle'. Rapid capture with -accompanying timecode from any location in an Ogg file is guaranteed -by the stream design. From the acquisition of the first timecode, -all data needed to play back from that time code forward is ahead of -the stream cursor. - -

    Ogg implements full sample-granularity seeking using an -interpolated bisection search built on the capture and timecode -mechanisms used by coarse seeking. As above, once a search finds -the desired timecode, all data needed to play back from that time code -forward is ahead of the stream cursor. - -

    Both coarse and fine seeking use the page structure and sequencing -inherent to the Ogg format. All Ogg streams are fully seekable from -creation; seekability is unaffected by truncation or missing data, and -is tolerant of gross corruption. Seek operations are neither 'fuzzy' nor -heuristic. - -

    Seeking without use of an index is a major point of the Ogg -design. There are several reasons why Ogg forgoes an index: - -

      - -
    • It must be possible to create an Ogg stream in a single pass, and -an index requires either two passes to create, or the index must be -tacked onto the end of a live stream after the stream is finished. -Both methods run afoul of other design constraints. - -
    • An index is only marginally useful in Ogg for the complexity -added; it adds no new functionality and seldom improves performance -noticeably. Empirical testing shows that indexless interpolation -search does not require many more seeks in practice than using an -index would. - -
    • 'Optional' indexes encourage lazy implementations that can seek -only when indexes are present, or that implement indexless seeking -only by building an internal index after reading the entire file -beginning to end. This has been the fate of other containers that -specify optional indexing. - -
    - -

    Simple multiplexing

    - -

    Ogg multiplexes streams by interleaving pages from multiple elementary streams into a -multiplexed stream in time order. The multiplexed pages are not -altered. Muxing an Ogg AV stream out of separate audio, -video and data streams is akin to shuffling several decks of cards -together into a single deck; the cards themselves remain unchanged. -Demultiplexing is similarly simple (as the cards are marked). - -

    The goal of this design is to make the mux/demux operation as -trivial as possible to allow live streaming systems to build and -rebuild streams on the fly with minimal CPU usage and no additional -storage or latency requirements. - -

    Continuous and Discontinuous Media

    - -

    Ogg streams belong to one of two categories, "Continuous" streams and -"Discontinuous" streams. - -

    A stream that provides a gapless, time-continuous media type with a -fine-grained timebase is considered to be 'Continuous'. A continuous -stream should never be starved of data. Examples of continuous data -types include broadcast audio and video. - -

    A stream that delivers data in a potentially irregular pattern or -with widely spaced timing gaps is considered to be 'Discontinuous'. A -discontinuous stream may be best thought of as data representing -scattered events; although they happen in order, they are typically -unconnected data often located far apart. One example of a -discontinuous stream types would be captioning such as Ogg Kate. Although it's -possible to design captions as a continuous stream type, it's most -natural to think of captions as widely spaced pieces of text with -little happening between. - -

    The fundamental reason for distinction between continuous and -discontinuous streams concerns buffering. - -

    Buffering

    - -

    A continuous stream is, by definition, gapless. Ogg buffering is based -on the simple premise of never allowing an active continuous stream -to starve for data during decode; buffering works ahead until all -continuous streams in a physical stream have data ready and no further. - -

    Discontinuous stream data is not assumed to be predictable. The -buffering design takes discontinuous data 'as it comes' rather than -working ahead to look for future discontinuous data for a potentially -unbounded period. Thus, the buffering process makes no attempt to fill -discontinuous stream buffers; their pages simply 'fall out' of the -stream when continuous streams are handled properly. - -

    Buffering requirements in this design need not be explicitly -declared or managed in the encoded stream. The decoder simply reads as -much data as is necessary to keep all continuous stream types gapless -and no more, with discontinuous data processed as it arrives in the -continuous data. Buffering is implicitly optimal for the given -stream. Because all pages of all data types are stamped with absolute -timing information within the stream, inter-stream synchronization -timing is always maintained without the need for explicitly declared -buffer-ahead hinting. - -

    Codec metadata

    - -

    Ogg does not replicate codec-specific metadata into the mux layer -in an attempt to make the mux and codec layer implementations 'fully -separable'. Things like specific timebase, keyframing strategy, frame -duration, etc, do not appear in the Ogg container. The mux layer is, -instead, expected to query a codec through a standardized interface, -left to the implementation, for this data when it is needed. - -

    Though modern design wisdom usually prefers to predict all possible -needs of current and future codecs then embed these dependencies and -the required metadata into the container itself, this strategy -increases container specification complexity, fragility, and rigidity. -The mux and codec implementations become more independent, but the -specifications become less independent. A codec can't do what a -container hasn't already provided for. New codecs are harder to -support, and you can do fewer useful things with the ones you've -already got (eg, try to make a good splitter without using any codecs. -You're stuck splitting at keyframes only, or building yet another new -mechanism into the container layer to mark what frames to skip -displaying). - -

    Ogg's design goes the opposite direction, where the specification -is to be as simple, easy to understand, and 'proofed' against novel -codecs as possible. When an Ogg mux layer requires codec-specific -information, it queries the codec (or a codec stub). This trades a -more complex implementation for a simpler, more flexible -specification. - -

    Stream structure metadata

    - -

    The Ogg container itself does not define a metadata system for -declaring the structure and interrelations between multiple media -types in a muxed stream. That is, the Ogg container itself does not -specify data like 'which steam is the subtitle stream?' or 'which -video stream is the primary angle?'. This metadata still exists, but -is stored in the Ogg container rather than being built into the Ogg -container. Xiph specifies the 'Skeleton' metadata format for Ogg -streams, but this decoupling of container and stream structure -metadata means it is possible to use Ogg with any metadata -specification without altering the container itself, or without stream -structure metadata at all. - -

    Frame accurate absolute position

    - -

    Every Ogg page is stamped with a 64 bit 'granule position' that -serves as an absolute timestamp for mux and seeking. A few nifty -little tricks are usually also embedded in the granpos state, but -we'll leave those aside for the moment (strictly speaking, they're -part of each codec's mapping, not Ogg). - -

    As previously mentioned above, granule positions are mapped into -absolute timestamps by the codec, rather than being a hard timestamp. -This allows maximally efficient use of the available 64 bits to -address every sample/frame position without approximation while -supporting new and previously unknown timebase encodings without -needing to extend or update the mux layer. When a codec needs a novel -timebase, it simply brings the code for that mapping along with it. -This is not a theoretical curiosity; new, wholly novel timebases were -deployed with the adoption of both Theora and Dirac. "Rolling INTRA" -(keyframeless video) also benefits from novel use of the granule -position. - -

    Ogg stream arrangement

    - -

    Packets, pages, and bitstreams

    - -

    Ogg codecs use packets. Packets are octet payloads of -raw, compressed data, containing the data needed for a single -decompressed unit, eg, one video frame. Packets have no maximum size -and may be zero length. They do not have any high-level structure or -boundary information; strung together, the unframed packets form a -logical bitstream of apparently random bytes with no internal -landmarks. - -

    Logical bitstream packets are grouped and framed into Ogg pages -along with a unique stream serial number to produce a -physical bitstream. An elementary stream is a -physical bitstream containing only the pages framing a single logical -bitstream. Each page is a self contained entity, although a packet may -be split and encoded across one or more pages. The page decode -mechanism is designed to recognize, verify and handle single pages at -a time from the overall bitstream. - -

    Ogg Bitstream Framing specifies -the page format of an Ogg bitstream, the packet coding process -and elementary bitstreams in detail. - -

    Multiplexed bitstreams

    - -

    Multiple logical/elementary bitstreams can be combined into a single -multiplexed bitstream by interleaving whole pages from each -contributing elementary stream in time order. The result is a single -physical stream that multiplexes and frames multiple logical streams. -Each logical stream is identified by the unique stream serial number -stamped in its pages. A physical stream may include a 'meta-header' -(such as the Ogg Skeleton) comprising its -own Ogg page at the beginning of the physical stream. A decoder -recovers the original logical/elementary bitstreams out of the -physical bitstream by taking the pages in order from the physical -bitstream and redirecting them into the appropriate logical decoding -entity. - -

    Ogg Bitstream Multiplexing specifies -proper multiplexing of an Ogg bitstream in detail. - -

    Chaining

    - -

    Multiple Ogg physical bitstreams may be concatenated into a single new -stream; this is chaining. The bitstreams do not overlap; the -final page of a given logical bitstream is immediately followed by the -initial page of the next.

    - -

    Each logical bitstream in a chain must have a unique serial number -within the scope of the full physical bitstream, not only within a -particular link or segment of the chain.

    - -

    Continuous and discontinuous streams

    - -

    Within Ogg, each stream must be declared (by the codec) to be -continuous- or discontinuous-time. Most codecs treat all streams they -use as either inherently continuous- or discontinuous-time, although -this is not a requirement. A codec may, as part of its mapping, choose -according to data in the initial header. - -

    Continuous-time pages are stamped by end-time, discontinuous pages -are stamped by begin-time. Pages in a multiplexed stream are -interleaved in order of the time stamp regardless of stream type. -Both continuous and discontinuous logical streams are used to seek -within a physical stream, however only continuous streams are used to -determine buffering depth; because discontinuous streams are stamped -by start time, they will always 'fall out' in time when buffering -tracks only the continuous streams. See 'Examples' for an -illustration of the buffering mechanism. - -

    Mapping Requirements

    - -

    Each codec is allowed some freedom in deciding how its logical -bitstream is encapsulated into an Ogg bitstream (even if it is a -trivial mapping, eg, 'plop the packets in and go'). This is the -codec's mapping. Ogg imposes a few mapping requirements -on any codec. - -

    The framing specification 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 -correct stream always consists of an integer number of pages, an easy -requirement given the variable size nature of pages.

    - -

    The first page of an elementary Ogg bitstream consists of a single, -small 'initial header' packet that must include sufficient information -to identify the exact CODEC type. From this initial header, the codec -must also be able to determine its timebase and whether or not it is a -continuous- or discontinuous-time stream. The initial header must fit -on a single page. If a codec makes use of auxiliary headers (for -example, Vorbis uses two auxiliary headers), these headers must follow -the initial header immediately. The last header finishes its page; -data begins on a fresh page. - -

    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. Comments and detailed codec setup appears in the larger -auxiliary headers.

    - -

    Multiplexing Requirements

    - -

    Multiplexing requirements within Ogg are straightforward. When -constructing a single-link (unchained) physical bitstream consisting -of multiple elementary streams: - -

      - -
    1. The initial header for each stream appears in sequence, each -header on a single page. All initial headers must appear with no -intervening data (no auxiliary header pages or packets, no data pages -or packets). Order of the initial headers is unspecified. The -'beginning of stream' flag is set on each initial header. - -
    2. All auxiliary headers for all streams must follow. Order -is unspecified. The final auxiliary header of each stream must flush -its page. - -
    3. Data pages for each stream follow, interleaved in time order. - -
    4. The final page of each stream sets the 'end of stream' flag. -Unlike initial pages, terminal pages for the logical bitstreams need -not occur contiguously; indeed it may not be possible for them to do so. -
    - -

    Each grouped bitstream must have a unique serial number within the -scope of the physical bitstream.

    - -

    chaining and multiplexing

    - -

    Multiplexed and/or unmultiplexed bitstreams may be chained -consecutively. Such a physical bitstream obeys all the rules of both -chained and multiplexed streams. Each link, when unchained, must -stand on its own as a valid physical bitstream. Chained streams do -not mix; a new segment may not begin until all streams in the -preceding segment have terminated.

    - -

    Examples

    - -[More to come shortly; this section is currently being revised and expanded] - -

    Below, we present an example of a multiplexed and chained bitstream:

    - -

    stream

    - -

    In this example, we see pages from five total logical bitstreams -multiplexed into a physical bitstream. Note the following -characteristics:

    - -
      -
    1. Multiplexed bitstreams in a given link 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.
    2. - -
    3. The ordering of pages of concurrently multiplexed bitstreams is -goverened by timestamp (not shown here); there is no regular -interleaving order. Pages within a logical bitstream appear in -sequence order.
    4. -
    - - - - - diff --git a/doc/rfc3533.txt b/doc/rfc3533.txt deleted file mode 100644 index f2fcd1a..0000000 --- a/doc/rfc3533.txt +++ /dev/null @@ -1,843 +0,0 @@ - - - - - - -Network Working Group S. Pfeiffer -Request for Comments: 3533 CSIRO -Category: Informational May 2003 - - - The Ogg Encapsulation Format Version 0 - -Status of this Memo - - This memo provides information for the Internet community. It does - not specify an Internet standard of any kind. Distribution of this - memo is unlimited. - -Copyright Notice - - Copyright (C) The Internet Society (2003). All Rights Reserved. - -Abstract - - This document describes the Ogg bitstream format version 0, which is - a general, freely-available encapsulation format for media streams. - It is able to encapsulate any kind and number of video and audio - encoding formats as well as other data streams in a single bitstream. - -Terminology - - The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in BCP 14, RFC 2119 [2]. - -Table of Contents - - 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 3. Requirements for a generic encapsulation format . . . . . . . 3 - 4. The Ogg bitstream format . . . . . . . . . . . . . . . . . . . 3 - 5. The encapsulation process . . . . . . . . . . . . . . . . . . 6 - 6. The Ogg page format . . . . . . . . . . . . . . . . . . . . . 9 - 7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 - 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 - A. Glossary of terms and abbreviations . . . . . . . . . . . . . 13 - B. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14 - Author's Address . . . . . . . . . . . . . . . . . . . . . . . 14 - Full Copyright Statement . . . . . . . . . . . . . . . . . . . 15 - - - - - - - -Pfeiffer Informational [Page 1] - -RFC 3533 OGG May 2003 - - -1. Introduction - - The Ogg bitstream format has been developed as a part of a larger - project aimed at creating a set of components for the coding and - decoding of multimedia content (codecs) which are to be freely - available and freely re-implementable, both in software and in - hardware for the computing community at large, including the Internet - community. It is the intention of the Ogg developers represented by - Xiph.Org that it be usable without intellectual property concerns. - - This document describes the Ogg bitstream format and how to use it to - encapsulate one or several media bitstreams created by one or several - encoders. 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 the upcoming Tarkin and Theora video - codecs. It is capable of interleaving different binary media and - other time-continuous data streams that are prepared by an encoder as - a sequence of data packets. Ogg provides enough information to - properly separate data back into such encoder created data packets at - the original packet boundaries without relying on decoding to find - packet boundaries. - - Please note that the MIME type application/ogg has been registered - with the IANA [1]. - -2. Definitions - - For describing the Ogg encapsulation process, a set of terms will be - used whose meaning needs to be well understood. Therefore, some of - the most fundamental terms are defined now before we start with the - description of the requirements for a generic media stream - encapsulation format, the process of encapsulation, and the concrete - format of the Ogg bitstream. See the Appendix for a more complete - glossary. - - The result of an Ogg encapsulation is called the "Physical (Ogg) - Bitstream". It encapsulates one or several encoder-created - bitstreams, which are called "Logical Bitstreams". A logical - bitstream, provided to the Ogg encapsulation process, has a - structure, i.e., it is split up into a sequence of so-called - "Packets". The packets are created by the encoder of that logical - bitstream and represent meaningful entities for that encoder only - (e.g., an uncompressed stream may use video frames as packets). They - do not contain boundary information - strung together they appear to - be streams of random bytes with no landmarks. - - - - - -Pfeiffer Informational [Page 2] - -RFC 3533 OGG May 2003 - - - Please note that the term "packet" is not used in this document to - signify entities for transport over a network. - -3. Requirements for a generic encapsulation format - - The design idea behind Ogg was to provide a generic, linear media - transport format to enable both file-based storage and stream-based - transmission of one or several interleaved media streams independent - of the encoding format of the media data. Such an encapsulation - format needs to provide: - - o framing for logical bitstreams. - - o interleaving of different logical bitstreams. - - o detection of corruption. - - o recapture after a parsing error. - - o position landmarks for direct random access of arbitrary positions - in the bitstream. - - o streaming capability (i.e., no seeking is needed to build a 100% - complete bitstream). - - o small overhead (i.e., use no more than approximately 1-2% of - bitstream bandwidth for packet boundary marking, high-level - framing, sync and seeking). - - o simplicity to enable fast parsing. - - o simple concatenation mechanism of several physical bitstreams. - - All of these design considerations have been taken into consideration - for Ogg. Ogg supports framing and interleaving of logical - bitstreams, seeking landmarks, detection of corruption, and stream - resynchronisation after a parsing error with no more than - approximately 1-2% overhead. It is a generic framework to perform - encapsulation of time-continuous bitstreams. It does not know any - specifics about the codec data that it encapsulates and is thus - independent of any media codec. - -4. The Ogg bitstream format - - A physical Ogg bitstream consists of multiple logical bitstreams - interleaved in so-called "Pages". Whole pages are taken in order - from multiple logical bitstreams multiplexed at the page level. The - logical bitstreams are identified by a unique serial number in the - - - -Pfeiffer Informational [Page 3] - -RFC 3533 OGG May 2003 - - - header of each page of the physical bitstream. This unique serial - number is created randomly and does not have any connection to the - content or encoder of the logical bitstream it represents. Pages of - all logical bitstreams are concurrently interleaved, but they need - not be in a regular order - they are only required to be consecutive - within the logical bitstream. Ogg demultiplexing 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. - - Each Ogg page contains only one type of data as it belongs to one - logical bitstream only. Pages are of variable size and have a page - header containing encapsulation and error recovery information. Each - logical bitstream in a physical Ogg bitstream starts with a special - start page (bos=beginning of stream) and ends with a special page - (eos=end of stream). - - The bos page contains information to uniquely identify the codec type - and MAY contain information to set up the decoding process. The bos - page SHOULD also contain information about the encoded media - for - example, for audio, it should contain the sample rate and number of - channels. By convention, the first bytes of the bos page contain - magic data that uniquely identifies the required codec. It is the - responsibility of anyone fielding a new codec to make sure it is - possible to reliably distinguish his/her codec from all other codecs - in use. There is no fixed way to detect the end of the codec- - identifying marker. The format of the bos page is dependent on the - codec and therefore MUST be given in the encapsulation specification - of that logical bitstream type. Ogg also allows but does not require - secondary header packets after the bos page for logical bitstreams - and these must also precede any data packets in any logical - bitstream. These subsequent header packets are framed into an - integral number of pages, which will not contain any data packets. - So, a physical bitstream begins with the bos pages of all logical - bitstreams containing one initial header packet per page, followed by - the subsidiary header packets of all streams, followed by pages - containing data packets. - - The encapsulation specification for one or more logical bitstreams is - called a "media mapping". An example for a media mapping is "Ogg - Vorbis", which uses the Ogg framework to encapsulate Vorbis-encoded - audio data for stream-based storage (such as files) and transport - (such as TCP streams or pipes). Ogg Vorbis provides the name and - revision of the Vorbis codec, the audio rate and the audio quality on - the Ogg Vorbis bos page. It also uses two additional header pages - per logical bitstream. The Ogg Vorbis bos page starts with the byte - 0x01, followed by "vorbis" (a total of 7 bytes of identifier). - - - - -Pfeiffer Informational [Page 4] - -RFC 3533 OGG May 2003 - - - Ogg knows two types of multiplexing: concurrent multiplexing (so- - called "Grouping") and sequential multiplexing (so-called - "Chaining"). Grouping defines how to interleave several logical - bitstreams page-wise in the same physical bitstream. Grouping is for - example needed for interleaving a video stream with several - synchronised audio tracks using different codecs in different logical - bitstreams. Chaining on the other hand, is defined to provide a - simple mechanism to concatenate physical Ogg bitstreams, as is often - needed for streaming applications. - - In grouping, all bos pages of all logical bitstreams MUST appear - together at the beginning of the Ogg bitstream. The media mapping - specifies the order of the initial pages. For example, the grouping - of a specific Ogg video and Ogg audio bitstream may specify that the - physical bitstream MUST begin with the bos page of the logical video - bitstream, followed by the bos page of the audio bitstream. Unlike - bos pages, eos pages for the logical bitstreams need not all occur - contiguously. Eos pages may be 'nil' pages, that is, pages - containing no content but simply a page header with position - information and the eos flag set in the page header. Each grouped - logical bitstream MUST have a unique serial number within the scope - of the physical bitstream. - - In chaining, complete logical bitstreams are concatenated. The - bitstreams do not overlap, i.e., the eos page of a given logical - bitstream is immediately followed by the bos page of the next. Each - chained logical bitstream MUST have a unique serial number within the - scope of the physical bitstream. - - It is possible to consecutively chain groups of concurrently - multiplexed bitstreams. The groups, when unchained, MUST stand on - their own as a valid concurrently multiplexed bitstream. The - following diagram shows a schematic example of such a physical - bitstream that obeys all the rules of both grouped and chained - multiplexed bitstreams. - - physical bitstream with pages of - different logical bitstreams grouped and chained - ------------------------------------------------------------- - |*A*|*B*|*C*|A|A|C|B|A|B|#A#|C|...|B|C|#B#|#C#|*D*|D|...|#D#| - ------------------------------------------------------------- - bos bos bos eos eos eos bos eos - - In this example, there are two chained physical bitstreams, the first - of which is a grouped stream of three logical bitstreams A, B, and C. - The second physical bitstream is chained after the end of the grouped - bitstream, which ends after the last eos page of all its grouped - logical bitstreams. As can be seen, grouped bitstreams begin - - - -Pfeiffer Informational [Page 5] - -RFC 3533 OGG May 2003 - - - together - all of the bos pages MUST appear before any data pages. - It can also be seen that pages of concurrently multiplexed bitstreams - need not conform to a regular order. And it can be seen that a - grouped bitstream can end long before the other bitstreams in the - group end. - - Ogg does not know any specifics about the codec data except that each - logical bitstream belongs to a different codec, the data from the - codec comes in order and has position markers (so-called "Granule - positions"). Ogg does not have a concept of 'time': it only knows - about sequentially increasing, unitless position markers. An - application can only get temporal information through higher layers - which have access to the codec APIs to assign and convert granule - positions or time. - - A specific definition of a media mapping using Ogg may put further - constraints on its specific use of the Ogg bitstream format. For - example, a specific media mapping may require that all the eos pages - for all grouped bitstreams need to appear in direct sequence. An - example for a media mapping is the specification of "Ogg Vorbis". - Another example is the upcoming "Ogg Theora" specification which - encapsulates Theora-encoded video data and usually comes multiplexed - with a Vorbis stream for an Ogg containing synchronised audio and - video. As Ogg does not specify temporal relationships between the - encapsulated concurrently multiplexed bitstreams, the temporal - synchronisation between the audio and video stream will be specified - in this media mapping. To enable streaming, pages from various - logical bitstreams will typically be interleaved in chronological - order. - -5. The encapsulation process - - The process of multiplexing different logical bitstreams happens at - the level of pages as described above. The bitstreams provided by - encoders are however handed over to Ogg as so-called "Packets" with - packet boundaries dependent on the encoding format. The process of - encapsulating packets into pages will be described now. - - From Ogg's perspective, packets can be of any arbitrary size. A - specific media mapping will define how to group or break up packets - from a specific media encoder. As Ogg pages have a maximum size of - about 64 kBytes, sometimes a packet has to be distributed over - several pages. To simplify that process, Ogg divides each packet - into 255 byte long chunks plus a final shorter chunk. These chunks - are called "Ogg Segments". They are only a logical construct and do - not have a header for themselves. - - - - - -Pfeiffer Informational [Page 6] - -RFC 3533 OGG May 2003 - - - A group of contiguous segments is wrapped into a variable length page - preceded by a header. A segment table in the page header tells about - the "Lacing values" (sizes) of the segments included in the page. A - flag in the page header tells whether a page contains a packet - continued from a previous page. Note that a lacing value of 255 - implies that a second lacing value follows in the packet, and a value - of less than 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. 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. - - The encoding is optimized for speed and the expected case of the - majority of packets being between 50 and 200 bytes large. This is a - design justification rather than a recommendation. This encoding - both avoids imposing a maximum packet size as well as imposing - minimum overhead on small packets. In contrast, e.g., simply using - two bytes at the head of every packet and having a max packet size of - 32 kBytes would always penalize small packets (< 255 bytes, the - typical case) with twice the segmentation overhead. Using the lacing - values as suggested, small packets see the minimum possible byte- - aligned overhead (1 byte) and large packets (>512 bytes) see a fairly - constant ~0.5% overhead on encoding space. - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Pfeiffer Informational [Page 7] - -RFC 3533 OGG May 2003 - - - The following diagram shows a schematic example of a media mapping - using Ogg and grouped logical bitstreams: - - logical bitstream with packet boundaries - ----------------------------------------------------------------- - > | packet_1 | packet_2 | packet_3 | < - ----------------------------------------------------------------- - - |segmentation (logically only) - v - - packet_1 (5 segments) packet_2 (4 segs) p_3 (2 segs) - ------------------------------ -------------------- ------------ - .. |seg_1|seg_2|seg_3|seg_4|s_5 | |seg_1|seg_2|seg_3|| |seg_1|s_2 | .. - ------------------------------ -------------------- ------------ - - | page encapsulation - v - - page_1 (packet_1 data) page_2 (pket_1 data) page_3 (packet_2 data) ------------------------- ---------------- ------------------------ -|H|------------------- | |H|----------- | |H|------------------- | -|D||seg_1|seg_2|seg_3| | |D|seg_4|s_5 | | |D||seg_1|seg_2|seg_3| | ... -|R|------------------- | |R|----------- | |R|------------------- | ------------------------- ---------------- ------------------------ - - | -pages of | -other --------| | -logical ------- -bitstreams | MUX | - ------- - | - v - - page_1 page_2 page_3 - ------ ------ ------- ----- ------- - ... || | || | || | || | || | ... - ------ ------ ------- ----- ------- - physical Ogg bitstream - - In this example we take a snapshot of the encapsulation process of - one logical bitstream. We can see part of that bitstream's - subdivision into packets as provided by the codec. The Ogg - encapsulation process chops up the packets into segments. The - packets in this example are rather large such that packet_1 is split - into 5 segments - 4 segments with 255 bytes and a final smaller one. - Packet_2 is split into 4 segments - 3 segments with 255 bytes and a - - - -Pfeiffer Informational [Page 8] - -RFC 3533 OGG May 2003 - - - final very small one - and packet_3 is split into two segments. The - encapsulation process then creates pages, which are quite small in - this example. Page_1 consists of the first three segments of - packet_1, page_2 contains the remaining 2 segments from packet_1, and - page_3 contains the first three pages of packet_2. Finally, this - logical bitstream is multiplexed into a physical Ogg bitstream with - pages of other logical bitstreams. - -6. The Ogg page format - - A physical Ogg bitstream consists of a sequence of concatenated - pages. Pages are of variable size, usually 4-8 kB, maximum 65307 - bytes. A page header contains all the information needed to - demultiplex the logical bitstreams out of the physical bitstream and - to perform basic error recovery and landmarks for seeking. Each page - is a self-contained entity such that the page decode mechanism can - recognize, verify, and handle single pages at a time without - requiring the overall bitstream. - - The Ogg page header has the following format: - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1| Byte -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -| capture_pattern: Magic number for page start "OggS" | 0-3 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -| version | header_type | granule_position | 4-7 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -| | 8-11 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -| | bitstream_serial_number | 12-15 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -| | page_sequence_number | 16-19 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -| | CRC_checksum | 20-23 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -| |page_segments | segment_table | 24-27 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -| ... | 28- -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - The LSb (least significant bit) comes first in the Bytes. Fields - with more than one byte length are encoded LSB (least significant - byte) first. - - - - - - - -Pfeiffer Informational [Page 9] - -RFC 3533 OGG May 2003 - - - The fields in the page header have the following meaning: - - 1. capture_pattern: a 4 Byte field that signifies the beginning of a - page. It contains the magic numbers: - - 0x4f 'O' - - 0x67 'g' - - 0x67 'g' - - 0x53 'S' - - It helps a decoder to find the page boundaries and regain - synchronisation after parsing a corrupted stream. Once the - capture pattern is found, the decoder verifies page sync and - integrity by computing and comparing the checksum. - - 2. stream_structure_version: 1 Byte signifying the version number of - the Ogg file format used in this stream (this document specifies - version 0). - - 3. header_type_flag: the bits in this 1 Byte field identify the - specific type of this page. - - * bit 0x01 - - set: page contains data of a packet continued from the previous - page - - unset: page contains a fresh packet - - * bit 0x02 - - set: this is the first page of a logical bitstream (bos) - - unset: this page is not a first page - - * bit 0x04 - - set: this is the last page of a logical bitstream (eos) - - unset: this page is not a last page - - 4. granule_position: an 8 Byte field containing position information. - For example, for an audio stream, it MAY contain the total number - of PCM samples encoded after including all frames finished on this - page. For a video stream it MAY contain the total number of video - - - -Pfeiffer Informational [Page 10] - -RFC 3533 OGG May 2003 - - - frames encoded after this page. This is a hint for the decoder - and gives it some timing and position information. Its meaning is - dependent on the codec for that logical bitstream and specified in - a specific media mapping. A special value of -1 (in two's - complement) indicates that no packets finish on this page. - - 5. bitstream_serial_number: a 4 Byte field containing the unique - serial number by which the logical bitstream is identified. - - 6. page_sequence_number: a 4 Byte field containing the sequence - number of the page so the decoder can identify page loss. This - sequence number is increasing on each logical bitstream - separately. - - 7. CRC_checksum: a 4 Byte field containing a 32 bit CRC checksum of - the page (including header with zero CRC field and page content). - The generator polynomial is 0x04c11db7. - - 8. number_page_segments: 1 Byte giving the number of segment entries - encoded in the segment table. - - 9. segment_table: number_page_segments Bytes containing the lacing - values of all segments in this page. Each Byte contains one - lacing value. - - The total header size in bytes is given by: - header_size = number_page_segments + 27 [Byte] - - The total page size in Bytes is given by: - page_size = header_size + sum(lacing_values: 1..number_page_segments) - [Byte] - -7. Security Considerations - - The Ogg encapsulation format is a container format and only - encapsulates content (such as Vorbis-encoded audio). It does not - provide for any generic encryption or signing of itself or its - contained content bitstreams. However, it encapsulates any kind of - content bitstream as long as there is a codec for it, and is thus - able to contain encrypted and signed content data. It is also - possible to add an external security mechanism that encrypts or signs - an Ogg physical bitstream and thus provides content confidentiality - and authenticity. - - As Ogg encapsulates binary data, it is possible to include executable - content in an Ogg bitstream. This can be an issue with applications - that are implemented using the Ogg format, especially when Ogg is - used for streaming or file transfer in a networking scenario. As - - - -Pfeiffer Informational [Page 11] - -RFC 3533 OGG May 2003 - - - such, Ogg does not pose a threat there. However, an application - decoding Ogg and its encapsulated content bitstreams has to ensure - correct handling of manipulated bitstreams, of buffer overflows and - the like. - -8. References - - [1] Walleij, L., "The application/ogg Media Type", RFC 3534, May - 2003. - - [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement - Levels", BCP 14, RFC 2119, March 1997. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Pfeiffer Informational [Page 12] - -RFC 3533 OGG May 2003 - - -Appendix A. Glossary of terms and abbreviations - - bos page: The initial page (beginning of stream) of a logical - bitstream which contains information to identify the codec type - and other decoding-relevant information. - - chaining (or sequential multiplexing): Concatenation of two or more - complete physical Ogg bitstreams. - - eos page: The final page (end of stream) of a logical bitstream. - - granule position: An increasing position number for a specific - logical bitstream stored in the page header. Its meaning is - dependent on the codec for that logical bitstream and specified in - a specific media mapping. - - grouping (or concurrent multiplexing): Interleaving of pages of - several logical bitstreams into one complete physical Ogg - bitstream under the restriction that all bos pages of all grouped - logical bitstreams MUST appear before any data pages. - - lacing value: An entry in the segment table of a page header - representing the size of the related segment. - - logical bitstream: A sequence of bits being the result of an encoded - media stream. - - media mapping: A specific use of the Ogg encapsulation format - together with a specific (set of) codec(s). - - (Ogg) packet: A subpart of a logical bitstream that is created by the - encoder for that bitstream and represents a meaningful entity for - the encoder, but only a sequence of bits to the Ogg encapsulation. - - (Ogg) page: A physical bitstream consists of a sequence of Ogg pages - containing data of one logical bitstream only. It usually - contains a group of contiguous segments of one packet only, but - sometimes packets are too large and need to be split over several - pages. - - physical (Ogg) bitstream: The sequence of bits resulting from an Ogg - encapsulation of one or several logical bitstreams. It consists - of a sequence of pages from the logical bitstreams with the - restriction that the pages of one logical bitstream MUST come in - their correct temporal order. - - - - - - -Pfeiffer Informational [Page 13] - -RFC 3533 OGG May 2003 - - - (Ogg) segment: The Ogg encapsulation process splits each packet into - chunks of 255 bytes plus a last fractional chunk of less than 255 - bytes. These chunks are called segments. - -Appendix B. Acknowledgements - - The author gratefully acknowledges the work that Christopher - Montgomery and the Xiph.Org foundation have done in defining the Ogg - multimedia project and as part of it the open file format described - in this document. The author hopes that providing this document to - the Internet community will help in promoting the Ogg multimedia - project at http://www.xiph.org/. Many thanks also for the many - technical and typo corrections that C. Montgomery and the Ogg - community provided as feedback to this RFC. - -Author's Address - - Silvia Pfeiffer - CSIRO, Australia - Locked Bag 17 - North Ryde, NSW 2113 - Australia - - Phone: +61 2 9325 3141 - EMail: Silvia.Pfeiffer@csiro.au - URI: http://www.cmis.csiro.au/Silvia.Pfeiffer/ - - - - - - - - - - - - - - - - - - - - - - - - - -Pfeiffer Informational [Page 14] - -RFC 3533 OGG May 2003 - - -Full Copyright Statement - - Copyright (C) The Internet Society (2003). All Rights Reserved. - - This document and translations of it may be copied and furnished to - others, and derivative works that comment on or otherwise explain it - or assist in its implementation may be prepared, copied, published - and distributed, in whole or in part, without restriction of any - kind, provided that the above copyright notice and this paragraph are - included on all such copies and derivative works. However, this - document itself may not be modified in any way, such as by removing - the copyright notice or references to the Internet Society or other - Internet organizations, except as needed for the purpose of - developing Internet standards in which case the procedures for - copyrights defined in the Internet Standards process must be - followed, or as required to translate it into languages other than - English. - - The limited permissions granted above are perpetual and will not be - revoked by the Internet Society or its successors or assigns. - - This document and the information contained herein is provided on an - "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING - TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION - HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF - MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -Acknowledgement - - Funding for the RFC Editor function is currently provided by the - Internet Society. - - - - - - - - - - - - - - - - - - - -Pfeiffer Informational [Page 15] - diff --git a/doc/rfc5334.txt b/doc/rfc5334.txt deleted file mode 100644 index fea91fb..0000000 --- a/doc/rfc5334.txt +++ /dev/null @@ -1,787 +0,0 @@ - - - - - - -Network Working Group I. Goncalves -Request for Comments: 5334 S. Pfeiffer -Obsoletes: 3534 C. Montgomery -Category: Standards Track Xiph - September 2008 - - - Ogg Media Types - -Status of This Memo - - This document specifies an Internet standards track protocol for the - Internet community, and requests discussion and suggestions for - improvements. Please refer to the current edition of the "Internet - Official Protocol Standards" (STD 1) for the standardization state - and status of this protocol. Distribution of this memo is unlimited. - -Abstract - - This document describes the registration of media types for the Ogg - container format and conformance requirements for implementations of - these types. This document obsoletes RFC 3534. - -Table of Contents - - 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 2 - 2. Changes Since RFC 3534 . . . . . . . . . . . . . . . . . . 2 - 3. Conformance and Document Conventions . . . . . . . . . . . 3 - 4. Deployed Media Types and Compatibility . . . . . . . . . . 3 - 5. Relation between the Media Types . . . . . . . . . . . . . 5 - 6. Encoding Considerations . . . . . . . . . . . . . . . . . . 5 - 7. Security Considerations . . . . . . . . . . . . . . . . . . 6 - 8. Interoperability Considerations . . . . . . . . . . . . . . 7 - 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . 7 - 10. Ogg Media Types . . . . . . . . . . . . . . . . . . . . . . 7 - 10.1. application/ogg . . . . . . . . . . . . . . . . . . . . . . 7 - 10.2. video/ogg . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 10.3. audio/ogg . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 10 - 12. Copying Conditions . . . . . . . . . . . . . . . . . . . . 10 - 13. References . . . . . . . . . . . . . . . . . . . . . . . . 11 - 13.1. Normative References . . . . . . . . . . . . . . . . . . . 11 - 13.2. Informative References . . . . . . . . . . . . . . . . . . 11 - - - - - - - - -Goncalves, et al. Standards Track [Page 1] - -RFC 5334 Ogg Media Types September 2008 - - -1. Introduction - - This document describes media types for Ogg, a data encapsulation - format defined by the Xiph.Org Foundation for public use. Refer to - "Introduction" in [RFC3533] and "Overview" in [Ogg] for background - information on this container format. - - Binary data contained in Ogg, such as Vorbis and Theora, has - historically been interchanged using the application/ogg media type - as defined by [RFC3534]. This document obsoletes [RFC3534] and - defines three media types for different types of content in Ogg to - reflect this usage in the IANA media type registry, to foster - interoperability by defining underspecified aspects, and to provide - general security considerations. - - The Ogg container format is known to contain [Theora] or [Dirac] - video, [Speex] (narrow-band and wide-band) speech, [Vorbis] or [FLAC] - audio, and [CMML] timed text/metadata. As Ogg encapsulates binary - data, it is possible to include any other type of video, audio, - image, text, or, generally speaking, any time-continuously sampled - data. - - While raw packets from these data sources may be used directly by - transport mechanisms that provide their own framing and packet- - separation mechanisms (such as UDP datagrams or RTP), Ogg is a - solution for stream based storage (such as files) and transport (such - as TCP streams or pipes). The media types defined in this document - are needed to correctly identify such content when it is served over - HTTP, included in multi-part documents, or used in other places where - media types [RFC2045] are used. - -2. Changes Since RFC 3534 - - o The type "application/ogg" is redefined. - - o The types "video/ogg" and "audio/ogg" are defined. - - o New file extensions are defined. - - o New Macintosh file type codes are defined. - - o The codecs parameter is defined for optional use. - - o The Ogg Skeleton extension becomes a recommended addition for - content served under the new types. - - - - - - -Goncalves, et al. Standards Track [Page 2] - -RFC 5334 Ogg Media Types September 2008 - - -3. Conformance and Document Conventions - - The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in BCP 14, [RFC2119] and - indicate requirement levels for compliant implementations. - Requirements apply to all implementations unless otherwise stated. - - An implementation is a software module that supports one of the media - types defined in this document. Software modules may support - multiple media types, but conformance is considered individually for - each type. - - Implementations that fail to satisfy one or more "MUST" requirements - are considered non-compliant. Implementations that satisfy all - "MUST" requirements, but fail to satisfy one or more "SHOULD" - requirements, are said to be "conditionally compliant". All other - implementations are "unconditionally compliant". - -4. Deployed Media Types and Compatibility - - The application/ogg media type has been used in an ad hoc fashion to - label and exchange multimedia content in Ogg containers. - - Use of the "application" top-level type for this kind of content is - known to be problematic, in particular since it obfuscates video and - audio content. This document thus defines the media types, - - o video/ogg - - o audio/ogg - - which are intended for common use and SHOULD be used when dealing - with video or audio content, respectively. This document also - obsoletes the [RFC3534] definition of application/ogg and marks it - for complex data (e.g., multitrack visual, audio, textual, and other - time-continuously sampled data), which is not clearly video or audio - data and thus not suited for either the video/ogg or audio/ogg types. - Refer to the following section for more details. - - An Ogg bitstream generally consists of one or more logical bitstreams - that each consist of a series of header and data pages packetising - time-continuous binary data [RFC3533]. The content types of the - logical bitstreams may be identified without decoding the header - pages of the logical bitstreams through use of a [Skeleton] - bitstream. Using Ogg Skeleton is REQUIRED for content served under - - - - - -Goncalves, et al. Standards Track [Page 3] - -RFC 5334 Ogg Media Types September 2008 - - - the application/ogg type and RECOMMENDED for video/ogg and audio/ogg, - as Skeleton contains identifiers to describe the different - encapsulated data. - - Furthermore, it is RECOMMENDED that implementations that identify a - logical bitstream that they cannot decode SHOULD ignore it, while - continuing to decode the ones they can. Such precaution ensures - backward and forward compatibility with existing and future data. - - These media types can optionally use the "codecs" parameter described - in [RFC4281]. Codecs encapsulated in Ogg require a text identifier - at the beginning of the first header page, hence a machine-readable - method to identify the encapsulated codecs would be through this - header. The following table illustrates how those header values map - into strings that are used in the "codecs" parameter when dealing - with Ogg media types. - - Codec Identifier | Codecs Parameter - ----------------------------------------------------------- - char[5]: 'BBCD\0' | dirac - char[5]: '\177FLAC' | flac - char[7]: '\x80theora' | theora - char[7]: '\x01vorbis' | vorbis - char[8]: 'CELT ' | celt - char[8]: 'CMML\0\0\0\0' | cmml - char[8]: '\213JNG\r\n\032\n' | jng - char[8]: '\x80kate\0\0\0' | kate - char[8]: 'OggMIDI\0' | midi - char[8]: '\212MNG\r\n\032\n' | mng - char[8]: 'PCM ' | pcm - char[8]: '\211PNG\r\n\032\n' | png - char[8]: 'Speex ' | speex - char[8]: 'YUV4MPEG' | yuv4mpeg - - An up-to-date version of this table is kept at Xiph.org (see - [Codecs]). - - Possible examples include: - - o application/ogg; codecs="theora, cmml, ecmascript" - - o video/ogg; codecs="theora, vorbis" - - o audio/ogg; codecs=speex - - - - - - - -Goncalves, et al. Standards Track [Page 4] - -RFC 5334 Ogg Media Types September 2008 - - -5. Relation between the Media Types - - As stated in the previous section, this document describes three - media types that are targeted at different data encapsulated in Ogg. - Since Ogg is capable of encapsulating any kind of data, the multiple - usage scenarios have revealed interoperability issues between - implementations when dealing with content served solely under the - application/ogg type. - - While this document does redefine the earlier definition of - application/ogg, this media type will continue to embrace the widest - net possible of content with the video/ogg and audio/ogg types being - smaller subsets of it. However, the video/ogg and audio/ogg types - take precedence in a subset of the usages, specifically when serving - multimedia content that is not complex enough to warrant the use of - application/ogg. Following this line of thought, the audio/ogg type - is an even smaller subset within video/ogg, as it is not intended to - refer to visual content. - - As such, the application/ogg type is the recommended choice to serve - content aimed at scientific and other applications that require - various multiplexed signals or streams of continuous data, with or - without scriptable control of content. For bitstreams containing - visual, timed text, and any other type of material that requires a - visual interface, but that is not complex enough to warrant serving - under application/ogg, the video/ogg type is recommended. In - situations where the Ogg bitstream predominantly contains audio data - (lyrics, metadata, or cover art notwithstanding), it is recommended - to use the audio/ogg type. - -6. Encoding Considerations - - Binary: The content consists of an unrestricted sequence of octets. - - Note: - - o Ogg encapsulated content is binary data and should be transmitted - in a suitable encoding without CR/LF conversion, 7-bit stripping, - etc.; base64 [RFC4648] is generally preferred for binary-to-text - encoding. - - o Media types described in this document are used for stream based - storage (such as files) and transport (such as TCP streams or - pipes); separate types are used to identify codecs such as in - real-time applications for the RTP payload formats of Theora - [ThRTP] video, Vorbis [RFC5215], or Speex [SpRTP] audio, as well - as for identification of encapsulated data within Ogg through - Skeleton. - - - -Goncalves, et al. Standards Track [Page 5] - -RFC 5334 Ogg Media Types September 2008 - - -7. Security Considerations - - Refer to [RFC3552] for a discussion of terminology used in this - section. - - The Ogg encapsulation format is a container and only a carrier of - content (such as audio, video, and displayable text data) with a very - rigid definition. This format in itself is not more vulnerable than - any other content framing mechanism. - - Ogg does not provide for any generic encryption or signing of itself - or its contained bitstreams. However, it encapsulates any kind of - binary content and is thus able to contain encrypted and signed - content data. It is also possible to add an external security - mechanism that encrypts or signs an Ogg bitstream and thus provides - content confidentiality and authenticity. - - As Ogg encapsulates binary data, it is possible to include executable - content in an Ogg bitstream. Implementations SHOULD NOT execute such - content without prior validation of its origin by the end-user. - - Issues may arise on applications that use Ogg for streaming or file - transfer in a networking scenario. In such cases, implementations - decoding Ogg and its encapsulated bitstreams have to ensure correct - handling of manipulated bitstreams, of buffer overflows, and similar - issues. - - It is also possible to author malicious Ogg bitstreams, which attempt - to call for an excessively large picture size, high sampling-rate - audio, etc. Implementations SHOULD protect themselves against this - kind of attack. - - Ogg has an extensible structure, so that it is theoretically possible - that metadata fields or media formats might be defined in the future - which might be used to induce particular actions on the part of the - recipient, thus presenting additional security risks. However, this - type of capability is currently not supported in the referenced - specification. - - Implementations may fail to implement a specific security model or - other means to prevent possibly dangerous operations. Such failure - might possibly be exploited to gain unauthorized access to a system - or sensitive information; such failure constitutes an unknown factor - and is thus considered out of the scope of this document. - - - - - - - -Goncalves, et al. Standards Track [Page 6] - -RFC 5334 Ogg Media Types September 2008 - - -8. Interoperability Considerations - - The Ogg container format is device-, platform-, and vendor-neutral - and has proved to be widely implementable across different computing - platforms through a wide range of encoders and decoders. A broadly - portable reference implementation [libogg] is available under the - revised (3-clause) BSD license, which is a Free Software license. - - The Xiph.Org Foundation has defined the specification, - interoperability, and conformance and conducts regular - interoperability testing. - - The use of the Ogg Skeleton extension has been confirmed to not cause - interoperability issues with existing implementations. Third parties - are, however, welcome to conduct their own testing. - -9. IANA Considerations - - In accordance with the procedures set forth in [RFC4288], this - document registers two new media types and redefines the existing - application/ogg as defined in the following section. - -10. Ogg Media Types - -10.1. application/ogg - - Type name: application - - Subtype name: ogg - - Required parameters: none - - Optional parameters: codecs, whose syntax is defined in RFC 4281. - See section 4 of RFC 5334 for a list of allowed values. - - Encoding considerations: See section 6 of RFC 5334. - - Security considerations: See section 7 of RFC 5334. - - Interoperability considerations: None, as noted in section 8 of RFC - 5334. - - Published specification: RFC 3533 - - Applications which use this media type: Scientific and otherwise that - require various multiplexed signals or streams of data, with or - without scriptable control of content. - - - - -Goncalves, et al. Standards Track [Page 7] - -RFC 5334 Ogg Media Types September 2008 - - - Additional information: - - Magic number(s): The first four bytes, 0x4f 0x67 0x67 0x53, - correspond to the string "OggS". - - File extension(s): .ogx - - RFC 3534 defined the file extension .ogg for application/ogg, - which RFC 5334 obsoletes in favor of .ogx due to concerns where, - historically, some implementations expect .ogg files to be solely - Vorbis-encoded audio. - - Macintosh File Type Code(s): OggX - - Person & Email address to contact for further information: See - "Authors' Addresses" section. - - Intended usage: COMMON - - Restrictions on usage: The type application/ogg SHOULD only be used - in situations where it is not appropriate to serve data under the - video/ogg or audio/ogg types. Data served under the application/ogg - type SHOULD use the .ogx file extension and MUST contain an Ogg - Skeleton logical bitstream to identify all other contained logical - bitstreams. - - Author: See "Authors' Addresses" section. - - Change controller: The Xiph.Org Foundation. - -10.2. video/ogg - - Type name: video - - Subtype name: ogg - - Required parameters: none - - Optional parameters: codecs, whose syntax is defined in RFC 4281. - See section 4 of RFC 5334 for a list of allowed values. - - Encoding considerations: See section 6 of RFC 5334. - - Security considerations: See section 7 of RFC 5334. - - Interoperability considerations: None, as noted in section 8 of RFC - 5334. - - - - -Goncalves, et al. Standards Track [Page 8] - -RFC 5334 Ogg Media Types September 2008 - - - Published specification: RFC 3533 - - Applications which use this media type: Multimedia applications, - including embedded, streaming, and conferencing tools. - - Additional information: - - Magic number(s): The first four bytes, 0x4f 0x67 0x67 0x53, - correspond to the string "OggS". - - File extension(s): .ogv - - Macintosh File Type Code(s): OggV - - Person & Email address to contact for further information: See - "Authors' Addresses" section. - - Intended usage: COMMON - - Restrictions on usage: The type "video/ogg" SHOULD be used for Ogg - bitstreams containing visual, audio, timed text, or any other type of - material that requires a visual interface. It is intended for - content not complex enough to warrant serving under "application/ - ogg"; for example, a combination of Theora video, Vorbis audio, - Skeleton metadata, and CMML captioning. Data served under the type - "video/ogg" SHOULD contain an Ogg Skeleton logical bitstream. - Implementations interacting with the type "video/ogg" SHOULD support - multiplexed bitstreams. - - Author: See "Authors' Addresses" section. - - Change controller: The Xiph.Org Foundation. - -10.3. audio/ogg - - Type name: audio - - Subtype name: ogg - - Required parameters: none - - Optional parameters: codecs, whose syntax is defined in RFC 4281. - See section 4 of RFC 5334 for a list of allowed values. - - Encoding considerations: See section 6 of RFC 5334. - - Security considerations: See section 7 of RFC 5334. - - - - -Goncalves, et al. Standards Track [Page 9] - -RFC 5334 Ogg Media Types September 2008 - - - Interoperability considerations: None, as noted in section 8 of RFC - 5334. - - Published specification: RFC 3533 - - Applications which use this media type: Multimedia applications, - including embedded, streaming, and conferencing tools. - - Additional information: - - Magic number(s): The first four bytes, 0x4f 0x67 0x67 0x53, - correspond to the string "OggS". - - File extension(s): .oga, .ogg, .spx - - Macintosh File Type Code(s): OggA - - Person & Email address to contact for further information: See - "Authors' Addresses" section. - - Intended usage: COMMON - - Restrictions on usage: The type "audio/ogg" SHOULD be used when the - Ogg bitstream predominantly contains audio data. Content served - under the "audio/ogg" type SHOULD have an Ogg Skeleton logical - bitstream when using the default .oga file extension. The .ogg and - .spx file extensions indicate a specialization that requires no - Skeleton due to backward compatibility concerns with existing - implementations. In particular, .ogg is used for Ogg files that - contain only a Vorbis bitstream, while .spx is used for Ogg files - that contain only a Speex bitstream. - - Author: See "Authors' Addresses" section. - - Change controller: The Xiph.Org Foundation. - -11. Acknowledgements - - The authors gratefully acknowledge the contributions of Magnus - Westerlund, Alfred Hoenes, and Peter Saint-Andre. - -12. Copying Conditions - - The authors agree to grant third parties the irrevocable right to - copy, use and distribute the work, with or without modification, in - any medium, without royalty, provided that, unless separate - permission is granted, redistributed modified works do not contain - misleading author, version, name of work, or endorsement information. - - - -Goncalves, et al. Standards Track [Page 10] - -RFC 5334 Ogg Media Types September 2008 - - -13. References - -13.1. Normative References - - [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail - Extensions (MIME) Part One: Format of Internet Message - Bodies", RFC 2045, November 1996. - - [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate - Requirement Levels", BCP 14, RFC 2119, March 1997. - - [RFC3533] Pfeiffer, S., "The Ogg Encapsulation Format Version 0", - RFC 3533, May 2003. - - [RFC4281] Gellens, R., Singer, D., and P. Frojdh, "The Codecs - Parameter for "Bucket" Media Types", RFC 4281, - November 2005. - - [RFC4288] Freed, N. and J. Klensin, "Media Type Specifications and - Registration Procedures", BCP 13, RFC 4288, - December 2005. - -13.2. Informative References - - [CMML] Pfeiffer, S., Parker, C., and A. Pang, "The Continuous - Media Markup Language (CMML)", Work in Progress, - March 2006. - - [Codecs] Pfeiffer, S. and I. Goncalves, "Specification of MIME - types and respective codecs parameter", July 2008, - . - - [Dirac] Dirac Group, "Dirac Specification", - . - - [FLAC] Coalson, J., "The FLAC Format", - . - - [libogg] Xiph.Org Foundation, "The libogg API", June 2000, - . - - [Ogg] Xiph.Org Foundation, "Ogg bitstream documentation: Ogg - logical and physical bitstream overview, Ogg logical - bitstream framing, Ogg multi-stream multiplexing", - . - - [RFC3534] Walleij, L., "The application/ogg Media Type", RFC 3534, - May 2003. - - - -Goncalves, et al. Standards Track [Page 11] - -RFC 5334 Ogg Media Types September 2008 - - - [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC - Text on Security Considerations", BCP 72, RFC 3552, - July 2003. - - [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data - Encodings", RFC 4648, October 2006. - - [RFC5215] Barbato, L., "RTP Payload Format for Vorbis Encoded - Audio", RFC 5215, August 2008. - - [Skeleton] Pfeiffer, S. and C. Parker, "The Ogg Skeleton Metadata - Bitstream", November 2007, - . - - [Speex] Valin, J., "The Speex Codec Manual", February 2002, - . - - [SpRTP] Herlein, G., Valin, J., Heggestad, A., and A. Moizard, - "RTP Payload Format for the Speex Codec", Work - in Progress, February 2008. - - [Theora] Xiph.Org Foundation, "Theora Specification", - October 2007, . - - [ThRTP] Barbato, L., "RTP Payload Format for Theora Encoded - Video", Work in Progress, June 2006. - - [Vorbis] Xiph.Org Foundation, "Vorbis I Specification", July 2004, - . - - - - - - - - - - - - - - - - - - - - - - -Goncalves, et al. Standards Track [Page 12] - -RFC 5334 Ogg Media Types September 2008 - - -Authors' Addresses - - Ivo Emanuel Goncalves - Xiph.Org Foundation - 21 College Hill Road - Somerville, MA 02144 - US - - EMail: justivo@gmail.com - URI: xmpp:justivo@gmail.com - - - Silvia Pfeiffer - Xiph.Org Foundation - - EMail: silvia@annodex.net - URI: http://annodex.net/ - - - Christopher Montgomery - Xiph.Org Foundation - - EMail: monty@xiph.org - URI: http://xiph.org - - - - - - - - - - - - - - - - - - - - - - - - - - - -Goncalves, et al. Standards Track [Page 13] - -RFC 5334 Ogg Media Types September 2008 - - -Full Copyright Statement - - Copyright (C) The IETF Trust (2008). - - This document is subject to the rights, licenses and restrictions - contained in BCP 78, and except as set forth therein, the authors - retain all their rights. - - This document and the information contained herein are provided on an - "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS - OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND - THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF - THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED - WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -Intellectual Property - - The IETF takes no position regarding the validity or scope of any - Intellectual Property Rights or other rights that might be claimed to - pertain to the implementation or use of the technology described in - this document or the extent to which any license under such rights - might or might not be available; nor does it represent that it has - made any independent effort to identify any such rights. Information - on the procedures with respect to rights in RFC documents can be - found in BCP 78 and BCP 79. - - Copies of IPR disclosures made to the IETF Secretariat and any - assurances of licenses to be made available, or the result of an - attempt made to obtain a general license or permission for the use of - such proprietary rights by implementers or users of this - specification can be obtained from the IETF on-line IPR repository at - http://www.ietf.org/ipr. - - The IETF invites any interested party to bring to its attention any - copyrights, patents or patent applications, or other proprietary - rights that may cover technology that may be required to implement - this standard. Please address the information to the IETF at - ietf-ipr@ietf.org. - - - - - - - - - - - - -Goncalves, et al. Standards Track [Page 14] - diff --git a/doc/skeleton.html b/doc/skeleton.html deleted file mode 100755 index 8b29c18..0000000 --- a/doc/skeleton.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - -The Ogg Skeleton Metadata Bitstream - - - - - - - - - -

    The Ogg Skeleton Metadata Bitstream

    - -

    Overview

    - -

    Ogg Skeleton provides structuring information for multitrack Ogg files. It is compatible with Ogg Theora and provides extra clues for synchronization and content negotiation such as language selection.

    - -

    Ogg is a generic container format for time-continuous data streams, enabling interleaving of several tracks of frame-wise encoded content in a time-multiplexed manner. As an example, an Ogg physical bitstream could encapsulate several tracks of video encoded in Theora and multiple tracks of audio encoded in Speex or Vorbis or FLAC at the same time. A player that decodes such a bitstream could then, for example, play one video channel as the main video playback, alpha-blend another one on top of it (e.g. a caption track), play a main Vorbis audio together with several FLAC audio tracks simultaneously (e.g. as sound effects), and provide a choice of Speex channels (e.g. providing commentary in different languages). Such a file is generally possible to create with Ogg, it is however not possible to generically parse such a file, seek on it, understand what codecs are contained in such a file, and dynamically handle and play back such content.

    - -

    Ogg does not know anything about the content it carries and leaves it to the media mapping of each codec to declare and describe itself. There is no meta information available at the Ogg level about the content tracks encapsulated within an Ogg physical bitstream. This is particularly a problem if you don't have all the decoder libraries available and just want to parse an Ogg file to find out what type of data it encapsulates (such as the "file" command under *nix to determine what file it is through magic numbers), or want to seek to a temporal offset without having to decode the data (such as on a Web server that just serves out Ogg files and parts thereof).

    - -

    Ogg Skeleton is being designed to overcome these problems. Ogg Skeleton is a logical bitstream within an Ogg stream that contains information about the other encapsulated logical bitstreams. For each logical bitstream it provides information such as its media type, and explains the way the granulepos field in Ogg pages is mapped to time.

    - -

    Ogg Skeleton is also designed to allow the creation of substreams from Ogg physical bitstreams that retain the original timing information. For example, when cutting out the segment between the 7th and the 59th second of an Ogg file, it would be nice to continue to start this cut out file with a playback time of 7 seconds and not of 0. This is of particular interest if you're streaming this file from a Web server after a query for a temporal subpart such as in http://example.com/video.ogv?t=7-59

    - -

    Specification

    - -

    How to describe the logical bitstreams within an Ogg container?

    - -

    The following information about a logical bitstream is of interest to contain as meta information in the Skeleton:

    -
      -
    • the serial number: it identifies a content track
    • -
    • the mime type: it identifies the content type
    • -
    • other generic name-value fields that can provide meta information such as the language of a track or the video height and width
    • -
    • the number of header packets: this informs a parser about the number of actual header packets in an Ogg logical bitstream
    • -
    • the granule rate: the granule rate represents the data rate in Hz at which content is sampled for the particular logical bitstream, allowing to map a granule position to time by calculating "granulepos / granulerate"
    • -
    • the preroll: the number of past content packets to take into account when decoding the current Ogg page, which is necessary for seeking (vorbis has generally 2, speex 3)
    • -
    • the granuleshift: the number of lower bits from the granulepos field that are used to provide position information for sub-seekable units (like the keyframe shift in theora)
    • -
    • a basetime: it provides a mapping for granule position 0 (for all logical bitstreams) to a playback time; an example use: most content in professional analog video creation actually starts at a time of 1 hour and thus adding this additional field allows them retain this mapping on digitizing their content
    • -
    • a UTC time: it provides a mapping for granule position 0 (for all logical bitstreams) to a real-world clock time allowing to remember e.g. the recording or broadcast time of some content
    • -
    - -

    How to allow the creation of substreams from an Ogg physical bitstream?

    - -

    When cutting out a subpart of an Ogg physical bitstream, the aim is to keep all the content pages intact (including the framing and granule positions) and just change some information in the Skeleton that allows reconstruction of the accurate time mapping. When remultiplexing such a bitstream, it is necessary to take into account all the different contained logical bitstreams. A given cut-in time maps to several different byte positions in the Ogg physical bitstream because each logical bitstream has its relevant information for that time at a different location. In addition, the resolution of each logical bitstream may not be high enough to accommodate for the given cut-in time and thus there may be some surplus information necessary to be remuxed into the new bitstream.

    - -

    The following information is necessary to be added to the Skeleton to allow a correct presentation of a subpart of an Ogg bitstream:

    -
      -
    • the presentation time: this is the actual cut-in time and all logical bitstreams are meant to start presenting from this time onwards, not from the time their data starts, which may be some time before that (because this time may have mapped right into the middle of a packet, or because the logical bitstream has a preroll or a keyframe shift)
    • -
    • the basegranule: this represents the granule number with which this logical bitstream starts in the remuxed stream and provides for each logical bitstream the accurate start time of its data stream; this information is necessary to allow correct decoding and timing of the first data packets contained in a logcial bitstream of a remuxed Ogg stream
    • -
    - -

    Ogg Skeleton version 3.0 Format Specification

    - -

    Adding the above information into an Ogg bitstream without breaking existing Ogg functionality and code requires the use of a logical bitstream for Ogg Skeleton. This logical bitstream may be ignored on decoding such that existing players can still continue to play back Ogg files that have a Skeleton bitstream. Skeleton enriches the Ogg bitstream to provide meta information about structure and content of the Ogg bitstream.

    - -

    The Skeleton logical bitstream starts with an ident header that contains information about all of the logical bitstreams and is mapped into the Skeleton bos page. The first 8 bytes provide the magic identifier "fishead\0". -After the fishead follows a set of secondary header packets, each of which contains information about one logical bitstream. These secondary header packets are identified by an 8 byte code of "fisbone\0". The Skeleton logical bitstream has no actual content packets. Its eos page is included into the stream before any data pages of the other logical bitstreams appear and contains a packet of length 0.

    - -

    The fishead ident header looks as follows:

    -
    -
    -  0                   1                   2                   3
    -  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1| Byte
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Identifier 'fishead\0'                                        | 0-3
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 4-7
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Version major                 | Version minor                 | 8-11
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Presentationtime numerator                                    | 12-15
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 16-19
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Presentationtime denominator                                  | 20-23
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 24-27
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Basetime numerator                                            | 28-31
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 32-35
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Basetime denominator                                          | 36-39
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 40-43
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | UTC                                                           | 44-47
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 48-51
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 52-55
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 56-59
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 60-63
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    -
    -
    -

    The version fields provide version information for the Skeleton track, currently being 3.0 (the number having evolved within the Annodex project).

    - -

    Presentation time and basetime are specified as a rational number, the denominator providing the temporal resolution at which the time is given (e.g. to specify time in milliseconds, provide a denominator of 1000).

    - -

    The fisbone secondary header packet looks as follows:

    -
    -
    -  0                   1                   2                   3
    -  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1| Byte
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Identifier 'fisbone\0'                                        | 0-3
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 4-7
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Offset to message header fields                               | 8-11
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Serial number                                                 | 12-15
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Number of header packets                                      | 16-19
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Granulerate numerator                                         | 20-23
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 24-27
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Granulerate denominator                                       | 28-31
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 32-35
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Basegranule                                                   | 36-39
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - |                                                               | 40-43
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Preroll                                                       | 44-47
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Granuleshift  | Padding/future use                            | 48-51
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    - | Message header fields ...                                     | 52-
    - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    -
    -
    -

    The mime type is provided as a message header field specified in the same way that HTTP header fields are given (e.g. "Content-Type: audio/vorbis"). Further meta information (such as language and screen size) are also included as message header fields. The offset to the message header fields at the beginning of a fisbone packet is included for forward compatibility - to allow further fields to be included into the packet without disrupting the message header field parsing.

    - -

    The granule rate is again given as a rational number in the same way that presentation time and basetime were provided above.

    - -

    A further restriction on how to encapsulate Skeleton into Ogg is proposed to allow for easier parsing:

    -
      -
    • there can only be one Skeleton logical bitstream in a Ogg bitstream
    • -
    • the Skeleton bos page is the very first bos page in the Ogg stream such that it can be identified straight away and decoders don't get confused about it being e.g. Ogg Vorbis without this meta information
    • -
    • the bos pages of all the other logical bistreams come next (a requirement of Ogg)
    • -
    • the secondary header pages of all logical bitstreams come next, including Skeleton's secondary header packets
    • -
    • the Skeleton eos page end the control section of the Ogg stream before any content pages of any of the other logical bitstreams appear
    • -
    - - - - - \ No newline at end of file diff --git a/doc/stream.png b/doc/stream.png deleted file mode 100644 index ce2d2da..0000000 Binary files a/doc/stream.png and /dev/null differ diff --git a/doc/vorbisword2.png b/doc/vorbisword2.png deleted file mode 100644 index 12e3d31..0000000 Binary files a/doc/vorbisword2.png and /dev/null differ diff --git a/doc/white-ogg.png b/doc/white-ogg.png deleted file mode 100644 index 2694296..0000000 Binary files a/doc/white-ogg.png and /dev/null differ diff --git a/doc/white-xifish.png b/doc/white-xifish.png deleted file mode 100644 index ab25cc8..0000000 Binary files a/doc/white-xifish.png and /dev/null differ -- cgit v1.2.3