From 464d5b3da21c84ba13dc69c611d40f6bed49badb Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Fri, 17 Jun 2011 21:29:58 -0700 Subject: Audio framework: support for audio pre processing Audio effect framework is extended to suport effects on output and input audio path. AudioFlinger: Support for audio effects and effect chains is moved from PlaybackThread class to ThreadBase class so that RecordThread can manage effects. Effects of type pre processing are allowed on record thread only. When a pre processing is enabled, the effect interface handle is passed down to the input stream so that the audio HAL can call the process function. The record thread loop calls the effect chain process function that will only manage the effect state and commands and skip the process function. AudioRecord: The audio session is allocated before calling getInput() into audio policy serice so that the session is known before the input theead is created and pre processings can be created on the correct session. AudioPolicyService: default pre processing for a given input source are loaded from audio_effects.conf file. When an input is created, corresponding effects are created and enabled. Change-Id: Id17119e0979b4dcf189b5c7957fec30dc3478790 --- include/media/AudioSystem.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'include/media/AudioSystem.h') diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h index 89213b7086e4..f20e2343d3c9 100644 --- a/include/media/AudioSystem.h +++ b/include/media/AudioSystem.h @@ -160,7 +160,8 @@ public: uint32_t samplingRate = 0, uint32_t format = AUDIO_FORMAT_DEFAULT, uint32_t channels = AUDIO_CHANNEL_IN_MONO, - audio_in_acoustics_t acoustics = (audio_in_acoustics_t)0); + audio_in_acoustics_t acoustics = (audio_in_acoustics_t)0, + int sessionId = 0); static status_t startInput(audio_io_handle_t input); static status_t stopInput(audio_io_handle_t input); static void releaseInput(audio_io_handle_t input); @@ -175,7 +176,7 @@ public: static audio_io_handle_t getOutputForEffect(effect_descriptor_t *desc); static status_t registerEffect(effect_descriptor_t *desc, - audio_io_handle_t output, + audio_io_handle_t io, uint32_t strategy, int session, int id); -- cgit v1.2.3-59-g8ed1b