Hi 'Jackson Fan', I agree with your analysis. The framework code to handle A2DP / SCO transitions could be improved. In the current design A2DP and HFP are loosely coupled independent services. In retrospect you actually need a fair degree of coupling between them in order to make the SCO/A2DP transitions in a way that inter-operates with a greater number of bluetooth headsets.
We have been planning to add a 'Profile Manager' layer to handle connection sequence serialization between various profiles. Nick On 4/2/09, Jackson Fan <[email protected]> wrote: > > Hi Nick, > Supporting connection to a single device can be understood. I > want to expand the topic a bit, related to multiple connections to a > same device. For example, cupcake already supports A2DP and HFP > connection to a same headset in concurrent way, although audio data > (A2DP/SCO) need be switched depending on call state. However, > framework code to control such concurrency is weak and cupcake depends > on applications to handle them properly, like in mediaplaybackservice > and BluetoothHandsfree. Are there any plan to support audio switch > from framework level? > The reason is because cupcake does not implement the > recommendation as from the "Bluetooth White Paper Simultaneous use of > HFP, A2DP, and AVRCP profiles" (url: > https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=49216). > Current A2DP->SCO switch has a limitation depending on other side > interoperating capability - for incoming call case suppose headset > could not echo "A2DP data to close" signal back to phone, I guess A2DP > data channel becomes a unknown state along with SCO being setup. So > during a call in case user still tries to launch music player, effect > depends on hardware implementation of two sides. > Also suppose later people want to add more profiles, > concurrency need be controlled otherwise data flow competing will > threaten overall quality. I do not know whether you plan to add Qos > mechanism when multiple data related profiles being active, like DUN, > OPP, PBAP, A2DP, PAN, etc? Although conflicting cases may be rare, I > know some carkits can make calls or listening to music while > transferring phonebook entries (via OBEX) via Bluetooth. > > Jackson > > > On Apr 3, 4:47 am, Nick Pelly <[email protected]> wrote: > > > On Wed, Apr 1, 2009 at 7:57 AM, vishy <[email protected]> wrote: > > > > > Hi , > > > > > During our initial testing with Android Phones(Using Cupcake build) we > > > noticed that the phone connects to more than one BT HF device.Can > > > anyone share some information on the number of devices Android phones > > > can connect to via Bluetooth! > > > > > Like ,can we connect Phone A to HFP only Headset and PhoneA to A2DP > > > only Headset,simultaneously! > > > > > If multiple connections are supported,what would be the criteria on > > > which it > > > is done! > > > > Have you tried reading the javadoc in BluetoothHeadset.java or > > BluetoothA2dp.java ? > > > > Nick > > > > --~--~---------~--~----~------------~-------~--~----~ unsubscribe: [email protected] website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---
