<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

	<head>
		<meta name="copyright" content="Copyright &copy; 2014 The Eclipse Foundation. All Rights Reserved." />
		<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" />
		<meta http-equiv="Content-Style-Type" content="text/css" />

		<title>Capella - In-Flight Entertainment System - FunctionalExchange Audio Packets</title>
		<link rel="stylesheet" href="../../scripts/jquery-treeview/jquery.treeview.css" />
  		<script src="../../scripts/jquery-treeview/lib/jquery-1.11.1.js" type="text/javascript"></script>
  		<script src="../../scripts/jquery-treeview/jquery.treeview.js" type="text/javascript"></script>
		<link rel="stylesheet" type="text/css" href="../../css/simpletree.css" />		
		<link title="default" rel="stylesheet" type="text/css" media="screen, projection" href="../../css/content.css"></link>
		<script type="text/javascript">
			if(parent.location.href == self.location.href) {
				window.location.href = 'index.html?6527f025628843d3af86c19c306f30dc';
			}
		</script>
		
		<style>
			body {
				background: white;
				font-family: Arial;
			}
			.treeview {
				background-color: white ;
			}
	
			.treeview ul{ /*CSS for Simple Tree Menu*/
				background-color: white;
				font-size: 12px;
			}
	
			.treeview li{ /*Style for LI elements in general (excludes an LI that contains sub lists)*/
				background-color: white;
			}
		</style>
		
	</head>
	
	<body><div id="content">
<img src="../icon/FunctionalExchange.png" alt="FunctionalExchange" style="float:left; margin-right:10px" /><h1><a href="../In-Flight Entertainment System/6527f025628843d3af86c19c306f30dc.html">Audio Packets</a></h1>
<p style="margin-top:3px; margin-bottom:3px"><span class="elementMetaClass">FunctionalExchange</span></p>
<em class="elementPath"><a href="../In-Flight Entertainment System/bd182435e29042ceb99f6dd06e7ae7c7.html">In&#045;Flight Entertainment System</a> > <a href="../In-Flight Entertainment System/8f49452e61f24ba0b944352d1f4c4227.html">In&#045;Flight Entertainment System</a> > <a href="../In-Flight Entertainment System/9a0668cfdb264ee79339c1d8658fa112.html">Physical Architecture</a> > <a href="../In-Flight Entertainment System/75b9cc1b926940d98528a77115b3a81d.html">Physical Functions</a> > <a href="../In-Flight Entertainment System/0f09b41e1e384d34abb0ba31a0eedd58.html">Root Physical Function</a> > <a href="../In-Flight Entertainment System/c75359fb227144998199c3e1565697a7.html">IFE System</a> > <a href="../In-Flight Entertainment System/cb0426b29cab4a4d9e7b89a13a57be2e.html">Manage Audio Video Diffusion</a> > <a href="../In-Flight Entertainment System/3d159790b7eb46d790acd64017225cf0.html">Display Video and Play Audio</a> > <a href="../In-Flight Entertainment System/6f47362b60ef451f8a00005ebd4fd010.html">Play Audio on Seat TV</a> > <a href="../In-Flight Entertainment System/6527f025628843d3af86c19c306f30dc.html">Audio Packets</a></em>

<p>
No description.
</p>












<h2> Source </h2>
<ul id="sourcePortTreeView" class="treeview"><li><img src="../icon/FunctionOutputPort.gif" alt="FunctionOutputPort" /> <a href="../In-Flight Entertainment System/834c756344224effaba84de93ee6bfb9.html">FOP 1</a><ul class="generatedList"><li><img src="../icon/PhysicalFunction.gif" alt="PhysicalFunction" /> <a href="../In-Flight Entertainment System/9155e7aeb4c34f06b8b20ec90045ac8e.html">Receive and Bufferize Audio Packets</a></li></ul></li></ul>
<h2> Target </h2>
<ul id="targetPortTreeView" class="treeview"><li><img src="../icon/FunctionInputPort.gif" alt="FunctionInputPort" /> <a href="../In-Flight Entertainment System/c64da8d769854d1d8c04624dfb385634.html">FIP 1</a><ul class="generatedList"><li><img src="../icon/PhysicalFunction.gif" alt="PhysicalFunction" /> <a href="../In-Flight Entertainment System/07823fa438c943fe8b4b8aa5588b7c46.html">Decode Audio Packets</a></li></ul></li></ul>



		<h2> Allocated Exchanges Items </h2>
		<ul class="generatedList"><li><img src="../icon/ExchangeItemFlow.gif" alt="ExchangeItem" /> <a href="../In-Flight Entertainment System/cb931585e5a548ba8ac8cf3b13fffe33.html">Audio Packets</a></li></ul>

<h2>Involving Functional Chains</h2>

<ul class="generatedList"><li><img src="../icon/FunctionalChain.gif" alt="FunctionalChain" /> <a href="../In-Flight Entertainment System/c4a51bedc9eb47848b30f3fa4e19a51c.html">Broadcast Audio Announcement</a></li><li><img src="../icon/FunctionalChain.gif" alt="FunctionalChain" /> <a href="../In-Flight Entertainment System/080f330d236440938f09ffecfe2fffd0.html">Broadcast VOD Movie</a></li></ul>









<h2>Diagrams displaying "Audio Packets"</h2>
<ul>
<li>
<a href="../In-Flight Entertainment System/f53e78f208f5437f964b583a12ecf181.html#_4W-1AKiXEeSr84p7siAxlQ">&#091;PFCD&#093; Resume VOD Movie</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/6f47362b60ef451f8a00005ebd4fd010.html#_jdRNALeyEeS3PPYvvM2Abg">&#091;PDFB&#093; &#091;CTX&#093; Play Audio on Seat TV</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/080f330d236440938f09ffecfe2fffd0.html#_jp-0YLlUEeS4sdYJ6Mtfiw">&#091;PFCD&#093; Broadcast VOD Movie</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/5158c7628f3c494798f44cf085492bf5.html#_ma5G8KoYEeSr1bMvtyrYBA">&#091;PAB&#093; &#091;BUILD&#093; All PCs&#044; PFs&#044; FEs</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/c4a51bedc9eb47848b30f3fa4e19a51c.html#_N8rQ0LebEeSJrshmHo2mKA">&#091;PFCD&#093; Broadcast Audio Announcement</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/6b2127cf50244ab1a1cecd743982ccde.html#__Iw_IKZYEeS2Xe_D8_nbBA">&#091;PFCD&#093; Start Playing VOD Movie</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/5158c7628f3c494798f44cf085492bf5.html#_VA5TELPNEeS7E-n173v5iw">&#091;PAB&#093; &#091;CTX&#093; Start Playing VOD Movie FC</a> 
</li>
</ul>





 </div>	<script type="text/javascript">
		$("#sourcePortTreeView").treeview({ collapsed: false, animated: "fast", unique: false, control: "#treecontrol"});
		$("#targetPortTreeView").treeview({ collapsed: false, animated: "fast", unique: false, control: "#treecontrol"});
	</script>
   </body>
</html>