hal: Add support for spdif-in in transcode loopback usecase
Add support for spdif source in transcode loopback usecase.
Transcode loopback was supported only for HDMI source earlier.
adding support for SPDIF source for new targets.
Change-Id: I13c23d13ac2afd6b011ade961b4fece6da6bf115
diff --git a/hal/audio_extn/hw_loopback.c b/hal/audio_extn/hw_loopback.c
index f10c4bf..70f84c9 100644
--- a/hal/audio_extn/hw_loopback.c
+++ b/hal/audio_extn/hw_loopback.c
@@ -194,7 +194,8 @@
switch (loopback_patch->loopback_source.type) {
case AUDIO_PORT_TYPE_DEVICE :
if ((loopback_patch->loopback_source.config_mask & AUDIO_PORT_CONFIG_FORMAT)) {
- if (loopback_patch->loopback_source.ext.device.type & AUDIO_DEVICE_IN_HDMI) {
+ if ((loopback_patch->loopback_source.ext.device.type & AUDIO_DEVICE_IN_HDMI) ||
+ (loopback_patch->loopback_source.ext.device.type & AUDIO_DEVICE_IN_SPDIF)) {
switch (loopback_patch->loopback_source.format) {
case AUDIO_FORMAT_PCM:
case AUDIO_FORMAT_PCM_16_BIT:
@@ -216,6 +217,7 @@
//Unsupported as of now, need to extend for other source types
}
}
+
if (loopback_patch->loopback_sink.role == AUDIO_PORT_ROLE_SINK) {
switch (loopback_patch->loopback_sink.type) {
case AUDIO_PORT_TYPE_DEVICE :
@@ -245,6 +247,7 @@
if (is_source_supported && is_sink_supported) {
return source_device | sink_device;
}
+
ALOGE("%s, Unsupported source or sink port config", __func__);
return loopback_patch->patch_handle_id;
}