audio: enable usb audio tunnel support

Bug: 33030406
Test: audio playback and record over usb-headset

Change-Id: Id44b212d6edcc7c7d876b55677731b7cb0644f9a
Signed-off-by: David Lin <dtwlin@google.com>
This commit is contained in:
David Lin
2017-01-22 23:32:53 -08:00
parent 873500153f
commit 6616d417ce
6 changed files with 90 additions and 4 deletions

View File

@@ -98,6 +98,7 @@ BOARD_USES_ALSA_AUDIO := true
USE_XML_AUDIO_POLICY_CONF := 1
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
AUDIO_FEATURE_ENABLED_SND_MONITOR := true
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
BOARD_ROOT_EXTRA_SYMLINKS := /vendor/lib/dsp:/dsp
-include vendor/google_devices/muskie/BoardConfigVendor.mk

View File

@@ -62,6 +62,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" backend="speaker" interface="QUAT_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_SAFE" backend="speaker" interface="QUAT_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" backend="speaker" interface="QUAT_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET" backend="speaker-and-usb-headphones" interface="QUAT_MI2S_RX-and-USB_AUDIO_RX"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_HFP" backend="speaker" interface="QUAT_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_HEADPHONES" backend="speaker-and-headphones" interface="QUAT_MI2S_RX-and-SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_HANDSET" backend="handset" interface="QUAT_MI2S_RX"/>

View File

@@ -54,6 +54,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" backend="speaker" interface="QUAT_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_SAFE" backend="speaker" interface="QUAT_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" backend="speaker" interface="QUAT_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET" backend="speaker-and-usb-headphones" interface="QUAT_MI2S_RX-and-USB_AUDIO_RX"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_HFP" backend="speaker" interface="QUAT_MI2S_RX"/>
<device name="SND_DEVICE_OUT_HANDSET" backend="handset" interface="QUAT_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET" backend="handset" interface="QUAT_MI2S_RX"/>

View File

@@ -96,6 +96,9 @@
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
</devicePort>
<!-- TODO: Enable dynamic USB profile -->
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
</devicePort>
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
</devicePort>
@@ -107,6 +110,9 @@
</devicePort>
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
</devicePort>
<!-- TODO: Enable multi-channel recording -->
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="Earpiece"
@@ -125,10 +131,12 @@
sources="primary output,raw,deep_buffer"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,raw,deep_buffer"/>
<route type="mix" sink="USB Device Out"
sources="primary output,raw,deep_buffer,compressed_offload"/>
<route type="mix" sink="Telephony Tx"
sources="voice_tx"/>
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic"/>
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,USB Device In"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic"/>
<route type="mix" sink="voice_rx"
@@ -141,7 +149,24 @@
<xi:include href="a2dp_audio_policy_configuration.xml"/>
<!-- Usb Audio HAL -->
<xi:include href="usb_audio_policy_configuration.xml"/>
<module name="usb" halVersion="2.0">
<mixPorts>
<mixPort name="usb_accessory output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Host Out"
sources="usb_accessory output"/>
</routes>
</module>
<!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/>

View File

@@ -196,7 +196,7 @@
<ctl name="MultiMedia1 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia5 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="0" />
<ctl name="USB_AUDIO_RX Channels" value="One" />
<ctl name="USB_AUDIO_RX Channels" value="Two" />
<ctl name="USB_AUDIO_RX SampleRate" value="KHZ_48" />
<ctl name="USB_AUDIO_RX Format" value="S16_LE" />
<ctl name="USB_AUDIO_TX Channels" value="One" />
@@ -641,6 +641,10 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia1" value="1" />
</path>
<path name="deep-buffer-playback usb-headset">
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia1" value="1" />
</path>
<path name="deep-buffer-playback speaker-and-usb-headphones">
<path name="deep-buffer-playback usb-headphones" />
<path name="deep-buffer-playback speaker" />
@@ -693,6 +697,10 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia5" value="1" />
</path>
<path name="low-latency-playback usb-headset">
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia5" value="1" />
</path>
<path name="low-latency-playback speaker-and-usb-headphones">
<path name="low-latency-playback usb-headphones" />
<path name="low-latency-playback speaker" />
@@ -745,6 +753,10 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback usb-headset">
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback speaker-and-usb-headphones">
<path name="audio-ull-playback usb-headphones" />
<path name="audio-ull-playback speaker" />
@@ -796,6 +808,10 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia4" value="1" />
</path>
<path name="compress-offload-playback usb-headset">
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia4" value="1" />
</path>
<path name="compress-offload-playback speaker-and-usb-headphones">
<path name="compress-offload-playback usb-headphones" />
<path name="compress-offload-playback speaker" />
@@ -930,6 +946,11 @@
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="1" />
</path>
<path name="voicemmode1-call usb-headset">
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="1" />
</path>
<path name="voicemmode2-call">
<ctl name="QUAT_MI2S_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
@@ -970,6 +991,11 @@
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1" />
</path>
<path name="voicemmode2-call usb-headset">
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1" />
</path>
<path name="listen-voice-wakeup-1">
<ctl name="LSM1 MUX" value="SLIMBUS_5_TX" />
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
@@ -1515,6 +1541,9 @@
<path name="usb-headphones">
</path>
<path name="usb-headset">
</path>
<path name="afe-proxy">
</path>

View File

@@ -196,7 +196,7 @@
<ctl name="MultiMedia1 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia5 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="0" />
<ctl name="USB_AUDIO_RX Channels" value="One" />
<ctl name="USB_AUDIO_RX Channels" value="Two" />
<ctl name="USB_AUDIO_RX SampleRate" value="KHZ_48" />
<ctl name="USB_AUDIO_RX Format" value="S16_LE" />
<ctl name="USB_AUDIO_TX Channels" value="One" />
@@ -659,6 +659,10 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia1" value="1" />
</path>
<path name="deep-buffer-playback usb-headset">
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia1" value="1" />
</path>
<path name="deep-buffer-playback speaker-and-usb-headphones">
<path name="deep-buffer-playback usb-headphones" />
<path name="deep-buffer-playback speaker" />
@@ -711,6 +715,10 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia5" value="1" />
</path>
<path name="low-latency-playback usb-headset">
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia5" value="1" />
</path>
<path name="low-latency-playback speaker-and-usb-headphones">
<path name="low-latency-playback usb-headphones" />
<path name="low-latency-playback speaker" />
@@ -763,6 +771,10 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback usb-headset">
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback speaker-and-usb-headphones">
<path name="audio-ull-playback usb-headphones" />
<path name="audio-ull-playback speaker" />
@@ -814,6 +826,10 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia4" value="1" />
</path>
<path name="compress-offload-playback usb-headset">
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia4" value="1" />
</path>
<path name="compress-offload-playback speaker-and-usb-headphones">
<path name="compress-offload-playback usb-headphones" />
<path name="compress-offload-playback speaker" />
@@ -948,6 +964,11 @@
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="1" />
</path>
<path name="voicemmode1-call usb-headset">
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="1" />
</path>
<path name="voicemmode2-call">
<ctl name="QUAT_MI2S_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
@@ -988,6 +1009,11 @@
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1" />
</path>
<path name="voicemmode2-call usb-headset">
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1" />
</path>
<path name="listen-voice-wakeup-1">
<ctl name="LSM1 MUX" value="SLIMBUS_5_TX" />
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
@@ -1533,6 +1559,9 @@
<path name="usb-headphones">
</path>
<path name="usb-headset">
</path>
<path name="afe-proxy">
</path>