summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMonty <xiphmont@xiph.org>2010-04-06 17:50:50 +0000
committerMonty <xiphmont@xiph.org>2010-04-06 17:50:50 +0000
commit7df26aa6ce164bf511799c9ac332799f91e77beb (patch)
treeec904c77f12a51825ed07ccda42275daf3dcf839 /doc
parentedc53305100f004e1e9aa5cf3ec11666c4d1a72b (diff)
downloadogg-git-7df26aa6ce164bf511799c9ac332799f91e77beb.tar.gz
Add another diagram (elementary multiplexing)
svn path=/trunk/ogg/; revision=17135
Diffstat (limited to 'doc')
-rw-r--r--doc/multiplex1.pngbin0 -> 54409 bytes
-rw-r--r--doc/multiplex1.svg632
-rw-r--r--doc/oggstream.html104
3 files changed, 699 insertions, 37 deletions
diff --git a/doc/multiplex1.png b/doc/multiplex1.png
new file mode 100644
index 0000000..e48d1dd
--- /dev/null
+++ b/doc/multiplex1.png
Binary files differ
diff --git a/doc/multiplex1.svg b/doc/multiplex1.svg
new file mode 100644
index 0000000..46e6d52
--- /dev/null
+++ b/doc/multiplex1.svg
@@ -0,0 +1,632 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="multiplex1.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/xiphmont/MotherfishSVN/ogg/doc/multiplex1.png"
+ inkscape:export-xdpi="78.239998"
+ inkscape:export-ydpi="78.239998">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.98994949"
+ inkscape:cx="414.22127"
+ inkscape:cy="675.05057"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1436"
+ inkscape:window-height="986"
+ inkscape:window-x="1776"
+ inkscape:window-y="26"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2383" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <text
+ xml:space="preserve"
+ style="font-size:12;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="147.14285"
+ y="265.93362"
+ id="text3566"><tspan
+ sodipodi:role="line"
+ id="tspan3568"
+ x="147.14285"
+ y="265.93362" /></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="144.28571"
+ y="265.21933"
+ id="text3570"><tspan
+ sodipodi:role="line"
+ id="tspan3572"
+ x="144.28571"
+ y="265.21933" /></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="135.71429"
+ y="264.50504"
+ id="text3574"><tspan
+ sodipodi:role="line"
+ id="tspan3576"
+ x="135.71429"
+ y="264.50504" /></text>
+ <rect
+ style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3155"
+ width="90"
+ height="80"
+ x="80"
+ y="127.36218"
+ ry="0" />
+ <rect
+ ry="0"
+ y="127.36218"
+ x="580"
+ height="80"
+ width="90"
+ id="rect3188"
+ style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3196"
+ width="90"
+ height="80"
+ x="480"
+ y="127.36218"
+ ry="0" />
+ <rect
+ ry="0"
+ y="127.36218"
+ x="380"
+ height="80"
+ width="90"
+ id="rect3204"
+ style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3212"
+ width="90"
+ height="80"
+ x="280"
+ y="127.36218"
+ ry="0" />
+ <rect
+ ry="0"
+ y="127.36218"
+ x="180"
+ height="80"
+ width="90"
+ id="rect3220"
+ style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="fill:#5fd35f;fill-opacity:1;stroke:none;stroke-width:2.70000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3258"
+ width="620"
+ height="40"
+ x="65"
+ y="157.36218"
+ ry="4.3460864e-06" />
+ <path
+ style="fill:#5fd35f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 70,157.36218 L 70,147.36218 L 30,177.36218 L 70,207.36218 L 70,157.36218 z"
+ id="path3266"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="font-size:24px;fill:#5fd35f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 680,157.36218 L 680,147.36218 L 720,177.36218 L 680,207.36218 L 680,157.36218 z"
+ id="path3268" />
+ <rect
+ style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3260"
+ width="620"
+ height="20"
+ x="65"
+ y="102.36218"
+ ry="0"
+ inkscape:export-xdpi="78.239998"
+ inkscape:export-ydpi="78.239998" />
+ <path
+ style="fill:#bbddbb;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 70,102.36218 L 70,92.362183 L 40,112.36218 L 70,132.36218 L 70,102.36218 z"
+ id="path3262" />
+ <path
+ style="fill:#bbddbb;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 680,102.36218 L 680,92.362183 L 710,112.36218 L 680,132.36218 L 680,102.36218 z"
+ id="path3264" />
+ <text
+ xml:space="preserve"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="280"
+ y="122.36218"
+ id="text3270"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3562"
+ x="280"
+ y="122.36218">elementary physical bitstream A</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:24px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="445"
+ y="192.36218"
+ id="text3274"><tspan
+ sodipodi:role="line"
+ id="tspan3276"
+ x="445"
+ y="192.36218">logical bitstream A</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="87.979683"
+ y="146.8571"
+ id="text3161"><tspan
+ sodipodi:role="line"
+ id="tspan3163"
+ x="87.979683"
+ y="146.8571">OggS</tspan></text>
+ <text
+ id="text3190"
+ y="146.8571"
+ x="587.97968"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="146.8571"
+ x="587.97968"
+ id="tspan3192"
+ sodipodi:role="line">OggS</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="487.97971"
+ y="146.8571"
+ id="text3198"><tspan
+ sodipodi:role="line"
+ id="tspan3200"
+ x="487.97971"
+ y="146.8571">OggS</tspan></text>
+ <text
+ id="text3206"
+ y="146.8571"
+ x="387.97971"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="146.8571"
+ x="387.97971"
+ id="tspan3208"
+ sodipodi:role="line">OggS</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="287.97971"
+ y="146.8571"
+ id="text3214"><tspan
+ sodipodi:role="line"
+ id="tspan3216"
+ x="287.97971"
+ y="146.8571">OggS</tspan></text>
+ <text
+ id="text3222"
+ y="146.8571"
+ x="187.97968"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="146.8571"
+ x="187.97968"
+ id="tspan3224"
+ sodipodi:role="line">OggS</tspan></text>
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path3372"
+ d="M 70,292.36218 L 70,282.36218 L 30,312.36218 L 70,342.36218 L 70,292.36218 z"
+ style="fill:#5fa3d3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ ry="9.3506489"
+ y="262.36218"
+ x="80"
+ height="80"
+ width="90"
+ id="rect3318"
+ style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3326"
+ width="90"
+ height="80"
+ x="580"
+ y="262.36218"
+ ry="9.3506489" />
+ <rect
+ ry="9.3506489"
+ y="262.36218"
+ x="480"
+ height="80"
+ width="90"
+ id="rect3334"
+ style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3342"
+ width="90"
+ height="80"
+ x="380"
+ y="262.36218"
+ ry="9.3506489" />
+ <rect
+ ry="9.3506489"
+ y="262.36218"
+ x="280"
+ height="80"
+ width="90"
+ id="rect3350"
+ style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3358"
+ width="90"
+ height="80"
+ x="180"
+ y="262.36218"
+ ry="9.3506489" />
+ <rect
+ ry="0.25253814"
+ y="292.36218"
+ x="65"
+ height="40"
+ width="620"
+ id="rect3364"
+ style="fill:#5fa3d3;fill-opacity:1;stroke:none;stroke-width:2.70000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3374"
+ d="M 680,292.36218 L 680,282.36218 L 720,312.36218 L 680,342.36218 L 680,292.36218 z"
+ style="font-size:24px;fill:#5fa3d3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <rect
+ ry="0"
+ y="237.36218"
+ x="65"
+ height="20"
+ width="620"
+ id="rect3366"
+ style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3368"
+ d="M 70,237.36218 L 70,227.36218 L 40,247.36218 L 70,267.36218 L 70,237.36218 z"
+ style="fill:#b5cfdf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ id="path3370"
+ d="M 680,237.36218 L 680,227.36218 L 710,247.36218 L 680,267.36218 L 680,237.36218 z"
+ style="fill:#b5cfdf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ id="text3376"
+ y="257.36218"
+ x="280"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ xml:space="preserve"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3564"
+ x="280"
+ y="257.36218">elementary physical bitstream B</tspan></text>
+ <text
+ id="text3380"
+ y="327.36218"
+ x="445"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ xml:space="preserve"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3524"
+ x="445"
+ y="327.36218">logical bitstream B</tspan></text>
+ <text
+ id="text3320"
+ y="282.32013"
+ x="87.943802"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="282.32013"
+ x="87.943802"
+ id="tspan3322"
+ sodipodi:role="line">OggS</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="587.94385"
+ y="282.32013"
+ id="text3328"><tspan
+ sodipodi:role="line"
+ id="tspan3330"
+ x="587.94385"
+ y="282.32013">OggS</tspan></text>
+ <text
+ id="text3336"
+ y="282.32013"
+ x="487.94382"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="282.32013"
+ x="487.94382"
+ id="tspan3338"
+ sodipodi:role="line">OggS</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="387.94382"
+ y="282.32013"
+ id="text3344"><tspan
+ sodipodi:role="line"
+ id="tspan3346"
+ x="387.94382"
+ y="282.32013">OggS</tspan></text>
+ <text
+ id="text3352"
+ y="282.32013"
+ x="287.94382"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="282.32013"
+ x="287.94382"
+ id="tspan3354"
+ sodipodi:role="line">OggS</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="187.9438"
+ y="282.32013"
+ id="text3360"><tspan
+ sodipodi:role="line"
+ id="tspan3362"
+ x="187.9438"
+ y="282.32013">OggS</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="444.9722"
+ y="496.02066"
+ id="text3638"><tspan
+ sodipodi:role="line"
+ id="tspan3640"></tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
+ d="M 365,352.36218 L 365,402.36218 L 335,392.36218 L 375,432.36218 L 415,392.36218 L 385,402.36218 L 385,352.36218 L 365,352.36218 z"
+ id="path3299" />
+ <rect
+ style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3388"
+ width="90"
+ height="80"
+ x="80.166489"
+ y="467.36224"
+ ry="0" />
+ <rect
+ ry="9.3506489"
+ y="467.36224"
+ x="580.1665"
+ height="80"
+ width="90"
+ id="rect3396"
+ style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3404"
+ width="89.833496"
+ height="80"
+ x="480.1665"
+ y="467.36224"
+ ry="0"
+ inkscape:export-xdpi="78.239998"
+ inkscape:export-ydpi="78.239998" />
+ <rect
+ ry="9.3506489"
+ y="467.36224"
+ x="380.1665"
+ height="80"
+ width="90"
+ id="rect3412"
+ style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="fill:#bbddbb;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3420"
+ width="90"
+ height="80"
+ x="280.1665"
+ y="467.36224"
+ ry="0" />
+ <rect
+ ry="9.3506489"
+ y="467.36224"
+ x="180.16649"
+ height="80"
+ width="90"
+ id="rect3428"
+ style="fill:#b5cfdf;fill-opacity:1;stroke:none;stroke-width:2.70000004999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="fill:#5fd35f;fill-opacity:1;stroke:none;stroke-width:2.70000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3434"
+ width="615.1665"
+ height="40.000061"
+ x="65"
+ y="497.36218"
+ ry="4.3460864e-06" />
+ <path
+ style="fill:#5fd35f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 70.16649,497.36224 L 70.16649,487.36224 L 30.16649,517.36224 L 70.16649,547.36224 L 70.16649,497.36224 z"
+ id="path3442"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="font-size:24px;fill:#5fd35f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 680.16649,497.36224 L 680.16649,487.36224 L 720.16649,517.36224 L 680.16649,547.36224 L 680.16649,497.36224 z"
+ id="path3444" />
+ <rect
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:2.70000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3436"
+ width="620"
+ height="20"
+ x="65"
+ y="442.36218"
+ ry="0" />
+ <path
+ style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 70.16649,442.36224 L 70.16649,432.36224 L 40.16649,452.36224 L 70.16649,472.36224 L 70.16649,442.36224 z"
+ id="path3438" />
+ <path
+ style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 680.16649,442.36224 L 680.16649,432.36224 L 710.16649,452.36224 L 680.16649,472.36224 L 680.16649,442.36224 z"
+ id="path3440" />
+ <text
+ xml:space="preserve"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="300.1665"
+ y="462.36224"
+ id="text3446"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3526"
+ x="300.1665"
+ y="462.36224">multiplexed physical bitstream</tspan></text>
+ <path
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 175.16649,492.36224 L 175.16649,547.36224"
+ id="path3662" />
+ <path
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 275.16649,542.36224 L 275.16649,492.36224"
+ id="path3668" />
+ <path
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 375.16649,492.36224 L 375.16649,542.36224"
+ id="path3670" />
+ <path
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 475.16649,492.36224 L 475.16649,542.36224"
+ id="path3672" />
+ <path
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 575.16649,492.36224 L 575.16649,542.36224"
+ id="path3674" />
+ <path
+ style="fill:#5fa3d3;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 176.84389,517.32564 L 176.84389,497.37512 L 225.20495,497.37512 L 273.566,497.37512 L 273.566,517.32564 L 273.566,537.27615 L 225.20495,537.27615 L 176.84389,537.27615 L 176.84389,517.32564 z"
+ id="path3676" />
+ <path
+ style="fill:#5fa3d3;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 376.79115,517.32564 L 376.79115,497.37512 L 425.1522,497.37512 L 473.51325,497.37512 L 473.51325,517.32564 L 473.51325,537.27615 L 425.1522,537.27615 L 376.79115,537.27615 L 376.79115,517.32564 z"
+ id="path3678" />
+ <path
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 575.16649,492.36224 L 575.16649,542.36224"
+ id="path3680" />
+ <path
+ style="fill:#5fa3d3;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 680.18684,542.21496 L 680.18684,537.27615 L 628.5428,537.27615 L 576.89875,537.27615 L 576.89875,517.32564 L 576.89875,497.37512 L 628.5428,497.37512 L 680.18684,497.37512 L 680.18684,492.45006 L 680.18684,487.525 L 700,502.36218 C 710.89722,510.52263 719.81813,517.27102 719.82422,517.3586 C 719.83225,517.47395 684.31753,544.18376 680.64581,546.82378 C 680.20662,547.13956 680.18684,546.94102 680.18684,542.21496 z"
+ id="path3682" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="88.110291"
+ y="487.82529"
+ id="text3390"><tspan
+ sodipodi:role="line"
+ id="tspan3392"
+ x="88.110291"
+ y="487.82529">OggS</tspan></text>
+ <text
+ id="text3398"
+ y="487.82529"
+ x="588.11029"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="487.82529"
+ x="588.11029"
+ id="tspan3400"
+ sodipodi:role="line">OggS</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="488.11032"
+ y="487.82529"
+ id="text3406"><tspan
+ sodipodi:role="line"
+ id="tspan3408"
+ x="488.11032"
+ y="487.82529">OggS</tspan></text>
+ <text
+ id="text3414"
+ y="487.82529"
+ x="388.11032"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="487.82529"
+ x="388.11032"
+ id="tspan3416"
+ sodipodi:role="line">OggS</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="288.11032"
+ y="487.82529"
+ id="text3422"><tspan
+ sodipodi:role="line"
+ id="tspan3424"
+ x="288.11032"
+ y="487.82529">OggS</tspan></text>
+ <text
+ id="text4306"
+ y="487.86862"
+ x="183.07068"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="487.86862"
+ x="183.07068"
+ id="tspan4308"
+ sodipodi:role="line">OggS</tspan></text>
+ </g>
+</svg>
diff --git a/doc/oggstream.html b/doc/oggstream.html
index 789c396..bb8d176 100644
--- a/doc/oggstream.html
+++ b/doc/oggstream.html
@@ -424,6 +424,14 @@ physical bitstream by taking the pages in order from the physical
bitstream and redirecting them into the appropriate logical decoding
entity.
+<div class="caption">
+ <img src="multiplex1.png">
+
+<p>Multiple media types are mutliplexed into a single Ogg stream by
+interleaving the pages from each elementary physical stream.
+
+</div>
+
<p><a href="ogg-multiplex.html">Ogg Bitstream Multiplexing</a> specifies
proper multiplexing of an Ogg bitstream in detail.
@@ -452,38 +460,9 @@ 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.
-
-<h2>Mapping Requirements</h2>
-
-<p>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 <em>mapping</em>. Ogg imposes a few mapping requirements
-on any codec.
-
-<p>The <a href="framing.html">framing specification</a> defines
-'beginning of stream' and 'end of stream' page markers via a header
-flag (it is possible for a stream to consist of a single page). A
-correct stream always consists of an integer number of pages, an easy
-requirement given the variable size nature of pages.</p>
-
-<p>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.
-
-<p>As an example, Ogg Vorbis places the name and revision of the
-Vorbis CODEC, the audio rate and the audio quality into this initial
-header. Comments and detailed codec setup appears in the larger
-auxiliary headers.</p>
+by start time, they will always 'fall out' at the proper time when
+buffering the continuous streams. See 'Examples' for an illustration
+of the buffering mechanism.
<h2>Multiplexing Requirements</h2>
@@ -493,24 +472,24 @@ of multiple elementary streams:
<ol>
-<li> The initial header for each stream appears in sequence, each
+<li><p> 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.
-<li> All auxiliary headers for all streams must follow. Order
+<li><p> All auxiliary headers for all streams must follow. Order
is unspecified. The final auxiliary header of each stream must flush
its page.
-<li>Data pages for each stream follow, interleaved in time order.
+<li><p>Data pages for each stream follow, interleaved in time order.
-<li>The final page of each stream sets the 'end of stream' flag.
+<li><p>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.
</oL>
-<p>Each grouped bitstream must have a unique serial number within the
+<p><p>Each grouped bitstream must have a unique serial number within the
scope of the physical bitstream.</p>
<h3>chaining and multiplexing</h3>
@@ -522,6 +501,57 @@ stand on its own as a valid physical bitstream. Chained streams do
not mix or interleave; a new segment may not begin until all streams
in the preceding segment have terminated. </p>
+<h2>Codec Mapping Requirements</h2>
+
+<p>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 <em>mapping</em>. Ogg imposes a few mapping requirements
+on any codec.
+
+<ol>
+
+<li><p>The <a href="framing.html">framing specification</a> defines
+'beginning of stream' and 'end of stream' page markers via a header
+flag (it is possible for a stream to consist of a single page). A
+correct stream always consists of an integer number of pages, an easy
+requirement given the variable size nature of pages.</p>
+
+<li><p>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.
+
+<p><p>As an example, Ogg Vorbis places the name and revision of the
+Vorbis CODEC, the audio rate and the audio quality into this initial
+header. Vorbis comments and detailed codec setup appears in the larger
+auxiliary headers.</p>
+
+<li><p>Granule positions must be translatable to an exact absolute
+time value. As described above, the mux layer is permitted to query a
+codec or codec stub plugin to perform this mapping. It is not
+necessary for an absolute time to be mappable into a single unique
+granule position value.
+
+<li><p>Codecs are not required to use a fixed duration-per-packet (for
+example, Vorbis does not). the mux layer is permitted to query a
+codec or codec stub plugin for the time duration of a packet.
+
+<li><p>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.
+
+<li><p>Packets and pages must be arranged in ascending
+granule-position and time order.
+
+</ol>
+
<h2>Examples</h2>
<em>[More to come shortly; this section is currently being revised and expanded]</em>