AudioEffect_1
2020-03-17 18:29:32 0 举报
Android Audio Effect
作者其他创作
大纲/内容
AudioHalStreamIn
CopyVoiceRecognitionDataToClient
AudioHalCaptureDataProviderNormal
new AudioMixer()
EffectChain
AudioHalCaptureDataClient
add_audio_effect
AudioFlinger
EffectQueryNumberEffects
libaisaudiopreprocessing.so
addEffectChain_l
audioFlinger-createEffect
read()
set()
createAudioPolicyManager
AudioPolicyInterfaceImpl
mStreamAttributeTarget.NativePreprocess_Info.PreProcessEffect_Record[mStreamAttributeTarget.NativePreprocess_Info.PreProcessEffect_Count] = effect;
audio_effects.xml
addAudioEffect
BufferProvider
AudioPolicyService::instantiate
openOutput_l
syncHalEffectsState
MixerThread
AudioEffect
AudioPolicyManager
中间步骤省略
AudioPolicyService
NativePreprocess
AudioPolicyEffects
从audio_effects.xml获取effect库的加载路径和effect的配置属性
main_audioserver.cpp
effect_handle_t由上面PreProcessingLib_create创建
EffectsFactory
openOutput
pthread_once()sInitRoutine()
init()loadEffectConfigFile()loadLibraries(root)loadEffects(root)
new AudioEffect
getInputForAttr
frameworks/av/media/libeffects/preprocessing/PreProcessing.cpp
loadInputEffectConfigurations
readThreadprovideVoiceRecognitionDataToAllClients
AudioMixer
WriteMonoBuffer
DownmixerBufferProvider::init()
set()openRecord_l()
audio_hw_hal
RecordThread
loadHwModule()
AudioHalPreProcess
对应的源码
new MixerThread()
AudioRecord

收藏

收藏
0 条评论
下一页