Add VTS tests for audio effects
Added tests covering IEffect, IEqualizerEffect, and
ILoudnessEnhancer interfaces.
Minor corrections in the interface definitions and implementations:
- fixed descriptions and @callflow annotations in IEffect;
- fixed type used for band levels in IEqualizerEffect;
- fixed specification of frequencies in IEqualizerEffect;
- fixed some bugs in previously non-execrices Effects code;
- warning messages changed to error messages.
Test: this is a test
Bug: 32022706
Change-Id: I0e0bc111b07d944ad8a0321e8b1ec703f8d1a73e
diff --git a/audio/effect/2.0/IEffect.hal b/audio/effect/2.0/IEffect.hal
index 9e10117..d254e8c 100644
--- a/audio/effect/2.0/IEffect.hal
+++ b/audio/effect/2.0/IEffect.hal
@@ -59,7 +59,7 @@
*
* @return retval operation completion status.
*/
- @callflow(next={"process"})
+ @callflow(next={"prepareForProcessing"})
enable() generates (Result retval);
/*
@@ -67,7 +67,7 @@
*
* @return retval operation completion status.
*/
- @exit
+ @callflow(next={"close"})
disable() generates (Result retval);
/*
@@ -75,6 +75,9 @@
* effect implementation must set EFFECT_FLAG_DEVICE_IND flag in its
* descriptor to receive this command when the device changes.
*
+ * Note: this method is only supported for effects inserted into
+ * the output chain.
+ *
* @param device output device specification.
* @return retval operation completion status.
*/
@@ -145,6 +148,9 @@
* implementation must set EFFECT_FLAG_DEVICE_IND flag in its descriptor to
* receive this command when the device changes.
*
+ * Note: this method is only supported for effects inserted into
+ * the input chain.
+ *
* @param device input device specification.
* @return retval operation completion status.
*/
@@ -209,6 +215,9 @@
* Set the audio source the capture path is configured for (Camcorder, voice
* recognition...).
*
+ * Note: this method is only supported for effects inserted into
+ * the input chain.
+ *
* @param source source descriptor.
* @return retval operation completion status.
*/
@@ -258,6 +267,7 @@
* the queue.
* @return statusMQ a message queue used for passing status from the effect.
*/
+ @callflow(next={"setProcessBuffers"})
prepareForProcessing() generates (Result retval, fmq_sync<Result> statusMQ);
/*
@@ -275,6 +285,7 @@
* INVALID_ARGUMENTS if there was a problem with mapping
* any of the buffers.
*/
+ @callflow(next={"*"})
setProcessBuffers(AudioBuffer inBuffer, AudioBuffer outBuffer) generates (
Result retval);
@@ -423,5 +434,6 @@
* @return retval OK in case the success.
* INVALID_STATE if the effect was already closed.
*/
+ @exit
close() generates (Result retval);
};