diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-05-04 02:08:41 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-05-04 02:08:41 +0100 |
| commit | 96c65ea9eb48dd203054f437cb4edc0e2b4ab1fd (patch) | |
| tree | aea55145ad22f9b3f92f5a2baa679f3aa198fc68 | |
| parent | 4c803f050244e145f6e8948efbee0b4249e7f93b (diff) | |
Add incomplete design doc.
| -rw-r--r-- | doc/design/dcpomatic.svg | 805 |
1 files changed, 805 insertions, 0 deletions
diff --git a/doc/design/dcpomatic.svg b/doc/design/dcpomatic.svg new file mode 100644 index 000000000..3d1cc7b94 --- /dev/null +++ b/doc/design/dcpomatic.svg @@ -0,0 +1,805 @@ +<?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="2104.7244" + height="2979.9211" + id="svg2" + version="1.1" + inkscape:version="0.48.4 r9939" + sodipodi:docname="dcpomatic.svg"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow2Mstart" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow2Mstart" + style="overflow:visible"> + <path + id="path4682" + style="fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " + transform="scale(0.6) translate(0,0)" /> + </marker> + <marker + inkscape:stockid="DotM" + orient="auto" + refY="0.0" + refX="0.0" + id="DotM" + style="overflow:visible"> + <path + id="path4722" + d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt" + transform="scale(0.4) translate(7.4, 1)" /> + </marker> + <marker + inkscape:stockid="DotL" + orient="auto" + refY="0.0" + refX="0.0" + id="DotL" + style="overflow:visible"> + <path + id="path4719" + d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt" + transform="scale(0.8) translate(7.4, 1)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend" + style="overflow:visible"> + <path + id="path4685" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="DotM" + orient="auto" + refY="0" + refX="0" + id="DotM-3" + style="overflow:visible"> + <path + inkscape:connector-curvature="0" + id="path4722-6" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-2" + style="overflow:visible"> + <path + id="path4685-5" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-21" + style="overflow:visible"> + <path + id="path4685-59" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-5" + style="overflow:visible"> + <path + id="path4685-0" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-1" + style="overflow:visible"> + <path + id="path4685-3" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-3" + style="overflow:visible"> + <path + id="path4685-6" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-3-7" + style="overflow:visible"> + <path + id="path4685-6-3" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-3-3" + style="overflow:visible"> + <path + id="path4685-6-7" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-3-6" + style="overflow:visible"> + <path + id="path4685-6-8" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-3-2" + style="overflow:visible"> + <path + id="path4685-6-72" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.1598677" + inkscape:cx="652.92066" + inkscape:cy="674.81101" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1366" + inkscape:window-height="714" + inkscape:window-x="1280" + inkscape:window-y="283" + inkscape:window-maximized="1" + showguides="true" + inkscape:guide-bbox="true" /> + <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" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Worker classes" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,1927.5591)" + style="opacity:1;display:inline"> + <g + id="g3412" + transform="translate(467.53078,0)"> + <rect + y="154.36218" + x="178" + height="139" + width="139" + id="rect2985" + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + sodipodi:linespacing="125%" + id="text2987" + y="169.8515" + x="187" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + xml:space="preserve"><tspan + y="169.8515" + x="187" + id="tspan2989" + sodipodi:role="line">Player</tspan></text> + <rect + y="154.36218" + x="178" + height="24" + width="139" + id="rect2991" + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + sodipodi:linespacing="125%" + id="text2993" + y="194.74094" + x="186.95799" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + xml:space="preserve"><tspan + y="194.74094" + x="186.95799" + id="tspan2995" + sodipodi:role="line">get_video()</tspan><tspan + id="tspan2997" + y="212.24094" + x="186.95799" + sodipodi:role="line">get_audio()</tspan></text> + <text + sodipodi:linespacing="125%" + id="text2999" + y="226.66934" + x="187.10799" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;font-family:Latin Modern Roman;-inkscape-font-specification:Latin Modern Roman" + xml:space="preserve"><tspan + y="226.66934" + x="187.10799" + id="tspan3001" + sodipodi:role="line">Get a video frame or a section of</tspan><tspan + id="tspan3003" + y="236.66934" + x="187.10799" + sodipodi:role="line">audio from a time range given in</tspan><tspan + id="tspan3009" + y="246.66934" + x="187.10799" + sodipodi:role="line"><tspan + id="tspan3011" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#008000;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono">DCPTime</tspan>.</tspan></text> + </g> + <g + id="g3381" + transform="translate(467.53078,26.938314)"> + <rect + y="85.049988" + x="362.56888" + height="148.32523" + width="139" + id="rect2985-2" + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + sodipodi:linespacing="125%" + id="text2987-7" + y="101.05739" + x="372.08694" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + xml:space="preserve"><tspan + y="101.05739" + x="372.08694" + id="tspan2989-6" + sodipodi:role="line">PlayerVideoFrame</tspan></text> + <rect + y="85.049988" + x="362.56888" + height="24" + width="139" + id="rect2991-1" + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + sodipodi:linespacing="125%" + id="text3067" + y="121.9117" + x="369.38266" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Latin Modern Roman;-inkscape-font-specification:Latin Modern Roman" + xml:space="preserve"><tspan + y="121.9117" + x="369.38266" + id="tspan3069" + sodipodi:role="line">Video that has come out of a player</tspan><tspan + id="tspan3096" + y="131.9117" + x="369.38266" + sodipodi:role="line">except with the bits still in their</tspan><tspan + id="tspan3098" + y="141.9117" + x="369.38266" + sodipodi:role="line">raw form (we may want to combine</tspan><tspan + id="tspan3102" + y="151.9117" + x="369.38266" + sodipodi:role="line">the bits on a remote machine, or</tspan><tspan + id="tspan3104" + y="161.9117" + x="369.38266" + sodipodi:role="line">maybe not bother to combine them</tspan><tspan + id="tspan3100" + y="171.9117" + x="369.38266" + sodipodi:role="line">at all). <tspan + id="tspan3212" + style="font-style:italic;-inkscape-font-specification:'Latin Modern Roman, Italic'"> Note: no timing</tspan></tspan><tspan + id="tspan3214" + y="181.9117" + x="369.38266" + sodipodi:role="line"><tspan + id="tspan3216" + style="font-style:italic;-inkscape-font-specification:'Latin Modern Roman, Italic'">information.</tspan></tspan></text> + <text + sodipodi:linespacing="125%" + id="text3130" + y="200.65807" + x="368.44266" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + xml:space="preserve"><tspan + y="200.65807" + x="368.44266" + id="tspan3132" + sodipodi:role="line">image()</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3155" + y="214.6459" + x="369.25467" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Latin Modern Roman;-inkscape-font-specification:Latin Modern Roman" + xml:space="preserve"><tspan + y="214.6459" + x="369.25467" + id="tspan3157" + sodipodi:role="line">Return image ready for the DCP</tspan><tspan + id="tspan3159" + y="224.6459" + x="369.25467" + sodipodi:role="line">(scaled, cropped, subtitled etc.)</tspan></text> + </g> + <g + id="g3402" + transform="translate(468.46449,26.938314)"> + <rect + y="252.30872" + x="361.63516" + height="56.489033" + width="139" + id="rect2985-2-9" + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + sodipodi:linespacing="125%" + id="text2987-7-0" + y="268.3161" + x="371.15323" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + xml:space="preserve"><tspan + y="268.3161" + x="371.15323" + id="tspan2989-6-0" + sodipodi:role="line">AudioBuffers</tspan></text> + <rect + y="252.30872" + x="361.63516" + height="24" + width="139" + id="rect2991-1-5" + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + sodipodi:linespacing="125%" + id="text3318" + y="289.62686" + x="371.08322" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Latin Modern Roman;-inkscape-font-specification:Latin Modern Roman" + xml:space="preserve"><tspan + y="289.62686" + x="371.08322" + id="tspan3320" + sodipodi:role="line">Some audio data. <tspan + id="tspan3379" + style="font-style:italic;-inkscape-font-specification:'Latin Modern Roman, Italic'">Note: no timing</tspan></tspan><tspan + style="font-style:italic;-inkscape-font-specification:'Latin Modern Roman, Italic'" + id="tspan3377" + y="299.62686" + x="371.08322" + sodipodi:role="line">information.</tspan></text> + </g> + <path + style="fill:none;stroke:#000000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-mid:none;marker-end:url(#Arrow2Mend)" + d="m 738.32413,190.12931 c 20.38674,-2.11382 51.40185,7.49492 61.93408,-14.99236 6.2714,-16.64807 -9.23451,-50.37941 19.28268,-51.67115 l 3.01783,0.37986 2.90173,0.82347" + id="path3486" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-mid:none;marker-end:url(#Arrow2Mend)" + d="m 739.25629,209.6782 c 19.0896,1.88256 39.09258,-3.78124 57.46999,3.64406 6.923,4.65286 8.96998,13.82587 10.13419,21.68167 1.159,11.5046 0.4676,23.10702 1.1915,34.63519 -0.0177,7.44421 0.38829,16.22861 7.76265,20.08149 3.15045,1.47702 6.58375,1.85805 10.13283,2.06524" + id="path3488" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccc" /> + <g + id="g6208" + transform="translate(0,-14.875458)"> + <g + transform="translate(73.725318,47.860863)" + id="g6128"> + <rect + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-0" + width="139" + height="74.012497" + x="385.51904" + y="106.50132" /> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + x="394.51904" + y="121.99064" + id="text2987-4" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan2989-9" + x="394.51904" + y="121.99064">VideoDecoder</tspan></text> + <rect + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2991-8" + width="139" + height="24" + x="385.51904" + y="106.50132" /> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + x="394.47705" + y="146.88008" + id="text2993-9" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="394.47705" + y="146.88008" + id="tspan2997-9">get_video()</tspan></text> + <text + xml:space="preserve" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;font-family:Latin Modern Roman;-inkscape-font-specification:Latin Modern Roman" + x="394.62704" + y="161.01588" + id="text2999-7" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="394.62704" + y="161.01588" + id="tspan3009-0">Get a video frame (specified as an</tspan><tspan + sodipodi:role="line" + x="394.62704" + y="171.01588" + id="tspan6126">index) from this decoder's content.</tspan></text> + </g> + </g> + <rect + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-0-4" + width="139" + height="81.600082" + x="459.24435" + y="226.63756" /> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + x="468.24435" + y="242.12686" + id="text2987-4-3" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan2989-9-3" + x="468.24435" + y="242.12686">AudioDecoder</tspan></text> + <rect + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2991-8-3" + width="139" + height="24" + x="459.24435" + y="226.63756" /> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + x="468.20236" + y="267.01633" + id="text2993-9-5" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="468.20236" + y="267.01633" + id="tspan2997-9-8">get_audio()</tspan></text> + <text + xml:space="preserve" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;font-family:Latin Modern Roman;-inkscape-font-specification:Latin Modern Roman" + x="468.35236" + y="281.15213" + id="text2999-7-5" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="468.35236" + y="281.15213" + id="tspan3009-0-9">Get some audio frames (specified as</tspan><tspan + sodipodi:role="line" + x="468.35236" + y="291.15213" + id="tspan6126-9">frame indices) from this decoder's</tspan><tspan + sodipodi:role="line" + x="468.35236" + y="301.15213" + id="tspan6300">content.</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-3)" + d="m 552.66966,176.1187 c 34.68428,-2.16068 34.15674,16.61591 96.92523,17.13336" + id="path6367" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-3);display:inline" + d="m 552.96764,263.23334 c 34.68428,6.7399 34.15674,-51.83021 96.92523,-53.44415" + id="path6367-1" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 447.18922,2300.7832 531.7129,0" + id="path6629" + inkscape:connector-curvature="0" + transform="translate(0,-1927.5591)" /> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Latin Modern Roman;-inkscape-font-specification:Latin Modern Roman" + x="460.94891" + y="393.86362" + id="text6631" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6633" + x="460.94891" + y="393.86362">Video frame indices</tspan><tspan + sodipodi:role="line" + x="460.94891" + y="411.36362" + id="tspan6635">within content.</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + x="467.82877" + y="474.45602" + id="text6664" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6666" + x="467.82877" + y="474.45602">Player::dcp_to_content_video()</tspan><tspan + sodipodi:role="line" + x="467.82877" + y="491.95602" + id="tspan6680">Player::dcp_to_content_audio()</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + x="650.63574" + y="392.70163" + id="text6701" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6703" + x="650.63574" + y="392.70163">DCPTime</tspan></text> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow2Mend-3);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 475.60666,422.77249 c 4.8125,23.3677 24.57084,39.3133 24.57084,39.3133" + id="path6726" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#Arrow2Mstart);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 674.98349,401.03166 c -4.8125,36.53647 -24.57084,61.46814 -24.57084,61.46814" + id="path6726-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 4;stroke-dashoffset:0" + d="m 623.11641,26.2839 0,431.46391" + id="path7445" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + </g> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="Transcode" + transform="translate(0,1927.5591)" + style="display:none"> + <text + xml:space="preserve" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#800000;fill-opacity:1;stroke:none;font-family:Latin Modern Roman;-inkscape-font-specification:Latin Modern Roman" + x="479.97995" + y="73.062012" + id="text5161" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="479.97995" + y="73.062012" + id="tspan5165">1. Get data</tspan></text> + <path + style="fill:#800000;stroke:#800000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#DotM)" + d="M 552.30466,81.939339 651.01505,194.07502" + id="path5169" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#800000;stroke:#800000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#DotM)" + d="M 552.06133,81.672988 650.77172,209.34867" + id="path5169-2" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <rect + style="color:#000000;fill:none;stroke:#800000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2985-2-5" + width="170.98779" + height="148.32523" + x="1018.1572" + y="111.9883" /> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#800000;fill-opacity:1;stroke:none;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + x="1027.6753" + y="127.9957" + id="text2987-7-6" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan2989-6-4" + x="1027.6753" + y="127.9957">DCPVideoFrame</tspan></text> + <rect + style="color:#000000;fill:none;stroke:#800000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect2991-1-0" + width="170.98779" + height="24" + x="1018.1572" + y="111.9883" /> + <path + style="color:#000000;fill:none;stroke:#800000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow2Mend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 975.97792,124.96957 36.76918,0" + id="path5762" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.93999999;fill:#0000ff;fill-opacity:1;stroke:none;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + x="1023.8565" + y="227.10342" + id="text2987-7-8" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan2989-6-1" + x="1023.8565" + y="227.10342">PlayerVideoFrame</tspan></text> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#800000;fill-opacity:1;stroke:none;font-family:Latin Modern Roman;-inkscape-font-specification:Latin Modern Roman" + x="1023.8365" + y="241.20003" + id="text5903" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5905" + x="1023.8365" + y="241.20003">Film settings</tspan><tspan + sodipodi:role="line" + x="1023.8365" + y="253.70003" + id="tspan5907">e.g. frame rate, J2K bandwidth </tspan></text> + <text + xml:space="preserve" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#800000;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Latin Modern Roman;-inkscape-font-specification:Latin Modern Roman" + x="1025.1324" + y="95.214684" + id="text5909" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5911" + x="1025.1324" + y="95.214684">2. Wrap video data</tspan></text> + <path + style="color:#000000;fill:none;stroke:#800000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow2Mend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 1197.57,124.96957 36.7691,0" + id="path5762-5" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#800000;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Latin Modern Mono;-inkscape-font-specification:Latin Modern Mono" + x="1242.441" + y="127.9957" + id="text5956" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5958" + x="1242.441" + y="127.9957">_queue</tspan></text> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#800000;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Latin Modern Roman;-inkscape-font-specification:Latin Modern Roman" + x="1242.3323" + y="143.48494" + id="text5979" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5981" + x="1242.3323" + y="143.48494">Encoded either locally or remotely,</tspan><tspan + sodipodi:role="line" + x="1242.3323" + y="155.98494" + id="tspan5983">then written to disk.</tspan></text> + <path + style="color:#000000;fill:none;stroke:#800000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow2Mend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 975.97792,290.99377 36.76918,0" + id="path5762-2" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#800000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Latin Modern Roman;-inkscape-font-specification:Latin Modern Roman" + x="1025.3245" + y="299.12491" + id="text6030" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6032" + x="1025.3245" + y="299.12491">3. Write audio data to disk</tspan></text> + </g> +</svg> |
