hal: Increase direct PCM buffer duration
- Increase direct PCM buffer duration (80ms) to receive
linear time acks on write for fractional sample rates
- Fixes 44.1 Khz timestamp updates.
Change-Id: I0f657bae0d6e4645f2fcf2b37b97014b89544008
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index 8c4f313..ab508b7 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -1222,7 +1222,8 @@
*be multiple of (number of channels * bytes per sample)
*For writes to succeed, the buffer must be written at address which is multiple of 32
*/
- fragment_size = ALIGN(fragment_size, (bytes_per_sample * noOfChannels * 32));
+ fragment_size = ALIGN(fragment_size, (bytes_per_sample * noOfChannels));
+ fragment_size = ALIGN(fragment_size, 32);
ALOGI("PCM offload Fragment size to %d bytes", fragment_size);
return fragment_size;
diff --git a/hal/msm8974/platform.h b/hal/msm8974/platform.h
index a15c399..930bae0 100644
--- a/hal/msm8974/platform.h
+++ b/hal/msm8974/platform.h
@@ -298,7 +298,7 @@
/* Used in calculating fragment size for pcm offload */
-#define PCM_OFFLOAD_BUFFER_DURATION 40 /* 40 millisecs */
+#define PCM_OFFLOAD_BUFFER_DURATION 80 /* 80 millisecs */
/* MAX PCM fragment size cannot be increased further due
* to flinger's cblk size of 1mb,and it has to be a multiple of