Implement USB Audio across Nexus Devices

Fix issues with connecting non-audio USB devices.

https://b.corp.google.com/issue?id=13745966
https://b.corp.google.com/issue?id=8281454
https://b.corp.google.com/issue?id=13751080
https://b.corp.google.com/issue?id=4643412

Change-Id: I1186f69a6c5f50279a1225a77fb5d4f7a8eda3cb
This commit is contained in:
Paul McLean
2014-04-10 16:02:55 -07:00
parent c837a45194
commit df3614693d
3 changed files with 184 additions and 82 deletions

View File

@@ -205,14 +205,49 @@ public class AlsaDevicesParser {
return mHasPlaybackDevices;
}
public boolean hasPlaybackDevices(int card) {
for (int index = 0; index < deviceRecords_.size(); index++) {
AlsaDeviceRecord deviceRecord = deviceRecords_.get(index);
if (deviceRecord.mCardNum == card &&
deviceRecord.mDeviceType == AlsaDeviceRecord.kDeviceType_Audio &&
deviceRecord.mDeviceDir == AlsaDeviceRecord.kDeviceDir_Playback) {
return true;
}
}
return false;
}
public boolean hasCaptureDevices() {
return mHasCaptureDevices;
}
public boolean hasCaptureDevices(int card) {
for (int index = 0; index < deviceRecords_.size(); index++) {
AlsaDeviceRecord deviceRecord = deviceRecords_.get(index);
if (deviceRecord.mCardNum == card &&
deviceRecord.mDeviceType == AlsaDeviceRecord.kDeviceType_Audio &&
deviceRecord.mDeviceDir == AlsaDeviceRecord.kDeviceDir_Capture) {
return true;
}
}
return false;
}
public boolean hasMIDIDevices() {
return mHasMIDIDevices;
}
public boolean hasMIDIDevices(int card) {
for (int index = 0; index < deviceRecords_.size(); index++) {
AlsaDeviceRecord deviceRecord = deviceRecords_.get(index);
if (deviceRecord.mCardNum == card &&
deviceRecord.mDeviceType == AlsaDeviceRecord.kDeviceType_MIDI) {
return true;
}
}
return false;
}
public void scan() {
deviceRecords_.clear();