diff options
author | Eric Laurent <elaurent@google.com> | 2011-06-18 08:52:52 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2011-07-17 13:26:28 -0700 |
commit | f4527973111826c537c5b5507d467cd8f48cb4a3 (patch) | |
tree | cefc0268f6efae4425242aee783c738cc62ea02a /libaudio/AudioHardware.h | |
parent | 46d6b54d5cda6ecd9721081867c211a6208d9081 (diff) | |
download | device_samsung_crespo-f4527973111826c537c5b5507d467cd8f48cb4a3.zip device_samsung_crespo-f4527973111826c537c5b5507d467cd8f48cb4a3.tar.gz device_samsung_crespo-f4527973111826c537c5b5507d467cd8f48cb4a3.tar.bz2 |
Audio HAL: added audio pre processing
Added calls to audio preprocessings for input streams.
Change-Id: I1c655005b62b235e5d5d671634227f4a99eee43e
Diffstat (limited to 'libaudio/AudioHardware.h')
-rw-r--r-- | libaudio/AudioHardware.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/libaudio/AudioHardware.h b/libaudio/AudioHardware.h index abc2e08..5eec70e 100644 --- a/libaudio/AudioHardware.h +++ b/libaudio/AudioHardware.h @@ -25,6 +25,7 @@ #include <hardware_legacy/AudioHardwareBase.h> #include <media/mediarecorder.h> +#include <hardware/audio_effect.h> #include "secril-client.h" @@ -55,7 +56,7 @@ namespace android_audio_legacy { // Default audio output sample format #define AUDIO_HW_OUT_FORMAT (AudioSystem::PCM_16_BIT) // Kernel pcm out buffer size in frames at 44.1kHz -#define AUDIO_HW_OUT_PERIOD_SZ 1024 +#define AUDIO_HW_OUT_PERIOD_SZ 448 #define AUDIO_HW_OUT_PERIOD_CNT 4 // Default audio output buffer size in bytes #define AUDIO_HW_OUT_PERIOD_BYTES (AUDIO_HW_OUT_PERIOD_SZ * 2 * sizeof(int16_t)) @@ -67,8 +68,8 @@ namespace android_audio_legacy { // Default audio input sample format #define AUDIO_HW_IN_FORMAT (AudioSystem::PCM_16_BIT) // Kernel pcm in buffer size in frames at 44.1kHz (before resampling) -#define AUDIO_HW_IN_PERIOD_SZ 2048 -#define AUDIO_HW_IN_PERIOD_CNT 2 +#define AUDIO_HW_IN_PERIOD_SZ 448 +#define AUDIO_HW_IN_PERIOD_CNT 4 // Default audio input buffer size in bytes (8kHz mono) #define AUDIO_HW_IN_PERIOD_BYTES ((AUDIO_HW_IN_PERIOD_SZ*sizeof(int16_t))/8) @@ -348,7 +349,11 @@ private: void lock(); void unlock(); - private: + private: + + ssize_t readFrames(void* buffer, ssize_t frames); + ssize_t processFrames(void* buffer, ssize_t frames); + Mutex mLock; AudioHardware* mHardware; struct pcm *mPcm; @@ -363,12 +368,16 @@ private: size_t mBufferSize; ReSampler *mDownSampler; status_t mReadStatus; - size_t mInPcmInBuf; - int16_t *mPcmIn; + size_t mInputFramesIn; + int16_t *mInputBuf; // trace driver operations for dump int mDriverOp; int mStandbyCnt; bool mSleepReq; + SortedVector<effect_handle_t> mPreprocessors; + int16_t *mProcBuf; + size_t mProcBufSize; + size_t mProcFramesIn; }; }; |