From 02d88d66c02982deec3aedee78c1f64352c539bc Mon Sep 17 00:00:00 2001 From: Arne Coucheron Date: Fri, 4 Dec 2015 22:26:44 +0100 Subject: audioflinger: Don't do float conversion in upmix/downmix for legacy ALSA Legacy ALSA really hates floating point, and it's breaking mic input when doing things like audio recording. Use the old conversion routine for legacy ALSA. Change-Id: I616f4cd42fa0e4d7595dd61ed2d36c4fa7052c53 --- services/audioflinger/Threads.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'services/audioflinger/Threads.h') diff --git a/services/audioflinger/Threads.h b/services/audioflinger/Threads.h index 9e32ea1..6182364 100644 --- a/services/audioflinger/Threads.h +++ b/services/audioflinger/Threads.h @@ -1160,11 +1160,16 @@ public: } private: +#ifdef LEGACY_ALSA_AUDIO + // internal convert function for format and channel mask. + void convert(void *dst, /*const*/ void *src, size_t frames); +#else // 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); +#endif // user provided information audio_channel_mask_t mSrcChannelMask; -- cgit v1.1