What's it going to take to get basic A2DP support into -HEAD?

Iain Hibbert plunky at ogmig.net
Sun Jun 9 06:48:49 UTC 2013


On Sat, 8 Jun 2013, Adrian Chadd wrote:

> So, given that these headphones pair, what would it take to write up a
> basic A2DP profile with the minimum-supported codec, and then route
> audio to it?

it is probably a couple of weeks work; the specification document is not
that thick..

> Would it be something done in-kernel? Or would we just expose the
> audio to userland and do the (re) encoding there?

imo this is likely the best approach

NetBSD has a simple "pseudo audio device" driver[1], which is like a pty
but for audio devices.. I would use that (or something like, since I don't
know how similar the FreeBSD kernel audio interface is to the NetBSD one)
and provide a userland program to just route the audio back into a RFCOMM
socket after conversion.

> What about supporting data sources that will happily supply a
> supported bitrate/encoding type? (eg, if a player wants to spit out
> MPEG encoded audio; why decode and re-encode it?)

your Bluetooth interface can be whatever you need, and you can transcode
or feed whatever the kernel will accept (PCM in the case of pad(4) on
NetBSD)

> I'm happy to hack on code. I just don't know anything about the
> bluetooth stack here. :-)

just deal with an RFCOMM socket, is my advice..  (in part, because I am a
NetBSD developer.. and our Bluetooth stack is somewhat different, but the
socket interface is compatible :)

iain

[1] http://netbsd.gw.com/cgi-bin/man-cgi?pad++NetBSD-current
[2] http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/pad/


More information about the freebsd-bluetooth mailing list