Our biggest problem before OE decided to remove the BT Audio portion of Bluez was simply that XBMC Frodo's new Audio Engine was not made with the forethought to support multiple devices or what I would call some-times devices. If you want to talk about dynamic usage of Audio then Bluetooth is it and Audio Engine was not up to the challenge (at least when it was first released).
We are going to use BT headphones as an example here but there are also remote bluetooth speaker systems and surround sound. This applies to anything that is a Bluetooth Audio Device.
The biggest problem was Frodo's inability to rescan the audio system for new devices. You would boot Frodo (OpenElec) without your headphones turned on and it would not see them. Even after you did turn them on, it would not see them. You reboot with them turned on and it would see them but if they disconnected for any reason (out of range, battery, power saving, because you turned them off) it would require a reboot to get them resync'd again. If you tried to play a movie and Frodo was mapped to your headphones but they were not there (battery, out of range, etc) the whole HTPC or media device would freak out and stutter. Video wouldn't play smoothly, you couldn't go back and sometimes it would cause lockups.
All of this could be solved by 4 features.
Feature #1 would be to make a primary and secondary audio device or a list of audio profiles place in the order of preference. I would setup my Bluetooth Headphones on the first audio profile and then set my TV speakers/Home Theater on the second profile. If I was really good I would set 3 profiles: Headphones, Home Theater, TV. This covers a whole heap of people. You have the guy that wants to sit down with his headphones and not pump sound out anywhere else. However if the headphones don't work and the Home Theater system is on then we want to pump audio to that, however maybe I am just casual watching and don't want surround sound, if nothing is on then just fallback to my TV.
Feature #2 would be the ability to cycle through the profiles in feature #1 with a hot key or remote control function. This way while I am watching a loud movie, I could just turn on my headphones and press a button to redirect audio to them without stopping the movie.
Feature #3 rescan the audio device list when we enter the config screen, when we press the audio profile hotkey (from feature #2), before we play anything with audio, when pause is pressed, and when the movie is stopped. This should make paired audio devices easier to connect and disconnect without a reboot.
Feature #4 pause the video or switch audio profiles (see feature #1) if an audio stream breaks. This function could have an option (pause or select x profile when audio stream breaks during playback). If my headphones go out of range or the battery dies. XBMC should not freak out!.
I would love to have another crack at getting OE3 to work with Bluetooth Audio but I think we would need to first make sure some or all of the issues with XBMC being more dynamic with audio devices is addressed first.
I would pay some donation money to see both OE3 and XBMC work out these kinks.
Thanks,
John Hamilton
Hamilton & Company, LLC
http://www.hamiltoncompanyllc.com