Closed Bug 1212974 Opened 9 years ago Closed 9 years ago

youtube or other videos will not play after entering task manager and returning to browser

Categories

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

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-b2g:2.5+, b2g-v2.2 unaffected, b2g-master affected)

RESOLVED WORKSFORME
blocking-b2g 2.5+
Tracking Status
b2g-v2.2 --- unaffected
b2g-master --- affected

People

(Reporter: AdamA, Assigned: alwu)

References

()

Details

(Keywords: regression, Whiteboard: [2.5-Daily-Testing][Spark][dogfood-blocker][ft:conndevices][fennec])

Attachments

(2 files)

Attached file logcat
Description:
If the user is watching a video in youtube or any source, then enters task manager(card view) and returns to youtube then the video will not play.

Workarounds:
Reloading the page, entering browser from homescreen instead of task manager, locking and unlocking, or force closing browser and reopening it will cause videos to play again.

Repro Steps:
1) Update a Aries to 20151008143352
2) Open browser and navigate to a video on youtube
3) enter task manager
4) Return to browser from task manager
5) Observe video

Actual:
The video will not play when returning from card view

Expected:
It is expected that the video can play correctly after returning to browser

Environmental Variables:
Device: Aries 2.5 [Full Flash]
Build ID: 20151008143352
Gaia: 4973f57cd8f9a62a95f783a24eac32da2bde99fc
Gecko: 1f4cf75c894862cf3634d6014d8de9c807a054a7
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 44.0a1 (2.5)
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0

Repro frequency: 10/10
See attached: video, logcat
This issue DOES occur on Flame 2.5.

Environmental Variables:
Device: Flame 2.5 [Full Flash]
BuildID: 20151006030203
Gaia: 60cdaa3d3424db3432dc903e7f9c6c8fa099c06d
Gecko: 3edc8d4a1e198314f5d7ebd2967b85842beef602
Gonk: c4779d6da0f85894b1f78f0351b43f2949e8decd
Version: 44.0a1 (2.5) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0

Result:
The video will not play when returning from card view
------------------------------------
This issue DOES occur on Flame 2.2.

Environmental Variables:
Device: Flame 2.2 [Full Flash]
BuildID: 20151006032504
Gaia: 5dd95cfb9f1d6501ce0e34414596ef3dd9c2f583
Gecko: fc588eb28eab
Gonk: bd9cb3af2a0354577a6903917bc826489050b40d
Version: 37.0 (2.2) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0

Result:
The video plays correctly after returning to browser.
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(nhirata.bugzilla)
Flags: needinfo?(ktucker)
Keywords: regression
Whiteboard: [2.5-Daily-Testing][Spark][Systemsfe][dogfood-blocker]
[Blocking Requested - why for this release]:

Bad regression so nominating to block on this.
blocking-b2g: --- → 2.5?
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
QA Contact: pcheng
b2g-inbound regression window:

Last Working
Device: Flame 2.5
BuildID: 20151002110339
Gaia: 51b91e4d3e692aeb6e5e7cff877a921300af20b2
Gecko: d77a41837bdecdc8d521dd6fdac5d00a5813c879
Version: 44.0a1 (2.5) 
Firmware Version: v18Dv4
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0

First Broken
Device: Flame 2.5
BuildID: 20151002121840
Gaia: 258d6da499c384d62b865fccafb6ec208f14b67f
Gecko: 041415e9df0b6d24353e3aa187eed02b27071185
Version: 44.0a1 (2.5) 
Firmware Version: v18Dv4
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0

Last Working Gaia First Broken Gecko - no repro
Gaia: 51b91e4d3e692aeb6e5e7cff877a921300af20b2
Gecko: 041415e9df0b6d24353e3aa187eed02b27071185

Last Working Gecko First Broken Gaia - repro
Gaia: 258d6da499c384d62b865fccafb6ec208f14b67f
Gecko: d77a41837bdecdc8d521dd6fdac5d00a5813c879

Gaia pushlog:
https://github.com/mozilla-b2g/gaia/compare/51b91e4d3e692aeb6e5e7cff877a921300af20b2...258d6da499c384d62b865fccafb6ec208f14b67f

This issue is caused by changes made in Bug 1209402.
Blocks: 1209402
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmercado)
Marcus, can you either patch or backout please?
Flags: needinfo?(nhirata.bugzilla) → needinfo?(m)
Assignee: nobody → m
Flags: needinfo?(m)
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmercado)
This appears to be a Gecko issue that was unmasked by the Gaia patch; I'm led to believe that it may be similar to problems described in bug 1210232 and bug 1198664. It seems to be a race between the iframe coming into the foreground and the media playing, perhaps?

My logcat shows the following:

I/OMXClient( 2424): Using client-side OMX mux.
D/GonkVideoDecoderManager( 2424): codecReserved
D/GonkVideoDecoderManager( 2424): Configure video mime type: video/avc, widht:426, height:240
I/ACodec  ( 2424): DRC Mode: Dynamic Buffer Mode
D/GonkBufferQueue( 2424): dequeueBuffer: returning slot=0 buf=0xacdc3ac0 
D/GonkBufferQueue( 2424): dequeueBuffer: returning slot=1 buf=0xacdc3c50 

   [... snipped out more dequeueBuffer logs ... ]

