frameworks/av: Add ifdefs for QCOM_HARDWARE features
Change-Id: Iebe0da91f0b761bba8eb8c0e181c47bbd0d0703d
diff --git a/services/audioflinger/Tracks.cpp b/services/audioflinger/Tracks.cpp
index 436d4de..dfae5d9 100644
--- a/services/audioflinger/Tracks.cpp
+++ b/services/audioflinger/Tracks.cpp
@@ -66,7 +66,9 @@
audio_format_t format,
audio_channel_mask_t channelMask,
size_t frameCount,
+#ifdef QCOM_HARDWARE
uint32_t flags,
+#endif
const sp<IMemory>& sharedBuffer,
int sessionId,
bool isOut)
@@ -80,10 +82,17 @@
mFormat(format),
mChannelMask(channelMask),
mChannelCount(popcount(channelMask)),
+#ifdef QCOM_HARDWARE
mFrameSize((audio_is_linear_pcm(format) || audio_is_supported_compressed(format)) ?
((flags & IAudioFlinger::TRACK_VOICE_COMMUNICATION)? mChannelCount * sizeof(int16_t) : mChannelCount * audio_bytes_per_sample(format)) : sizeof(int8_t)),
+#else
+ mFrameSize(audio_is_linear_pcm(format) ?
+ mChannelCount * audio_bytes_per_sample(format) : sizeof(int8_t)),
+#endif
mFrameCount(frameCount),
+#ifdef QCOM_HARDWARE
mFlags(0),
+#endif
mSessionId(sessionId),
mIsOut(isOut),
mServerProxy(NULL),
@@ -98,6 +107,7 @@
// ALOGD("Creating track with %d buffers @ %d bytes", bufferCount, bufferSize);
size_t size = sizeof(audio_track_cblk_t);
+#ifdef QCOM_HARDWARE
uint8_t channelCount = popcount(channelMask);
size_t bufferSize = 0;
if (flags & IAudioFlinger::TRACK_VOICE_COMMUNICATION) {
@@ -118,6 +128,9 @@
bufferSize = frameCount * channelCount * AMR_WB_FRAMESIZE; // full rate frame size
}
}
+#else
+ size_t bufferSize = (sharedBuffer == 0 ? roundup(frameCount) : frameCount) * mFrameSize;
+#endif
if (sharedBuffer == 0) {
size += bufferSize;
@@ -146,6 +159,7 @@
mCblk->frameCount_ = frameCount;
if (sharedBuffer == 0) {
mBuffer = (char*)mCblk + sizeof(audio_track_cblk_t);
+#ifdef QCOM_HARDWARE
if (flags & IAudioFlinger::TRACK_VOICE_COMMUNICATION) {
memset(mBuffer, 0, bufferSize);
} else {
@@ -169,6 +183,9 @@
memset(mBuffer, 0, frameCount * channelCount * AMR_WB_FRAMESIZE);
}
}
+#else
+ memset(mBuffer, 0, bufferSize);
+#endif
} else {
mBuffer = sharedBuffer->pointer();
#if 0
@@ -358,9 +375,14 @@
const sp<IMemory>& sharedBuffer,
int sessionId,
IAudioFlinger::track_flags_t flags)
+#ifdef QCOM_HARDWARE
: TrackBase(thread, client, sampleRate, format, channelMask, frameCount,
((audio_stream_type_t)streamType == AUDIO_STREAM_VOICE_CALL)? IAudioFlinger::TRACK_VOICE_COMMUNICATION:0x0,
sharedBuffer, sessionId, true /*isOut*/),
+#else
+ : TrackBase(thread, client, sampleRate, format, channelMask, frameCount, sharedBuffer,
+ sessionId, true /*isOut*/),
+#endif
mFillingUpStatus(FS_INVALID),
// mRetryCount initialized later when needed
mSharedBuffer(sharedBuffer),
@@ -1783,14 +1805,23 @@
audio_format_t format,
audio_channel_mask_t channelMask,
size_t frameCount,
+#ifdef QCOM_HARDWARE
uint32_t flags,
+#endif
int sessionId)
+#ifdef QCOM_HARDWARE
: TrackBase(thread, client, sampleRate, format, channelMask, frameCount,
flags, 0 /*sharedBuffer*/, sessionId, false /*isOut*/),
+#else
+ : TrackBase(thread, client, sampleRate, format,
+ channelMask, frameCount, 0 /*sharedBuffer*/, sessionId, false /*isOut*/),
+#endif
mOverflow(false)
{
ALOGV("RecordTrack constructor");
+#ifdef QCOM_HARDWARE
mFlags = flags;
+#endif
if (mCblk != NULL) {
mAudioRecordServerProxy = new AudioRecordServerProxy(mCblk, mBuffer, frameCount,
mFrameSize);