<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.xiph.org/index.php?action=history&amp;feed=atom&amp;title=TransOggChangesFromOgg</id>
	<title>TransOggChangesFromOgg - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.xiph.org/index.php?action=history&amp;feed=atom&amp;title=TransOggChangesFromOgg"/>
	<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=TransOggChangesFromOgg&amp;action=history"/>
	<updated>2026-05-11T01:43:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=TransOggChangesFromOgg&amp;diff=13594&amp;oldid=prev</id>
		<title>Xiphmont: minor wording</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=TransOggChangesFromOgg&amp;diff=13594&amp;oldid=prev"/>
		<updated>2012-09-03T16:04:03Z</updated>

		<summary type="html">&lt;p&gt;minor wording&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:04, 3 September 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Full stream metadata on every packet ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Full stream metadata on every packet ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Most containers replicate some codec data into the container layer for ease of implementation, balancing overhead/complexity with convenience.  This pushes back (but does not eliminate) the need for a codec-specific &#039;stubs&#039; or &#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;packetizers&lt;/del&gt;&#039;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Most containers replicate some codec data into the container layer for ease of implementation, balancing overhead/complexity with convenience.  This pushes back (but does not eliminate) the need for a codec-specific &#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;packetizer &lt;/ins&gt;stubs&#039; or &#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mux shims&lt;/ins&gt;&#039;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The original Ogg design took a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/del&gt;maximally minimalist&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039; &lt;/del&gt;stance on stream&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The original Ogg design took a maximally minimalist stance on stream&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;metadata, not replicating any data into the container layer that could&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;metadata, not replicating any data into the container layer that could&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;be provided by a codec stub.  This was not a popular design decision&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;be provided by a codec stub.  This was not a popular design decision&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;to put it mildly, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mainly &lt;/del&gt;because it pushed more of the implementation&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;to put it mildly, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;substantially &lt;/ins&gt;because it pushed more of the implementation&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;work out of the container lib and onto external framework implementors.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;work out of the container lib and onto external framework implementors.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key xiphwiki:diff:1.41:old-12184:rev-13594:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Xiphmont</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=TransOggChangesFromOgg&amp;diff=12184&amp;oldid=prev</id>
		<title>Xiphmont at 10:34, 27 May 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=TransOggChangesFromOgg&amp;diff=12184&amp;oldid=prev"/>
		<updated>2010-05-27T10:34:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:34, 27 May 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l33&quot;&gt;Line 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Metadata =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Metadata =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;As in the original Ogg design, metadata is encapsulated within the&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The core philosophy of&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;building a layered container out of a basic streaming transport is&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unchanged. &lt;/ins&gt;As in the original Ogg design, metadata is encapsulated within the&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;low-level transport as a stream.  Unlike the original Ogg, transOgg&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;low-level transport as a stream.  Unlike the original Ogg, transOgg&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;metadata is mandatory and necessary for stream operation.  Metadata&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;metadata is mandatory and necessary for stream operation.  Metadata&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key xiphwiki:diff:1.41:old-12183:rev-12184:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Xiphmont</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=TransOggChangesFromOgg&amp;diff=12183&amp;oldid=prev</id>
		<title>Xiphmont: Created page with &#039;TransOgg is intended to be the next major revision of the Ogg container.  The major changes over the original container are summarized below.  = Transport Changes =  == Full stre…&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=TransOggChangesFromOgg&amp;diff=12183&amp;oldid=prev"/>
		<updated>2010-05-27T10:33:22Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;TransOgg is intended to be the next major revision of the Ogg container.  The major changes over the original container are summarized below.  = Transport Changes =  == Full stre…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;TransOgg is intended to be the next major revision of the Ogg container.  The major changes over the original container are summarized below.&lt;br /&gt;
