| <?xml version="1.0" encoding="utf-8"?> |
| |
| <!-- Copyright (C) 2012 The Android Open Source Project |
| |
| 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. |
| --> |
| |
| <case name="host_speaker_calibration" version="1.0" description="Calibrate host speaker's volume."> |
| <setup> <!-- 1 setup --> |
| <!-- prepare sound source id: to be used in output, sine 1000Hz, 30000ms long --> |
| <sound id="sound1" type="sin:32000:1000:30000" /> |
| </setup> |
| |
| <action> <!-- 1 action --> |
| <!-- equivalent of for loop. all children will be completed before moving to the next |
| stage.repeat up to 100 times unless stopped by some condition --> |
| <sequential repeat="20" index="i"> |
| <!-- sync start : execute only sync complete : execute + complete |
| For sync start, complete will be called when the parent completes --> |
| <output device="host" id="sound1" gain="70" sync="start"/> |
| <sequential repeat="80" index="j"> |
| <input device="host" id="host_in" gain="70" time="250" sync="complete" /> |
| <!-- ------------moving average RMS min for pass, max for pass result calculated --> |
| <process method="builtin:rms_mva" input="id:host_in,consti:2000,consti:6000" output="val:rms_$i_$j" /> |
| <!-- <message input="val:passfail" output_low="Volume Low" output_ok="Volume OK" output_high="Volume High" /> --> |
| </sequential> |
| </sequential> |
| </action> |
| <save file="host_in" report="rms_.*" /> |
| </case> |