hal: SSR support for compress offload
- reject offload request based on sound
card state
Change-Id: I38256ce6163f948a9e9c14cb895de3f71529a0e9
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index a357e98..ffdf5d1 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -2631,6 +2631,20 @@
struct str_parms *reply = str_parms_create();
struct str_parms *query = str_parms_create_str(keys);
char *str;
+ char value[256] = {0};
+ int ret = 0;
+
+ ret = str_parms_get_str(query, "SND_CARD_STATUS", value,
+ sizeof(value));
+ if (ret >=0) {
+ int val = 1;
+ pthread_mutex_lock(&adev->snd_card_status.lock);
+ if (SND_CARD_STATE_OFFLINE == adev->snd_card_status.state)
+ val = 0;
+ pthread_mutex_unlock(&adev->snd_card_status.lock);
+ str_parms_add_int(reply, "SND_CARD_STATUS", val);
+ goto exit;
+ }
pthread_mutex_lock(&adev->lock);
audio_extn_get_parameters(adev, query, reply);
@@ -2638,6 +2652,7 @@
platform_get_parameters(adev->platform, query, reply);
pthread_mutex_unlock(&adev->lock);
+exit:
str = str_parms_to_str(reply);
str_parms_destroy(query);
str_parms_destroy(reply);