Quick hack fix for USB accessory audio support
tinyalsa fails to retrieve the correct value for the period count
from the f_audio_source driver and tries to use zero instead.
This wasn't a problem before because the usb audio HAL used hard coded values
that were compatible with the driver.
Bug: 16799652
Change-Id: I6f5b907a0699c58b071e9f419ed8e053a7d9dc77
diff --git a/modules/usbaudio/alsa_device_proxy.c b/modules/usbaudio/alsa_device_proxy.c
index 63a27e7..e15f093 100644
--- a/modules/usbaudio/alsa_device_proxy.c
+++ b/modules/usbaudio/alsa_device_proxy.c
@@ -66,6 +66,13 @@
proxy->alsa_config.period_size =
profile_get_period_size(proxy->profile, proxy->alsa_config.rate);
+ // Hack for USB accessory audio.
+ // Here we set the correct value for period_count if tinyalsa fails to get it from the
+ // f_audio_source driver.
+ if (proxy->alsa_config.period_count == 0) {
+ proxy->alsa_config.period_count = 4;
+ }
+
proxy->pcm = NULL;
}