<?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="dut_playback_spectrum_chirp" version="1.0" description="Check frequency spectrum for playback">
	<setup>
		<!-- input: peak amplitude, duration in msec, sampling rate, high frequency, output: generated sound-->
		<sound id="chirp" type="file:test_description/experimental/chirp_400_20000.r2s" preload="1" />
	</setup>
	<action>
		<sequential repeat="1" index="i">
                        <input device="host" id="host_in_$i" gain="100" time="5000" sync="start" />
			<output device="DUT" id="chirp" gain="100" mode="voice" sync="start" waitforcompletion="0" />
		</sequential>
		<sequential repeat="1" index="k">
			<!-- input: host record, device record, samping rate, low frequency in Hz, high frequency in Hz, allowed error for pass in smaller side, allowed error in bigger side%, output: min value in lower side calculated normalized to 1.0, max value in higher side, calculated amplitude ratio in mannitude only between low f to high f -->
			<process method="script:check_spectrum" input="id:chirp,id:host_in_$k,consti:44100,consti:500,consti:8000,constf:50.0,constf:100.0" output="val:min_val_$k,val:max_val_$k,id:spectrum_$k" />
		</sequential>
	</action>
	<save file="chirp,host_in_.*,spectrum_.*" report="min_val_.*,max_val_.*" />
</case>
