android_Effect.h revision f4aebfe499998c11b31319afb1c7738d4801f7b1
14be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi/*
24be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi * Copyright (C) 2010 The Android Open Source Project
34be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi *
44be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi * Licensed under the Apache License, Version 2.0 (the "License");
54be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi * you may not use this file except in compliance with the License.
64be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi * You may obtain a copy of the License at
74be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi *
84be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi *      http://www.apache.org/licenses/LICENSE-2.0
94be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi *
104be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi * Unless required by applicable law or agreed to in writing, software
114be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi * distributed under the License is distributed on an "AS IS" BASIS,
124be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi * See the License for the specific language governing permissions and
144be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi * limitations under the License.
154be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi */
164be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi
174be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi
184be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Triviextern void android_eq_init(int sessionId, CAudioPlayer* ap);
194be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi
204be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Triviextern android::status_t android_eq_setParam(android::sp<android::AudioEffect> pFx,
214be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi        int32_t param, int32_t param2, void *pValue);
224be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi
234be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Triviextern android::status_t android_eq_getParam(android::sp<android::AudioEffect> pFx,
244be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi        int32_t param, int32_t param2, void *pValue);
254be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Trivi
269cd3c9e7a2395647b92c32f33c06cf9fd546b22fJean-Michel Triviextern void android_bb_init(int sessionId, CAudioPlayer* ap);
279cd3c9e7a2395647b92c32f33c06cf9fd546b22fJean-Michel Trivi
289cd3c9e7a2395647b92c32f33c06cf9fd546b22fJean-Michel Triviextern android::status_t android_bb_setParam(android::sp<android::AudioEffect> pFx,
299cd3c9e7a2395647b92c32f33c06cf9fd546b22fJean-Michel Trivi        int32_t param, void *pValue);
309cd3c9e7a2395647b92c32f33c06cf9fd546b22fJean-Michel Trivi
319cd3c9e7a2395647b92c32f33c06cf9fd546b22fJean-Michel Triviextern android::status_t android_bb_getParam(android::sp<android::AudioEffect> pFx,
329cd3c9e7a2395647b92c32f33c06cf9fd546b22fJean-Michel Trivi        int32_t param, void *pValue);
339cd3c9e7a2395647b92c32f33c06cf9fd546b22fJean-Michel Trivi
34f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Triviextern void android_virt_init(int sessionId, CAudioPlayer* ap);
35f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Trivi
36f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Triviextern android::status_t android_virt_setParam(android::sp<android::AudioEffect> pFx,
37f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Trivi        int32_t param, void *pValue);
38f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Trivi
39f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Triviextern android::status_t android_virt_getParam(android::sp<android::AudioEffect> pFx,
40f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Trivi        int32_t param, void *pValue);
41f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Trivi
42f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Triviextern android::status_t android_fx_setParam(android::sp<android::AudioEffect> pFx,
43f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Trivi        int32_t param, uint32_t paramSizeMax, void *pValue, uint32_t valueSize);
44f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Trivi
45f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Triviextern android::status_t android_fx_getParam(android::sp<android::AudioEffect> pFx,
46f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Trivi        int32_t param, uint32_t paramSizeMax, void *pValue, uint32_t valueSize);
47f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Trivi
484be7fe875758b42939719a1082ae9e6dbf37a1d7Jean-Michel Triviextern SLresult android_fx_statusToResult(android::status_t status);
4967bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi
50f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Triviextern bool android_fx_initEffectObj(int sessionId, android::sp<android::AudioEffect>& effect,
51f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Trivi        const effect_uuid_t *type,  const effect_uuid_t *uuid);
52f4aebfe499998c11b31319afb1c7738d4801f7b1Jean-Michel Trivi
53f5fce95f98037ea4ab341b416c82444af595313dJean-Michel Triviextern bool android_fx_initEffectDescriptor(const SLInterfaceID effectId,
54f5fce95f98037ea4ab341b416c82444af595313dJean-Michel Trivi        effect_descriptor_t* fxDescrLoc);
55f5fce95f98037ea4ab341b416c82444af595313dJean-Michel Trivi
5667bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi
5767bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Triviextern SLresult android_genericFx_queryNumEffects(SLuint32 *pNumSupportedAudioEffects);
5867bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi
5967bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Triviextern SLresult android_genericFx_queryEffect(SLuint32 index, SLInterfaceID *pAudioEffectId);
6067bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi
6167bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Triviextern SLresult android_genericFx_createEffect(int sessionId, SLInterfaceID pUuid,
6267bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi        void **ppAudioEffect);
6367bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi
6467bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Triviextern SLresult android_genericFx_releaseEffect(void *pAudioEffect);
6567bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi
6667bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Triviextern SLresult android_genericFx_setEnabled(void *pAudioEffect, SLboolean enabled);
6767bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi
6867bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Triviextern SLresult android_genericFx_isEnabled(void *pAudioEffect, SLboolean *pEnabled);
6967bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi
7067bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Triviextern SLresult android_genericFx_sendCommand(void *pAudioEffect, SLuint32 command,
7167bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi        SLuint32 commandSize, void* pCommand, SLuint32 *replySize, void *pReply);
7267bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi
73