summaryrefslogtreecommitdiff
path: root/audio/jamr3/jamr3_audio_hw.c
diff options
context:
space:
mode:
Diffstat (limited to 'audio/jamr3/jamr3_audio_hw.c')
-rw-r--r--audio/jamr3/jamr3_audio_hw.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/audio/jamr3/jamr3_audio_hw.c b/audio/jamr3/jamr3_audio_hw.c
index cf2772f..7dd8c2c 100644
--- a/audio/jamr3/jamr3_audio_hw.c
+++ b/audio/jamr3/jamr3_audio_hw.c
@@ -95,9 +95,11 @@ struct j6_stream_in {
};
static const char *supported_cards[] = {
- "DRA7xxJAMR3",
+ "DRA7xx-JAMR3",
};
+#define MAX_CARD_COUNT 10
+
#define SUPPORTED_IN_DEVICES AUDIO_DEVICE_IN_LINE
#define CAPTURE_SAMPLE_RATE 44100
@@ -119,18 +121,20 @@ struct pcm_config pcm_config_capture = {
static int find_card_index(const char *supported_cards[], int num_supported)
{
- char name[256] = "";
+ struct mixer *mixer;
+ const char *name;
int card = 0;
int found = 0;
int i;
-#ifdef OMAP_ENHANCEMENT
do {
/* returns an error after last valid card */
- int ret = mixer_get_card_name(card, name, sizeof(name));
- if (ret)
+ mixer = mixer_open(card);
+ if (!mixer)
break;
+ name = mixer_get_name(mixer);
+
for (i = 0; i < num_supported; ++i) {
if (supported_cards[i] && !strcmp(name, supported_cards[i])) {
ALOGV("Supported card '%s' found at %d", name, card);
@@ -138,12 +142,13 @@ static int find_card_index(const char *supported_cards[], int num_supported)
break;
}
}
+
+ mixer_close(mixer);
} while (!found && (card++ < MAX_CARD_COUNT));
-#endif
/* Use default card number if not found */
if (!found)
- card = 0;
+ card = 2;
return card;
}