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 d519764..6f48828 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -260,6 +260,9 @@
[USECASE_AUDIO_PLAYBACK_ULL] = {MULTIMEDIA3_PCM_DEVICE,
MULTIMEDIA3_PCM_DEVICE},
+ [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,
@@ -612,6 +615,7 @@
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_OFFLOAD9)},
#endif
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_ULL)},
+ {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 4787b86..fdf3400 100644
--- a/hal/msm8974/platform.h
+++ b/hal/msm8974/platform.h
@@ -265,6 +265,9 @@
#endif
#endif
+// for DIRECT_PCM
+#define PLAYBACK_OFFLOAD_DEVICE2 17
+
#define COMPRESS_VOIP_CALL_PCM_DEVICE 3
#ifdef PLATFORM_MSM8610