diff options
author | Andy Hung <hunga@google.com> | 2015-04-20 13:23:41 -0700 |
---|---|---|
committer | Andy Hung <hunga@google.com> | 2015-04-22 12:42:52 -0700 |
commit | d330ee46022f34da76d14d0c4d2910526ecc2321 (patch) | |
tree | 05df908a6cd115a92eb1e15a2daa191c14a441b2 /services/audioflinger/Threads.h | |
parent | f27e2fbfc3284c00a60fa68edc51d436f75b1e32 (diff) | |
download | frameworks_av-d330ee46022f34da76d14d0c4d2910526ecc2321.zip frameworks_av-d330ee46022f34da76d14d0c4d2910526ecc2321.tar.gz frameworks_av-d330ee46022f34da76d14d0c4d2910526ecc2321.tar.bz2 |
Add floating and multichannel record to AudioFlinger
Change-Id: Ia388fb012a0b6d81613ef87142a97d76836338f9
Diffstat (limited to 'services/audioflinger/Threads.h')
-rw-r--r-- | services/audioflinger/Threads.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/services/audioflinger/Threads.h b/services/audioflinger/Threads.h index ed2e4a1..b7c1ed1 100644 --- a/services/audioflinger/Threads.h +++ b/services/audioflinger/Threads.h @@ -1130,8 +1130,11 @@ public: } private: - // internal convert function for format and channel mask. - void convert(void *dst, /*const*/ void *src, size_t frames); + // format conversion when not using resampler + void convertNoResampler(void *dst, const void *src, size_t frames); + + // format conversion when using resampler; modifies src in-place + void convertResampler(void *dst, /*not-a-const*/ void *src, size_t frames); // user provided information audio_channel_mask_t mSrcChannelMask; @@ -1153,10 +1156,12 @@ public: // resampler info AudioResampler *mResampler; - // interleaved stereo pairs of fixed-point Q4.27 or float depending on resampler - void *mRsmpOutBuffer; - // current allocated frame count for the above, which may be larger than needed - size_t mRsmpOutFrameCount; + + bool mIsLegacyDownmix; // legacy stereo to mono conversion needed + bool mIsLegacyUpmix; // legacy mono to stereo conversion needed + bool mRequiresFloat; // data processing requires float (e.g. resampler) + PassthruBufferProvider *mInputConverterProvider; // converts input to float + int8_t mIdxAry[sizeof(uint32_t) * 8]; // used for channel mask conversion }; #include "RecordTracks.h" |