Re: PCM audio output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andre,

On Thu, Sep 01, 2011, Andre Renaud wrote:
> I am working with an embedded device which has a Marvell 8688 based
> bluetooth chip. We would like to use an external headset, but rather
> than have the audio be transmitted over the HCI layer, we'd like it to
> be sent directly out the PCM lines from the bluetooth chip, thus Linux
> really doesn't see any audio data, but is responsible for setting up the
> link/keys/authentication etc...
> 
> Are there any instructions on how to go about this? I've had a quick
> look around, and this doesn't seem to be a particularly popular
> configuration.

It might not be common on Linux PC's but most embedded systems (e.g.
phones) running Linux/BlueZ use PCM routing. Essentially your audio
subsystem needs to "know" that PCM routing is in place and that the SCO
socket received over the (now deprecated) audio unix socket interface or
the (new) Media interface isn't much more than a /dev/null (it's
a bit more useful than that since it lets the audio subsystem know that
there's a SCO connection and allows monitoring its lifetime through
POLLHUP/POLLERR).

If your system uses PulseAudio you're in luck since it has built-in
support for this. However, pulse expects the kernel to provide an ALSA
device abstraction for the PCM hardware link to the Bluetooth
controller. You can tell the bluetooth-device module the name of this
special ALSA device through the sco_sink and sco_source parameters.

Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux