2b43a5debe
Update the documentation and usage when HAL implementation wants to convey the parameter ID is not supported. Bug: 141929369 Test: build and boot smoke test && verify unsupported parameter use case with test app Change-Id: I2124d8e5e9b136bd0797c16e71aa0b4049c9ed58
124 lines
6.1 KiB
Text
124 lines
6.1 KiB
Text
/*
|
|
* Copyright 2019 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.
|
|
*/
|
|
|
|
package android.hardware.soundtrigger@2.3;
|
|
|
|
import @2.0::SoundModelHandle;
|
|
import @2.0::ISoundTriggerHwCallback.CallbackCookie;
|
|
import @2.2::ISoundTriggerHw;
|
|
import @2.1::ISoundTriggerHwCallback;
|
|
|
|
/**
|
|
* SoundTrigger HAL interface. Used for hardware recognition of hotwords
|
|
* and other sounds.
|
|
*/
|
|
interface ISoundTriggerHw extends @2.2::ISoundTriggerHw {
|
|
|
|
/**
|
|
* Retrieve extended implementation properties.
|
|
* The returned properties includes what is returned from the
|
|
* getProperties along with expanded implementation details.
|
|
*
|
|
* @return retval Operation completion status: 0 in case of success,
|
|
* -ENODEV in case of initialization error.
|
|
* @return properties A Properties structure containing implementation
|
|
* description and capabilities.
|
|
*/
|
|
getProperties_2_3() generates (int32_t retval, Properties properties);
|
|
|
|
/**
|
|
* Start recognition on a given model. Only one recognition active
|
|
* at a time per model. Once recognition succeeds or fails, the callback
|
|
* associated with the model handle is called.
|
|
*
|
|
* Must have the exact same semantics as startRecognition from
|
|
* ISoundTriggerHw@2.1 except that the RecognitionConfig includes audio
|
|
* capabilities applied when the recognition is active.
|
|
*
|
|
* @param modelHandle the handle of the sound model to use for recognition
|
|
* @param config A RecognitionConfig structure containing attributes of the
|
|
* recognition to perform
|
|
* @return retval Operation completion status: 0 in case of success,
|
|
* -EINVAL in case of invalid recognition attributes,
|
|
* -ENOSYS in case of invalid model handle,
|
|
* -ENOMEM in case of memory allocation failure,
|
|
* -ENODEV in case of initialization error.
|
|
*/
|
|
startRecognition_2_3(SoundModelHandle modelHandle, RecognitionConfig config)
|
|
generates (int32_t retval);
|
|
|
|
/**
|
|
* Set a model specific parameter with the given value. This parameter
|
|
* will keep its value for the duration the model is loaded regardless of starting and stopping
|
|
* recognition. Once the model is unloaded, the value will be lost.
|
|
* It is expected to check if the handle supports the parameter via the queryParameter
|
|
* API prior to calling this method.
|
|
*
|
|
* @param modelHandle The sound model handle indicating which model to modify parameters
|
|
* @param modelParam Parameter to set which will be validated against the
|
|
* ModelParameter type. Not putting ModelParameter type
|
|
* directly in the definition and validating internally
|
|
* allows for forward compatibility.
|
|
* @param value The value to set for the given model parameter
|
|
* @return status Operation completion status: 0 in case of success,
|
|
* -ENODEV if the native service cannot be reached
|
|
* -EINVAL invalid input parameter
|
|
*/
|
|
setParameter(SoundModelHandle modelHandle, ModelParameter modelParam, int32_t value)
|
|
generates (int32_t status);
|
|
|
|
/**
|
|
* Get a model specific parameter. This parameter will keep its value
|
|
* for the duration the model is loaded regardless of starting and stopping recognition.
|
|
* Once the model is unloaded, the value will be lost. If the value is not set, a default
|
|
* value is returned. See ModelParameter for parameter default values.
|
|
* It is expected to check if the handle supports the parameter via the queryParameter
|
|
* API prior to calling this method.
|
|
*
|
|
* @param modelHandle The sound model associated with given modelParam
|
|
* @param modelParam Parameter to set which will be validated against the
|
|
* ModelParameter type. Not putting ModelParameter type
|
|
* directly in the definition and validating internally
|
|
* allows for forward compatibility.
|
|
* @return status Operation completion status: 0 in case of success,
|
|
* -ENODEV if the native service cannot be reached
|
|
* -EINVAL invalid input parameter
|
|
* @return value Value set to the requested parameter. Value is only set when status
|
|
* indicates success.
|
|
*/
|
|
getParameter(SoundModelHandle modelHandle, ModelParameter modelParam)
|
|
generates (int32_t status, int32_t value);
|
|
|
|
/**
|
|
* Get supported parameter attributes with respect to the provided model
|
|
* handle. Along with determining the valid range, this API is also used
|
|
* to determine if a given parameter ID is supported at all by the
|
|
* modelHandle for use with getParameter and setParameter APIs.
|
|
*
|
|
* @param modelHandle The sound model handle indicating which model to query
|
|
* @param modelParam Parameter to set which will be validated against the
|
|
* ModelParameter type
|
|
* @return status Operation completion status: 0 in case of success
|
|
* -ENODEV if the native service cannot be reached
|
|
* -EINVAL invalid input parameter
|
|
* @return retval OptionalModelParameterRange safe union structure wrapping
|
|
* ModelParameterRange. This structure indicates supported attributes
|
|
* of the parameter for the given model handle. If the parameter is not
|
|
* supported the Monostate of the union is used.
|
|
*/
|
|
queryParameter(SoundModelHandle modelHandle, ModelParameter modelParam)
|
|
generates (int32_t status, OptionalModelParameterRange retval);
|
|
};
|