policy_hal: hal: add support to enable Direct PCM
- add support for direct pcm output
- add support for direct pcm in hal
if output flag is direct_pcm choose compress offload path
- add support for direct pcm in custom audio policy manager
force add direct flag when we detect pcm track in music and
game use case
Change-Id: Ie69c988ef9cd0477efa77611ceddccdd6b17a163
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index b5680fb..f410fdf 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -254,6 +254,10 @@
[USECASE_AUDIO_PLAYBACK_OFFLOAD9] =
{PLAYBACK_OFFLOAD_DEVICE9, PLAYBACK_OFFLOAD_DEVICE9},
#endif
+
+ [USECASE_AUDIO_DIRECT_PCM_OFFLOAD] =
+ {PLAYBACK_OFFLOAD_DEVICE2, PLAYBACK_OFFLOAD_DEVICE2},
+
[USECASE_AUDIO_RECORD] = {AUDIO_RECORD_PCM_DEVICE, AUDIO_RECORD_PCM_DEVICE},
[USECASE_AUDIO_RECORD_COMPRESS] = {COMPRESS_CAPTURE_DEVICE, COMPRESS_CAPTURE_DEVICE},
[USECASE_AUDIO_RECORD_LOW_LATENCY] = {LOWLATENCY_PCM_DEVICE,
@@ -605,6 +609,7 @@
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_OFFLOAD8)},
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_OFFLOAD9)},
#endif
+ {TO_NAME_INDEX(USECASE_AUDIO_DIRECT_PCM_OFFLOAD)},
{TO_NAME_INDEX(USECASE_AUDIO_RECORD)},
{TO_NAME_INDEX(USECASE_AUDIO_RECORD_LOW_LATENCY)},
{TO_NAME_INDEX(USECASE_VOICE_CALL)},
diff --git a/hal/msm8974/platform.h b/hal/msm8974/platform.h
index fa9f4bb..e655433 100644
--- a/hal/msm8974/platform.h
+++ b/hal/msm8974/platform.h
@@ -266,6 +266,9 @@
#endif
#endif
+// for DIRECT_PCM
+#define PLAYBACK_OFFLOAD_DEVICE2 17
+
#define COMPRESS_VOIP_CALL_PCM_DEVICE 3
#ifdef PLATFORM_MSM8610