D/GonkBufferQueue( 2424): dequeueBuffer: returning slot=3 buf=0xacdc4010 
D/GonkVideoDecoderManager( 2424): Decoder format changed
D/GonkBufferQueue( 2424): dequeueBuffer: returning slot=4 buf=0xacd69540 
D/MediaCodecProxy( 2424): dequeueInputBuffer returned -11
D/MediaCodecProxy( 2424): dequeueInputBuffer returned -11
D/MediaCodecProxy( 2424): dequeueInputBuffer returned -11
D/MediaCodecProxy( 2424): dequeueInputBuffer returned -11

John, does this stand out as anything obvious? I saw you handled some of the similar bugs.
Assignee: m → nobody
Flags: needinfo?(jolin)
blocking-b2g: 2.5? → 2.5+
Flags: needinfo?(bwu)
Priority: -- → P1
Just quickly try to narrow down this problem. 
I use today's code base and only see this problem on Aries, not on Flame.
I locally revert the patches in bug 1198664 and still can see this problem.
Flags: needinfo?(bwu)
I found when returning to browser, MediaDecoder's pause() will be called from SuspendOrResumeElement(). Back track is shown below. It looks like related to Audio Channel. 

#0  mozilla::MediaDecoder::Pause (this=0xa8d2ac00) at /Volumes/firefoxos/z3c/B2G/gecko/dom/media/MediaDecoder.cpp:294
#1  0xb466adcc in SuspendOrResumeElement (aSuspendEvents=false, aPauseElement=true, this=0xaac36c00) at /Volumes/firefoxos/z3c/B2G/gecko/dom/html/HTMLMediaElement.cpp:4190
#2  mozilla::dom::HTMLMediaElement::SuspendOrResumeElement (this=0xaac36c00, aPauseElement=<optimized out>, aSuspendEvents=<optimized out>)
    at /Volumes/firefoxos/z3c/B2G/gecko/dom/html/HTMLMediaElement.cpp:4159
#3  0xb466aeca in mozilla::dom::HTMLMediaElement::UpdateChannelMuteState (this=this@entry=0xaac36c00, aVolume=<optimized out>, aMuted=aMuted@entry=true)
    at /Volumes/firefoxos/z3c/B2G/gecko/dom/html/HTMLMediaElement.cpp:4701
#4  0xb466aeea in mozilla::dom::HTMLMediaElement::WindowVolumeChanged (this=0xaac36c00, aVolume=<optimized out>, aMuted=<optimized out>)
    at /Volumes/firefoxos/z3c/B2G/gecko/dom/html/HTMLMediaElement.cpp:4779
#5  0xb465b11a in mozilla::dom::HTMLMediaElement::NotifyAudioChannelAgent (this=this@entry=0xaac36c00, aPlaying=<optimized out>) at /Volumes/firefoxos/z3c/B2G/gecko/dom/html/HTMLMediaElement.cpp:4768
#6  0xb465b1ce in mozilla::dom::HTMLMediaElement::UpdateAudioChannelPlayingState (this=this@entry=0xaac36c00) at /Volumes/firefoxos/z3c/B2G/gecko/dom/html/HTMLMediaElement.cpp:4743
#7  0xb466b0de in mozilla::dom::HTMLMediaElement::ChangeReadyState (this=this@entry=0xaac36c00, aState=aState@entry=2) at /Volumes/firefoxos/z3c/B2G/gecko/dom/html/HTMLMediaElement.cpp:3855
#8  0xb466b588 in mozilla::dom::HTMLMediaElement::UpdateReadyStateInternal (this=0xaac36c00) at /Volumes/firefoxos/z3c/B2G/gecko/dom/html/HTMLMediaElement.cpp:3799
#9  0xb46a57b4 in mozilla::MediaDecoder::UpdateReadyState (this=<optimized out>) at /Volumes/firefoxos/z3c/B2G/gecko/dom/media/MediaDecoder.h:729
#10 0xb46b0ad6 in mozilla::WatchManager<mozilla::MediaDecoder>::PerCallbackWatcher::DoNotify (this=<optimized out>) at ../../dist/include/mozilla/StateWatching.h:276
#11 0xb3d0d608 in apply<nsMemoryReporterManager, nsresult (nsMemoryReporterManager::*)()> (
    m=(nsresult (nsMemoryReporterManager::*)(nsMemoryReporterManager * const)) 0xb46b0ab7 <mozilla::WatchManager<mozilla::MediaDecoder>::PerCallbackWatcher::DoNotify()>, o=<optimized out>, 
    this=<optimized out>) at ../../dist/include/nsThreadUtils.h:663
#12 nsRunnableMethodImpl<nsresult (nsMemoryReporterManager::*)(), true>::Run (this=<optimized out>) at ../../dist/include/nsThreadUtils.h:870
#13 0xb3d2d410 in mozilla::AutoTaskDispatcher::DrainDirectTasks (this=0xb28512e8) at ../../dist/include/mozilla/TaskDispatcher.h:96

