hal: separate transcode loopback usecase for Tx and Rx
- In transcode loopback usecase source device is fixed
with HDMI device and backend is not configurable.
- Separate transcode loopback usecase for Rx and Tx
to select the backend based on the source device.
Change-Id: Icbed33fe748ab5f9fc4ace3ada605ba25ad2c51c
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 313c067..2d6bcf1 100755
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -368,7 +368,8 @@
[USECASE_AUDIO_RECORD_AFE_PROXY] = {AFE_PROXY_PLAYBACK_PCM_DEVICE,
AFE_PROXY_RECORD_PCM_DEVICE},
[USECASE_AUDIO_PLAYBACK_SILENCE] = {MULTIMEDIA9_PCM_DEVICE, -1},
- [USECASE_AUDIO_TRANSCODE_LOOPBACK] = {TRANSCODE_LOOPBACK_RX_DEV_ID, TRANSCODE_LOOPBACK_TX_DEV_ID},
+ [USECASE_AUDIO_TRANSCODE_LOOPBACK_RX] = {TRANSCODE_LOOPBACK_RX_DEV_ID, -1},
+ [USECASE_AUDIO_TRANSCODE_LOOPBACK_TX] = {-1, TRANSCODE_LOOPBACK_TX_DEV_ID},
[USECASE_AUDIO_PLAYBACK_VOIP] = {AUDIO_PLAYBACK_VOIP_PCM_DEVICE, AUDIO_PLAYBACK_VOIP_PCM_DEVICE},
[USECASE_AUDIO_RECORD_VOIP] = {AUDIO_RECORD_VOIP_PCM_DEVICE, AUDIO_RECORD_VOIP_PCM_DEVICE},
@@ -910,6 +911,8 @@
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_AFE_PROXY)},
{TO_NAME_INDEX(USECASE_AUDIO_RECORD_AFE_PROXY)},
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_SILENCE)},
+ {TO_NAME_INDEX(USECASE_AUDIO_TRANSCODE_LOOPBACK_RX)},
+ {TO_NAME_INDEX(USECASE_AUDIO_TRANSCODE_LOOPBACK_TX)},
};
#define NO_COLS 2
@@ -3295,7 +3298,7 @@
snd_device = voice_get_incall_rec_snd_device(usecase->in_snd_device);
else if ((usecase->type == PCM_HFP_CALL) || (usecase->type == PCM_CAPTURE))
snd_device = usecase->in_snd_device;
- else if (usecase->type == TRANSCODE_LOOPBACK)
+ else if (usecase->type == TRANSCODE_LOOPBACK_RX)
snd_device = usecase->out_snd_device;
acdb_dev_id = acdb_device_table[platform_get_spkr_prot_snd_device(snd_device)];
@@ -6366,7 +6369,7 @@
backend_idx = platform_get_backend_index(snd_device);
- if (usecase->type == TRANSCODE_LOOPBACK) {
+ if (usecase->type == TRANSCODE_LOOPBACK_RX) {
backend_cfg.bit_width = usecase->stream.inout->out_config.bit_width;
backend_cfg.sample_rate = usecase->stream.inout->out_config.sample_rate;
backend_cfg.format = usecase->stream.inout->out_config.format;
@@ -6525,7 +6528,7 @@
backend_cfg.passthrough_enabled = false;
- if (usecase->type == TRANSCODE_LOOPBACK) {
+ if (usecase->type == TRANSCODE_LOOPBACK_TX) {
backend_cfg.bit_width = usecase->stream.inout->in_config.bit_width;
backend_cfg.sample_rate = usecase->stream.inout->in_config.sample_rate;
backend_cfg.format = usecase->stream.inout->in_config.format;