Closed
Bug 1006413
Opened 11 years ago
Closed 10 years ago
[Tarako][dolphin][Music][Call] While playing music through bluetooth, answer an incoming call and then hang up, music is paused
Categories
(Firefox OS Graveyard :: Gaia::Music, defect)
Tracking
(tracking-b2g:backlog, b2g-v1.3T affected, b2g-v1.4 affected, b2g-v2.0 fixed)
RESOLVED
FIXED
tracking-b2g | backlog |
People
(Reporter: bli, Assigned: dkuo)
References
Details
(Keywords: regression, Whiteboard: [sprd305192][partner-blocker][sprd287908])
Attachments
(2 files)
Environment:
---------------------------------------------------
Gaia c067cc717c4a3bb8b412f28f37d224eb84b639df
Gecko https://hg.mozilla.org/releases/mozilla-b2g28_v1_3t/rev/8eebf8120dbd
BuildID 20140505164002
Version 28.1
ro.build.version.incremental=eng.cltbld.20140505.203623
ro.build.date=Mon May 5 20:36:32 EDT 2014
Steps to reproduce:
----------------------------------------------------
1. Pair a BT headset
2. Launch music, and choose a song to play in foreground
3. Make a MT call to the test device
4. Answer the MT call
5. Hang up the call
Actual result:
---------------------------------------
The music is paused.
Expected result:
---------------------------------------
Resume playing the music
Additional info:
--------------------------------------
Reproduce rate: 60%~70%
Music through a regular headset or otherwise doesn't seem to reproduce this. This seems only through bluetooth.
Summary: [Tarako][Music][Call] While playing music, answer an incoming call and then hang up, music is paused → [Tarako][Music][Call] While playing music through bluetooth, answer an incoming call and then hang up, music is paused
Updated•11 years ago
|
Summary: [Tarako][Music][Call] While playing music through bluetooth, answer an incoming call and then hang up, music is paused → [Tarako][dolphin][Music][Call] While playing music through bluetooth, answer an incoming call and then hang up, music is paused
Whiteboard: [sprd305192][partner-blocker]
Comment 3•11 years ago
|
||
This can only be reproduced with BT headset.
Here is the analysis from Spreadtrum developper.
0. Pair BT headset and play music
1. Incoming call:
case 'mozinterruptbegin':
this.playStatus = INTERRUPT_BEGIN;
It will trigger event mozinterruptbegin and modify playStatus
2. After answering the phone
It will enter function pause and modify this._statusBeforeSCO:
this._statusBeforeSCO = PlayerView.playStatus;
which turns out to be this._statusBeforeSCO==mozinterruptbegin
3.After end call
it invoke playpause function
if (this._statusBeforeSCO === PLAYSTATUS_PLAYING)
PlayerView.play();
else
PlayerView.pause();
Due to the result of 2, this._statusBeforeSCO === PLAYSTATUS_PLAYING will return false.
As a result, 3 will run PlayerView.pause();
Comment 4•11 years ago
|
||
Also reproducible on Flame v1.4.
Gaia 5527784b263755f55b620441fc95a66496fa18cf
Gecko https://hg.mozilla.org/releases/mozilla-b2g30_v1_4/rev/334e9712f079
BuildID 20140528160208
Version 30.0
ro.build.version.incremental=94
ro.build.date=Tue May 20 09:29:20 CST 2014
Updated•11 years ago
|
blocking-b2g: --- → 1.4?
Comment 5•11 years ago
|
||
Moving to backlog been around earlier releases.
blocking-b2g: 1.4? → backlog
Assignee | ||
Updated•10 years ago
|
Keywords: regression
Assignee | ||
Comment 6•10 years ago
|
||
Thanks to Peipei and the partner's developer(comment 3), base on that information I found the root cause easily and fixed it right away, and apologize I didn't aware this might be a blocker for the certification so I haven't investigate it earlier.
I am attaching the patch and explaining in the next comment.
blocking-b2g: backlog → 1.3T?
Updated•10 years ago
|
status-b2g-v1.4:
--- → affected
Assignee | ||
Comment 7•10 years ago
|
||
In bug 946556 we have disable the music player when the bluetooth headset is active(SCO is connected), and recover it after the bluetooth headset is inactive(SCO is disconnected). We assumed that before the SCO connection, the play status is |PLAYING|, so after SCO disconnected, the player should resume to |PLAYING|.
The reason this bug happens and not 100% reproducible is because, there are two possible play statuses when the call comes with bluetooth headset, |PLAYING| and |mozinterruptbegin|, while I was implementing that feature, I never encountered the |mozinterruptbegin| case, this might be another regression that caused by moving the ringer tone into system(bug 990003), cause looks like now |mozinterruptbegin| fires earlier then SCO is connected.
The fix is simple, just resume the player when the play status before SCO is |PLAYING| or |mozinterruptbegin|, and it should work on all branches, including 1.3, 1.3t, 1.4 and master.
Jim, would please review this patch? thanks!
(Also renominate this bug because I was requested by our partner to fix this bug.)
Attachment #8435560 -
Flags: review?(squibblyflabbetydoo)
Comment 8•10 years ago
|
||
Comment on attachment 8435560 [details] [review]
patch
This seems like the right thing to do. Thanks, Dominic!
(I hope we can eliminate some of these issues when we rework audio channels, since it's very hard to get the logic right...)
Attachment #8435560 -
Flags: review?(squibblyflabbetydoo) → review+
Updated•10 years ago
|
Assignee: nobody → dkuo
Updated•10 years ago
|
Whiteboard: [sprd305192][partner-blocker] → [sprd305192][partner-blocker][sprd287908]
Assignee | ||
Updated•10 years ago
|
status-b2g-v2.0:
--- → affected
Assignee | ||
Comment 9•10 years ago
|
||
Landed on master: 7a534f0afe16ccf38e8f17a73d0dc94ba1206ea6
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Comment 10•10 years ago
|
||
Please land on v1.3t and v1.4, thanks!
Updated•10 years ago
|
Flags: needinfo?(yang.zhao)
Assignee | ||
Comment 11•10 years ago
|
||
(In reply to James Zhang from comment #10)
> Please land on v1.3t and v1.4, thanks!
Can someone please make this blocker? I can help to uplift to 1.3t and 1.4 but need approval.
Flags: needinfo?(styang)
Assignee | ||
Updated•10 years ago
|
Comment 12•10 years ago
|
||
(In reply to Dominic Kuo [:dkuo] from comment #11)
> (In reply to James Zhang from comment #10)
> > Please land on v1.3t and v1.4, thanks!
>
> Can someone please make this blocker? I can help to uplift to 1.3t and 1.4
> but need approval.
Steven told me that we can merge anything to v1.3t without flag or review+.
Please let your patch get review+, I'll merge it to 1.3t.
Assignee | ||
Comment 13•10 years ago
|
||
v1.3t: fe0c0bcb572f23ea17170d5e9cac9f1a2415d6a6
blocking-b2g: 1.3T? → 1.4?
Comment 14•10 years ago
|
||
Is this a regression from 1.3T to Dolphin?
Also regression from 1.3 Buri to Flame?
This doesn't block the phone from shipping 1.4 release.
Comment 15•10 years ago
|
||
Not taking in 1.4 as this is a minor user impact.
blocking-b2g: 1.4? → backlog
Comment 16•10 years ago
|
||
Hi Yang, please land this WIP patch for dolphin. Thanks.
Flags: needinfo?(kevin)
Comment 17•10 years ago
|
||
Landed on our build by using patch on 6821 & 7715.
Flags: needinfo?(yang.zhao)
Updated•10 years ago
|
Flags: needinfo?(kevin)
Updated•10 years ago
|
Flags: needinfo?(styang)
Updated•10 years ago
|
blocking-b2g: backlog → ---
tracking-b2g:
--- → backlog
You need to log in
before you can comment on or make changes to this bug.
Description
•