Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Jun 2013 07:48:24 +0100 (BST)
From:      Iain Hibbert <plunky@ogmig.net>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        freebsd-bluetooth@freebsd.org
Subject:   Re: What's it going to take to get basic A2DP support into -HEAD?
Message-ID:  <alpine.NEB.2.00.1306090731410.584@galant.ogmig.net>
In-Reply-To: <CAJ-VmokxtmkqXBPXfvKzRJ2qxGUe5qN0D-pvsJP-7djDdVE4ag@mail.gmail.com>
References:  <CAJ-VmokxtmkqXBPXfvKzRJ2qxGUe5qN0D-pvsJP-7djDdVE4ag@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.NEB.2.00.1306090731410.584>