<?xml version="1.0" encoding="UTF-8"?>
<!--
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="website.xsd">

	<properties>
		<title>How to configure Camera default resolutions </title>
		<author email="sebawagner@apache.org">
			OpenMeetings Team
		</author>
	</properties>

	<body>

		<section name="How to configure Camera default resolutions">

			<p>When you choose the webcam you have different resolutions
				available the user can choose from. </p>
			<p>You can add/remove resolutions and also change the default
				selection. In the public/config.xml there is a section: </p>
			<div class="xmlcode">
				&lt;availableCameraResolutions&gt;<br/>
				<div style="margin-left:20px">
				    &lt;resolution type="4:3 (~6 KByte/sec)" width="40" height="30" isDefault="false" /&gt;<br/>
				    &lt;resolution type="4:3 (~12 KByte/sec)" width="80" height="60" isDefault="false" /&gt;<br/>
				    &lt;resolution type="4:3 (~20 KByte/sec)" width="120" height="90" isDefault="true" /&gt;<br/>
				    &lt;resolution type="QQVGA 4:3 (~36 KByte/sec)" width="160" height="120" isDefault="false" /&gt;<br/>
				    &lt;resolution type="4:3 (~40 KByte/sec)" width="240" height="180" isDefault="false" /&gt;<br/>
				    &lt;resolution type="HVGA 4:3 (~56 KByte/sec)" width="320" height="240" isDefault="false" /&gt;<br/>
				    &lt;resolution type="4:3  (~60 KByte/sec)" width="480" height="360" isDefault="false" /&gt;<br/>
				    &lt;resolution type="4:3 (~68 KByte/sec)" width="640" height="480" isDefault="false" /&gt;<br/>
				    &lt;resolution type="XGA 4:3" width="1024" height="768" isDefault="false" /&gt;<br/>
				    &lt;resolution type="16:9" width="256" height="150" isDefault="false" /&gt;<br/>
				    &lt;resolution type="WQVGA 9:5" width="432" height="240" isDefault="false" /&gt;<br/>
				    &lt;resolution type="pseudo 16:9" width="480" height="234" isDefault="false" /&gt;<br/>
				    &lt;resolution type="16:9" width="512" height="300" isDefault="false" /&gt;<br/>
				    &lt;resolution type="nHD 16:9" width="640" height="360" isDefault="false" /&gt;<br/>
				    &lt;resolution type="16:9" width="1024" height="600" isDefault="false" /&gt;<br/>
				    </div>
				&lt;/availableCameraResolutions&gt;			 
			</div>	
		      
		    <p>Tip: You might edit the public/config.xml with an XML aware editor that correctly 
		    handles the XSD defintion to avoid misconfiguration. The openmeetings-config.xsd 
		    is in the same folder like the public/config.xml. </p>
		</section>

	</body>

</document>