Merge "hal: Add property to set TrueHD buffer size"
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index 2ab9408..79f6bc5 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -6339,9 +6339,18 @@
audio_offload_info_t* info)
{
uint32_t fragment_size = MIN_COMPRESS_PASSTHROUGH_FRAGMENT_SIZE;
+ char value[PROPERTY_VALUE_MAX] = {0};
+
+ if (((info->format == AUDIO_FORMAT_DOLBY_TRUEHD) ||
+ (info->format == AUDIO_FORMAT_IEC61937)) &&
+ property_get("audio.truehd.buffer.size.kb", value, "") &&
+ atoi(value)) {
+ fragment_size = atoi(value) * 1024;
+ goto done;
+ }
if (!info->has_video)
fragment_size = MIN_COMPRESS_PASSTHROUGH_FRAGMENT_SIZE;
-
+done:
return fragment_size;
}
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 8f7e125..47fce0e 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -6008,9 +6008,18 @@
audio_offload_info_t* info)
{
uint32_t fragment_size = MIN_COMPRESS_PASSTHROUGH_FRAGMENT_SIZE;
+ char value[PROPERTY_VALUE_MAX] = {0};
+
+ if (((info->format == AUDIO_FORMAT_DOLBY_TRUEHD) ||
+ (info->format == AUDIO_FORMAT_IEC61937)) &&
+ property_get("audio.truehd.buffer.size.kb", value, "") &&
+ atoi(value)) {
+ fragment_size = atoi(value) * 1024;
+ goto done;
+ }
if (!info->has_video)
fragment_size = MIN_COMPRESS_PASSTHROUGH_FRAGMENT_SIZE;
-
+done:
return fragment_size;
}