0

I would like to stream audio through USB to be decoded by an external source. Android has released version 4.4 with Audio Tunneling to DSP. Audio Tunneling works by taking a compressed and encoded audio source and instead of sending it to the CPU, it sends it to an onboard DSP. This API was written by a company called Cadence I know that it currently works on The Nexus 5. I also know that it will only work if there is a DSP that it can be sent to. I am speculating that the Audio Tunneling API can be used to take the encoded audio stream data to the USB by some means instead of CPU or DSP. I am assuming this is true because of the compress_offload.txt states this

"The Compressed Data API does not make any assumptions on how the data is transmitted to the audio DSP. DMA transfers from main memory to an embedded audio cluster or to a SPI interface for external DSPs are possible. As in the ALSA PCM case, a core set of routines is exposed; each driver implementer will have to write support for a set of mandatory routines and possibly make use of optional ones."

I would like to use this technique on Phones or tablets that lack a true on board DSP that the Audio Tunneling API would normally send its data. Any thoughts on implementing this? Also, if possible, I would like to get this working without rooting it.

Any help, tips and source code will be greatly appreciated.

  • Tunneling happens transparently, so it's not something apps request or control. That you'd be able to implement tunneling to a USB-audio device without modifying Android itself seems unlikely to me. Also note that Qualcomm has their own tunneling solution for their own Hexagon DSP, unless they've recently switched implementations for some reason. – Michael Apr 07 '14 at 05:03
  • Michael, Thank you for your comment. If I were to try and implement this on a rooted android system, would you have a good place to start? I did not know that Qualcomm had also done this. so would that mean that a smartphone like the Samsung S5 could use Qualcomm's Audio Tunneling API to offload tracks to its Hexagon DSP? Do you think this would require root access? – user3505245 Apr 07 '14 at 16:49

0 Answers0