Alastor, 
Could you have a look?
Flags: needinfo?(jolin) → needinfo?(alwu)
Assignee: nobody → alwu
Flags: needinfo?(alwu)
Component: Gaia::System::Window Mgmt → AudioChannel
Whiteboard: [2.5-Daily-Testing][Spark][Systemsfe][dogfood-blocker] → [2.5-Daily-Testing][Spark][dogfood-blocker]
From the log, we can see that the AudioChannelController didn't resume media element when the youtube came back to the foreground.

In bug1190434, discuss with Evan, we would remove the muted operation when the normal channel turns to background/card view/screen off.

Therefore, I think the bug1190434 can solve this problem.

---

Hi, Evan,
Do you think the bug1190434 can solve this issue?
In addition, do you know why the youtube didn't be resumed when it came back to foreground?
I think that might be some error, we should notice that.
Thanks!
Flags: needinfo?(evan)
Depends on: 1190434
See Also: → 1190434
Whiteboard: [2.5-Daily-Testing][Spark][dogfood-blocker] → [2.5-Daily-Testing][Spark][dogfood-blocker][ft:conndevices][fennec]
Blocks: TV_P1
The reason of youtube can't be playback is that system app would mute it when it want to start again.
After offline discussion, Evan will help to check this issue.
Hi Alastor,

The patch for Bug 1190434 can fix this issue.
Flags: needinfo?(evan)
So wired.

I cannot reproduce this bug in the below build version.

Build ID               20151004150211
Gaia Revision          818b5272d24572db2b3f2fe92b982a7391a10f21
Gaia Date              2015-10-08 03:52:48
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/3d7532ce81ac571962abc3b99582fe7f5d685192
Gecko Version          44.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150622.193834
Firmware Date          Mon Jun 22 19:38:45 EDT 2015
Bootloader             L1TC00011880
I'll update the latest gecko and gaia, and try again.
After test the latest build, yes, the patch for Bug 1190434 can fix this issue.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
This was dup to bug 1190434 which was then dupped to this one.  Reopening this one.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
We really need to resolve this specific issue.  IF UX says that the audio should turn off when the screen turns off, that's fine.  The audio/play should come back once the screen comes back but it does not.

We really need to fix this specific issue.
Flags: needinfo?(firefoxos-ux-bugzilla)
Flags: needinfo?(mliang)
Flags: needinfo?(m)
Flags: needinfo?(evan)
Flags: needinfo?(m)
(side note, I realized the change in ux design isn't fine either.)

In either cases, this bug is not a dup of bug 1190434
For this bug - it looks like the behaviour is just broken and when the user comes back the video should resume (video and audio).

For the other referenced bug about the screen turning off (1190434), please see: https://bugzilla.mozilla.org/show_bug.cgi?id=1191730#c17

~your friends from UX triage!
Flags: needinfo?(firefoxos-ux-bugzilla)
Hi, Naoki,
We knew that these bugs have different bug behaviors, but we found that the patch of bug 1190434 can solve these issue at the same time.
Since the solution of the bug 1190434 can fix this issue, so Evan set the duplicate flag.
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Flags: needinfo?(nhirata.bugzilla)
Resolution: --- → DUPLICATE
It is not a duplicate of Bug 1190434. But it cannot be reproduced in the latest build[1].

Need QA's help here. Thanks.

[1]:
Build ID               20151015150343
Gaia Revision          8ea9029190af2ffeb04dcd97b323738125e31a0e
Gaia Date              2015-10-15 14:30:30
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/d374d16cbb251c9dac5af69f8e186e821ce82fe2
Gecko Version          44.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150622.193834
Firmware Date          Mon Jun 22 19:38:45 EDT 2015
Bootloader             L1TC00011880
Status: RESOLVED → REOPENED
Flags: needinfo?(evan)
Keywords: qawanted
Resolution: DUPLICATE → ---
Al, can you have someone to do this verification?
Flags: needinfo?(atsai.moztw)
Flags: needinfo?(atsai.moztw) → needinfo?(atsai)
Confirmed that this issue is no longer occurring on latest Flame and Aries. The reporter confirmed that it's not occurring as well. Video resumes playing after using Task Manager.

Device: Flame 2.5
BuildID: 20151016030225
Gaia: 8ea9029190af2ffeb04dcd97b323738125e31a0e
Gecko: d374d16cbb251c9dac5af69f8e186e821ce82fe2
Gonk: c4779d6da0f85894b1f78f0351b43f2949e8decd
Version: 44.0a1 (2.5) 
Firmware Version: v18Dv4
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0

Device: Aries 2.5
BuildID: 20151016122951
Gaia: 8999f0ba6326d815c8366e3c1155b7e4e9763b40
Gecko: ccf288f658211b6cfab33c458aaf033baed2375b
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 44.0a1 (2.5) 
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(jmercado)
Keywords: qawanted
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Resolution: --- → WORKSFORME
Flags: needinfo?(jmercado)
Flags: needinfo?(nhirata.bugzilla)
Flags: needinfo?(mliang)
clean ni
Flags: needinfo?(atsai)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: