Openmoko media player and direct mp3 to bluetooth headphones
daniel at benoy.name
Wed Feb 25 23:12:59 CET 2009
Apparently bluez supports sending mp3 data directly to bluetooth stereo headphones, rather than using CPU taxing SBC compression encoding. This is especially good on the openmoko. In my experience, it can handle even high fidelity audio, but as soon as you start using the GUI or some other CPU intensive activity, it will start to skip hevily.
With much effort I've managed to convince gstreamer to send mp3 data directly to a2dpsink, and the performance has improved remarkably! And the CPU is no longer getting hammered. I can see why this encoding option is so ubiquitous among other cell phone music players.
My problem now, is that I'm using the gst-launch gstreamer debugging command line tool to play my audio. This isn't good because it doesn't support basic things like pausing or seeking, and even if it did, the AVRCP signals from my headphone pause and play buttons wouldn't be registered unless it's listening to X for input events.
Thinking back, I remember that there used to be an openmoko media player that used gstreamer, and it looked pretty nice and it was done up with GTK in the old om2007 style. Is that media player still around? Would it be possible to make it into its own project so that I can install it under debian without major hassles? (And also I'd like to upgrade it to support direct mp3 a2dp.)
Or, do y'all have any alternative suggestions for me?
(FYI: The way to test direct mp3 is like this: gst-launch filesrc location=<some mp3 file> ! mp3parse ! a2dpsink device=XX:XX:XX:XX:XX:XX ... You may also want to pass --gst-debug a2dpsink:5,avdtpsink:5 to it. I had to manually patch a problem where it was reporting 'joint-stereo' instead of just 'joint' from mp3parse... but I don't know, it may work under other distributions than Debian)
More information about the community