<?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 - FunctionInputPort FIP 3</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?fb4118c79bc64e7caedb15d947b348ef';
			}
		</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/FunctionInputPort.png" alt="FunctionInputPort" style="float:left; margin-right:10px" /><h1><a href="../In-Flight Entertainment System/fb4118c79bc64e7caedb15d947b348ef.html">FIP 3</a></h1>
<p style="margin-top:3px; margin-bottom:3px"><span class="elementMetaClass">FunctionInputPort</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/1d30b780f22247949f785b70ce799bf0.html">System Analysis</a> > <a href="../In-Flight Entertainment System/0ded555d38754284af530ecf5f890295.html">System Functions</a> > <a href="../In-Flight Entertainment System/411a501a55224fca8b18edbeecb501a1.html">Root System Function</a> > <a href="../In-Flight Entertainment System/6d10ccfa1be84ab6a0d874941051595b.html">IFE System</a> > <a href="../In-Flight Entertainment System/ba4d638de6bb490894f4eb974405c733.html">Manage Video and Audio Diffusion</a> > <a href="../In-Flight Entertainment System/e1808524dfa94883a809c44a87712d1b.html">Broadcast Audio Video Streams</a> > <a href="../In-Flight Entertainment System/fb4118c79bc64e7caedb15d947b348ef.html">FIP 3</a></em>

<p>
No description.
</p>












<h2>Incoming Functional Exchanges</h2>

<table>
	<tr>
		<th>Exchange</th>
		<th>Involving Functional Chains</th>
		<th>Allocating Component Exchanges</th>
		<th>Source Port</th>
		<th>Source Function</th>
		<th>Description</th>
		<th>Allocated Exchange Items</th>
		<th>Realized Functional Exchanges</th>
		<th>Realizing Functional Exchanges</th>
	</tr>
	<tr><td id="id0048b9e1-315c-4025-a694-d91e75250c19"><img src="../icon/FunctionalExchange.gif" alt="FunctionalExchange" /> <a href="../In-Flight Entertainment System/0048b9e1315c4025a694d91e75250c19.html">Imposed Video Control Command</a></td><td><ul class="generatedList"><li><img src="../icon/FunctionalChain.gif" alt="FunctionalChain" /> <a href="../In-Flight Entertainment System/dd56a4c783044471bf3f9ffddaccf544.html">Watch Imposed Video on Cabin Screen</a></li><li><img src="../icon/FunctionalChain.gif" alt="FunctionalChain" /> <a href="../In-Flight Entertainment System/adb3033ad058499598e960aaf85f4328.html">Watch Imposed Video on Private Screen</a></li></ul></td><td></td><td><img src="../icon/FunctionOutputPort.gif" alt="FunctionOutputPort" /> <a href="../In-Flight Entertainment System/38aab4df265a4f668177fac28b42c1f6.html">FOP 3</a></td><td><img src="../icon/SystemFunction.gif" alt="SystemFunction" /> <a href="../In-Flight Entertainment System/06b8dd9b21994ad1a9b2229d1de1bb48.html">Handle Imposed Videos Controls</a></td><td></td><td></td><td></td><td><ul class="generatedList"><li><img src="../icon/FunctionalExchange.gif" alt="FunctionalExchange" /> <a href="../In-Flight Entertainment System/127898d1536b4fbea6305f0109d15cea.html">Imposed Video Control  Command</a></li></ul></td></tr>
	
</table>

<h2>Realizing Elements </h2>

<ul class="generatedList"><li><img src="../icon/FunctionInputPort.gif" alt="FunctionInputPort" /> <a href="../In-Flight Entertainment System/a2af641bdb0e4d0190aad3e1b5decd6f.html">FIP 3</a></li></ul>








<h2>Diagrams displaying "FIP 3"</h2>
<ul>
<li>
<a href="../In-Flight Entertainment System/411a501a55224fca8b18edbeecb501a1.html#_HKbEkJjIEeSFKIU85IonOQ">&#091;SDFB&#093; &#091;BUILD&#093; All Functions</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/291fb3629ae5477984051281ea3709f6.html#_C4s5oKyxEeSJ1PX7slxG4w">&#091;SDFB&#093; &#091;CAPABILITY&#093; Provide Audio and Video Intercommunication Means</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/ba4d638de6bb490894f4eb974405c733.html#_huBFMKvmEeS4Nr5peSh-tg">&#091;SDFB&#093; &#091;CTX&#093; Manage Video and Audio Diffusion</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/0bfc000cdd3840d39cd32037905a7ab3.html#_Z-lO8LC1EeSAOqSI-4duBg">&#091;SDFB&#093; &#091;CTX&#093; Run Services</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/e0a467397e504ea6b1980e5efb9ce68f.html#_xXSwEKv6EeSTJvLsyJitsw">&#091;SAB&#093; Top Level System Overview</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/e0a467397e504ea6b1980e5efb9ce68f.html#_TGdI0JZDEeS1n7CBuZtEDQ">&#091;SAB&#093; High Level System Overview</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/7b7b0d2c27e84ca08a5f2790a37e97b6.html#_1fPGkKveEeS4Nr5peSh-tg">&#091;SDFB&#093; &#091;CTX&#093; Run Cabin Intercommunication Service</a> 
</li>
</ul>





 </div>	</body>
</html>
