summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/AudioMixer.h
diff options
context:
space:
mode:
authorAndy Hung <hunga@google.com>2015-01-12 15:08:22 -0800
committerAndy Hung <hunga@google.com>2015-01-14 13:11:38 -0800
commitabdb990953ffe94a9dc544aea0bed17ef7d5f484 (patch)
treea5cba46c6820b02771d0759bdb1ef6b6d6292356 /services/audioflinger/AudioMixer.h
parent2d85f097d653b21d1ff2c34f0b732c674d20ccc2 (diff)
downloadframeworks_av-abdb990953ffe94a9dc544aea0bed17ef7d5f484.zip
frameworks_av-abdb990953ffe94a9dc544aea0bed17ef7d5f484.tar.gz
frameworks_av-abdb990953ffe94a9dc544aea0bed17ef7d5f484.tar.bz2
Allow AUDIO_FORMAT_PCM_8_BIT AudioTrack buffers
Previously conversion to AUDIO_FORMAT_PCM_16_BIT was required. Client shared memory for static tracks and AudioFlinger track creation and buffer delivery now use native 8 bit PCM data. Change-Id: I485c07a4971fde9a25442bd43fed95019d39abcc
Diffstat (limited to 'services/audioflinger/AudioMixer.h')
-rw-r--r--services/audioflinger/AudioMixer.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/services/audioflinger/AudioMixer.h b/services/audioflinger/AudioMixer.h
index c2ff985..c5df08a 100644
--- a/services/audioflinger/AudioMixer.h
+++ b/services/audioflinger/AudioMixer.h
@@ -127,10 +127,16 @@ public:
size_t getUnreleasedFrames(int name) const;
static inline bool isValidPcmTrackFormat(audio_format_t format) {
- return format == AUDIO_FORMAT_PCM_16_BIT ||
- format == AUDIO_FORMAT_PCM_24_BIT_PACKED ||
- format == AUDIO_FORMAT_PCM_32_BIT ||
- format == AUDIO_FORMAT_PCM_FLOAT;
+ switch (format) {
+ case AUDIO_FORMAT_PCM_8_BIT:
+ case AUDIO_FORMAT_PCM_16_BIT:
+ case AUDIO_FORMAT_PCM_24_BIT_PACKED:
+ case AUDIO_FORMAT_PCM_32_BIT:
+ case AUDIO_FORMAT_PCM_FLOAT:
+ return true;
+ default:
+ return false;
+ }
}
private: