alsa_utils: Case-insensitive match device control name.
Some devices use MIC for control names, so case-insensitive match is needed.
BUG=chromium:396227
TEST=Run audio_Microphone and audio_AlsaLoopback tests on link and peach_pit.
Change-Id: I54f7c4830e90538d0dc0d168278e146fa10697a6
Reviewed-on: https://chromium-review.googlesource.com/209724
Commit-Queue: Chinyue Chen <chinyue@chromium.org>
Tested-by: Chinyue Chen <chinyue@chromium.org>
Reviewed-by: Owen Lin <owenlin@chromium.org>
diff --git a/client/cros/audio/alsa_utils.py b/client/cros/audio/alsa_utils.py
index 584c1d2..52c25b7 100644
--- a/client/cros/audio/alsa_utils.py
+++ b/client/cros/audio/alsa_utils.py
@@ -118,10 +118,12 @@
@param scname: Simple control name to look for.
'''
+ cpat = re.compile(r'\b%s\b' % cname, re.IGNORECASE)
+ scpat = re.compile(r'\b%s\b' % scname, re.IGNORECASE)
for card_id in xrange(get_num_soundcards()):
- for name, func in [(cname, _get_soundcard_controls),
- (scname, _get_soundcard_scontrols)]:
- if any(name in c for c in func(card_id)):
+ for pat, func in [(cpat, _get_soundcard_controls),
+ (scpat, _get_soundcard_scontrols)]:
+ if any(pat.search(c) for c in func(card_id)):
return card_id
return None