&lt;br /&gt;
= Transport Changes =&lt;br /&gt;
&lt;br /&gt;
== Full stream metadata on every packet ==&lt;br /&gt;
&lt;br /&gt;
Most containers replicate some codec data into the container layer for ease of implementation, balancing overhead/complexity with convenience.  This pushes back (but does not eliminate) the need for a codec-specific &amp;#039;stubs&amp;#039; or &amp;#039;packetizers&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The original Ogg design took a &amp;#039;maximally minimalist&amp;#039; stance on stream&lt;br /&gt;
metadata, not replicating any data into the container layer that could&lt;br /&gt;
be provided by a codec stub.  This was not a popular design decision&lt;br /&gt;
to put it mildly, mainly because it pushed more of the implementation&lt;br /&gt;
work out of the container lib and onto external framework implementors.&lt;br /&gt;
&lt;br /&gt;
For that reason, transOgg goes the opposite direction.  It stamps full&lt;br /&gt;
container metadata on every packet, pushing back the need for&lt;br /&gt;
packetizers even further, and hopefully saving more work.&lt;br /&gt;
&lt;br /&gt;
== Generalized/formalized timing and interleave metadata ==&lt;br /&gt;
&lt;br /&gt;
The timing, interleave, structure, and codec-specific fields must be&lt;br /&gt;
fully generalized, specified and declared by the container.&lt;br /&gt;
&lt;br /&gt;
== New lacing scheme ==&lt;br /&gt;
&lt;br /&gt;
Packet size encoding is tweaked to use a new extension pivot; rather&lt;br /&gt;
than extending the packet size encoding from an extension value of&lt;br /&gt;
255, the new pivot is 252.  This allows the length of any packet&lt;br /&gt;
segment in a page to be encoded in at most three bytes, preserves&lt;br /&gt;
small-packet encoding efficiency and also allows signalling for runs&lt;br /&gt;
of zero-packets in null-packet based VFR schemes.&lt;br /&gt;
&lt;br /&gt;
= Metadata =&lt;br /&gt;
&lt;br /&gt;
As in the original Ogg design, metadata is encapsulated within the&lt;br /&gt;
low-level transport as a stream.  Unlike the original Ogg, transOgg&lt;br /&gt;
metadata is mandatory and necessary for stream operation.  Metadata&lt;br /&gt;
uses stream ID 0 in all links.  All other stream IDs must be unique to&lt;br /&gt;
the complete stream.&lt;br /&gt;
&lt;br /&gt;
== Structural metadata ==&lt;br /&gt;
&lt;br /&gt;
This is the essential metadata required for operation of the&lt;br /&gt;
transOgg&amp;#039;s mux layer.  As in the original Ogg, no metadata is required&lt;br /&gt;
to capture, parse and recover packets from the page stream, however&lt;br /&gt;
structural metadata is required to interpret many of the values&lt;br /&gt;
contained in the page.  This data exists in the form of a&lt;br /&gt;
header/footer pair and is mandatory.&lt;br /&gt;
&lt;br /&gt;
* Per-stream metadata, such as timing, sync/order flags, codec flags, etc.&lt;br /&gt;
* Mandatory stream-global information (enumeration of codecs)&lt;br /&gt;
* Per-stream codec setup information (codec headers)&lt;br /&gt;
* seeking index (optional)&lt;br /&gt;
* Chaining linkage&lt;br /&gt;
&lt;br /&gt;
== Semantic metadata ==&lt;br /&gt;
&lt;br /&gt;
This is metadata used to properly present or semantically augment the&lt;br /&gt;
data of the stream itself.&lt;br /&gt;
&lt;br /&gt;
* Stream relationships (primary/secondary angles, languages, overlays, etc)&lt;br /&gt;
* Non-linear features such as chapters&lt;br /&gt;
* Fixed (header/footer) and streamable semantic metadata&lt;br /&gt;
* Streamed (rolling) headers for in-band capture&lt;br /&gt;
&lt;br /&gt;
= More Information =&lt;br /&gt;
&lt;br /&gt;
* [[TransOgg]]: Toplevel transOgg page&lt;/div&gt;</summary>
		<author><name>Xiphmont</name></author>
	</entry>
</feed>