Closed Bug 1000457 Opened 11 years ago Closed 11 years ago

Bluetooth "media audio" profile is not working

Categories

(Firefox OS Graveyard :: Bluetooth, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: tkundu, Unassigned)

References

Details

(Whiteboard: [caf priority: p1][CR 653077])

Attachments

(1 file)

STR: 1) launch settings app , turn on bluetooth in FFOS 2) Take any Android phone which is running kitkat or any phone which has "bluetooth media audio" capability. 3) Turn on Bluetooth on 2nd device (Android phone) and try to connect to FFOS using media audio profile 4) Now a play a song in Android using music player. You should be able to hear that song in FFOS device. 5) Pause playback in Android and turn off FFOS bluetooth. Results: 1) FFOS will not play any sound after completion of step4. Which is unexpected for media audio profile. 2) FFOS UI will freeze after step 5. Gaia/Gecko used : (FFOS v1.4) "gaia" revision="97b8f9a0a2bd82572422dd84f84016df0e7f56c8" "gecko" revision="2a7da7759a7c63bc5f1c1222f1ece0550688ab2d" Do we support "media audio" bluetooth profile in FFOS ? Please confirm us.
blocking-b2g: --- → 1.4?
Eric, Please take a look for Wifi.This blocks QC CS.
Flags: needinfo?(echou)
blocking-b2g: 1.4? → 1.4+
(In reply to Tapas Kumar Kundu from comment #0) > Do we support "media audio" bluetooth profile in FFOS ? Please confirm us. FFOS supports "media audio" as audio 'source' (like music player), not audio 'sink' (like speaker/headset). So you can play music on FFOS and expect the music comes out from a connected bluetooth speaker, not play music on an Android phone and expect the music comes out from a FFOS phone. Tapas, do you know any phone that supports media audio as audio 'sink'? Please let us know and we'd be happy to try it and see if FFOS can have it for some use cases.
Flags: needinfo?(echou) → needinfo?(tkundu)
I don't think this is a QC blocker and even not a feature we need to implement.
(In reply to Ben Tian [:btian] from comment #2) > (In reply to Tapas Kumar Kundu from comment #0) > > Do we support "media audio" bluetooth profile in FFOS ? Please confirm us. > > FFOS supports "media audio" as audio 'source' (like music player), not audio > 'sink' (like speaker/headset). So you can play music on FFOS and expect the > music comes out from a connected bluetooth speaker, not play music on an > Android phone and expect the music comes out from a FFOS phone. > Thanks for informing us. But then why are allowing other phones to connect with FFOS using "audio sink blutooth media audio" profile? FFOS is giving errors when Android Kitkat connects with FFOS using this profile (see attached logcat) and FFOS hangs at some point (#comment 0 and attached logcat) . > Tapas, do you know any phone that supports media audio as audio 'sink'? > Please let us know and we'd be happy to try it and see if FFOS can have it > for some use cases. I found that Android ( I verified in Kitkat) is using "bluetooth media audio" profile as "audio sink" and it works fine with other phones. Please also note that Iphone, windows mobile phone also support this feature.
Flags: needinfo?(tkundu)
Can we do something in gecko/gaia to stop other phones from using FFOS as "audio sink" in "bluetooth media audio" profile ? FFOS hangs when other phone tries to connect with it using this method.
Flags: needinfo?(btian)
(In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #3) > I don't think this is a QC blocker and even not a feature we need to > implement. If it isnt implemented then can we block it correctly? We shouldnt be seeing an UI freeze
(In reply to Tapas Kumar Kundu from comment #4) > > Tapas, do you know any phone that supports media audio as audio 'sink'? > > Please let us know and we'd be happy to try it and see if FFOS can have it > > for some use cases. > > I found that Android ( I verified in Kitkat) is using "bluetooth media > audio" profile as "audio sink" and it works fine with other phones. > > Please also note that Iphone, windows mobile phone also support this feature. I find no UI on Android (kitkat Nexu7 nor HTC One) to connect FFOS with media audio profile. Please attach an symptom video to help our investigation. Normally media audio is connected automatically when the phone connects to a bluetooth audio speaker/headset.
Flags: needinfo?(btian) → needinfo?(tkundu)
(In reply to Tapas Kumar Kundu from comment #5) > Can we do something in gecko/gaia to stop other phones from using FFOS as > "audio sink" in "bluetooth media audio" profile ? FFOS hangs when other > phone tries to connect with it using this method. I don't understand here. If FXOS phone can act as Audio Sink, FXOS phone needs to be Audio Sink role first. And this part is related to bluedroid SDP record, are you saying now bluedroid can act as 'Audio Sink'? Is it supported by AOSP Android bluedroid library?
Merge "Bluetooth: Set rendering bit in COD for A2DP Sink" Diffstat -rw-r--r-- bta/av/bta_av_main.c 4 1 files changed, 4 insertions, 0 deletions diff --git a/bta/av/bta_av_main.c b/bta/av/bta_av_main.c index 485c0f4..d6e62f0 100644 --- a/bta/av/bta_av_main.c +++ b/bta/av/bta_av_main.c @@ -530,7 +530,11 @@ static void bta_av_api_register(tBTA_AV_DATA *p_data) } /* Set the Capturing service class bit */ +#ifdef BTA_AVK_INCLUDED + cod.service = BTM_COD_SERVICE_CAPTURING | BTM_COD_SERVICE_RENDERING; +#else cod.service = BTM_COD_SERVICE_CAPTURING; +#endif utl_set_device_class(&cod, BTA_UTL_SET_COD_SERVICE_CLASS); } /* if 1st channel */
(In reply to Ben Tian [:btian] from comment #7) > (In reply to Tapas Kumar Kundu from comment #4) > > > Tapas, do you know any phone that supports media audio as audio 'sink'? > > > Please let us know and we'd be happy to try it and see if FFOS can have it > > > for some use cases. > > > > I found that Android ( I verified in Kitkat) is using "bluetooth media > > audio" profile as "audio sink" and it works fine with other phones. > > > > Please also note that Iphone, windows mobile phone also support this feature. > > I find no UI on Android (kitkat Nexu7 nor HTC One) to connect FFOS with > media audio profile. Please attach an symptom video to help our > investigation. Normally media audio is connected automatically when the > phone connects to a bluetooth audio speaker/headset. Ben, the COD has changed to BTM_COD_SERVICED_RENDERING!
https://www.codeaurora.org/cgit/quic/la/platform/external/bluetooth/bluedroid/commit/?id=a7f566594ba9e4116ef9860c0b866b248c58ba7c&h=b2g_kk_3.5 Bluetooth: Set rendering bit in COD for A2DP Sink I want to clarify here. We never know 'audio sink feature' needs to be support in 1.4. Since it's not part of AOSP bluedroid library feature and this modification for bluedroid committed into codearoura in 2014-03-19. It's really unexpected to handle this bug. I don't know how many this kind of bugs would happen in the future. Our QA also cannot capture this bug on Nexus 4/Nexus 5 in advance, because we all base on AOSP. And yes, UI frozen is not good we shall take a look at this.
I checked the modification for A2DP Sink feature. Maybe we shall disable BTA_AVK_INCLUDED environment variable, in this way, we can disable A2DP sink feature. BTA_AVK_INCLUDED = FALSE in bdroid_buildcfg.h
(In reply to bhargavg1 from comment #6) > (In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #3) > > I don't think this is a QC blocker and even not a feature we need to > > implement. > > If it isnt implemented then can we block it correctly? We shouldnt be seeing > an UI freeze I've checked the code, can you disable A2DP sink feature BTA_AVK_INCLUDED = FALSE in /device/msm8226/bluetooth/bdroid_buildcfg.h? Considering Comment 12 shows it's a big change in bluetooth, and we don't even know if there is any other change regarding audio part (I'm not sure it is required to change AudioChannel for audio routing). What's the overall scope for introducing this A2DP Sink feature? If it's a big change, I don't think enabling A2DP sink is a good idea at this stage.
Flags: needinfo?(bhargavg1)
I am trying to disable "A2DP sink feature" without doing any change in gecko. I will update here soon.
Flags: needinfo?(tkundu)
(In reply to Tapas Kumar Kundu from comment #15) > I am trying to disable "A2DP sink feature" without doing any change in > gecko. I will update here soon. Got it, thanks.
(In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #14) > (In reply to bhargavg1 from comment #6) > > (In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #3) > > > I don't think this is a QC blocker and even not a feature we need to > > > implement. > > > > If it isnt implemented then can we block it correctly? We shouldnt be seeing > > an UI freeze > > I've checked the code, can you disable A2DP sink feature BTA_AVK_INCLUDED = > FALSE in /device/msm8226/bluetooth/bdroid_buildcfg.h? > > Considering Comment 12 shows it's a big change in bluetooth, and we don't > even know if there is any other change regarding audio part (I'm not sure it > is required to change AudioChannel for audio routing). What's the overall > scope for introducing this A2DP Sink feature? If it's a big change, I don't > think enabling A2DP sink is a good idea at this stage. Agreed. Tapas, seems to be working in this direction already
Flags: needinfo?(bhargavg1)
Thanks Shawn/Ben for the debug assistance, we'll take it from here.
Status: NEW → RESOLVED
blocking-b2g: 1.4? → ---
Closed: 11 years ago
Resolution: --- → INCOMPLETE
Flags: needinfo?(tkundu)
Whiteboard: [CR 653077] → [caf priority: p1][CR 653077]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: