blob: d9c305d510b9cdb671b90463bd49902f486834c4 [file] [log] [blame]
#ifndef __AUDIO_EFFECT_IF_H_
#define __AUDIO_EFFECT_IF_H_
#include <hardware/hardware.h>
#include <hardware/audio.h>
#ifdef __cplusplus
extern "C"
{
#endif
//-------------Effect type typedef--------------------------
typedef enum AML_AUDIO_EFFECT_TYPE {
AML_EFFECT_BALANCE = 0,
AML_EFFECT_VIRTUALSURROUND,
AML_EFFECT_TREBLEBASS,
AML_EFFECT_HPEQ,
AML_EFFECT_AVL,
AML_EFFECT_VIRTUALX,
AML_EFFECT_VIRTUALX_v4,
AML_EFFECT_MAX,
} aml_audio_effect_type_e;
typedef struct audio_effect_s {
void *handle;
int (*set_parameters)(aml_audio_effect_type_e type,
uint32_t cmdSize,
void *pCmdData,
uint32_t *replySize,
void *pReplyData);
int (*get_parameters)(aml_audio_effect_type_e type,
uint32_t cmdSize,
void *pCmdData,
uint32_t *replySize,
void *pReplyData);
}audio_effect_t;
//-------------Effect API--------------------------
int audio_effect_load_interface(audio_hw_device_t *dev, audio_effect_t **effect);
void audio_effect_unload_interface(audio_hw_device_t *dev);
int audio_effect_set_parameters(aml_audio_effect_type_e type, effect_param_t *param);
int audio_effect_get_parameters(aml_audio_effect_type_e type, effect_param_t *param);
#ifdef __cplusplus
}
#endif
#endif /* __AUDIO_EFFECT_IF_H_ */