Closed Bug 1188153 Opened 9 years ago Closed 9 years ago

[Browser] Youtube videos infinitely load with no timeout if the page is cached and there is no internet connection.

Categories

(Core :: Audio/Video, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX
blocking-b2g 2.5+
Tracking Status
b2g-master --- affected

People

(Reporter: NicholasN, Assigned: bechen)

References

()

Details

(Whiteboard: [2.5-Daily-Testing][Spark])

Attachments

(2 files)

Attached file logcat_loading.txt
Description:
The user is connected to the internet, opens the browser, and loads a youtube video. Then they close the browser, enable airplane mode and re-open the browser. When they try to open the previously viewed youtube video, a loading circle will spin indefinitely and not time out.


Repro Steps:
1) Update a Aries to 20150727151800
2) Ensure the device is connected to the internet.
3) Open the browser and load a youtube video.
4) Close the browser and enable airplane mode.
5) Open the browser and navigate to the cached youtube page.


Actual:
Youtube video indefinitely loads and does not time out.


Expected:
Video fails to load and the user is notified that they are not connected to the internet.


Notes:

Environmental Variables:
Device: Aries 2.5
Build ID: 20150727151800
Gaia: 4e3e21a4ba3f188b45623ee2297f21d0791f8667
Gecko: 21ca97268bae
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 42.0a1 (2.5)
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:42.0) Gecko/42.0 Firefox/42.0

Repro frequency: 5/5
See attached: video clip, logcat
Note: I waited 5-7 minutes for the time-out to occur.

Issue also occurs on Flame 2.5. Flame 2.2 and Flame 2.1 give an error message instead of attempting to load the video, but the message seems incorrect. Flame 2.0 did not seem to cache the youtube page.

Flame 2.5

Actual Result:

Youtube video indefinitely loads and does not time out.

Environmental Variables:
Device: Flame 2.5
BuildID: 20150727074921
Gaia: 4e3e21a4ba3f188b45623ee2297f21d0791f8667
Gecko: 21ca97268bae
Gonk: 41d3e221039d1c4486fc13ff26793a7a39226423
Version: 42.0a1 (2.5) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:42.0) Gecko/42.0 Firefox/42.0

Flame 2.2

Actual Result:

Video does not attempt to load, and a message reads, "Video format or MIME type is not supported."

Environmental Variables:
Device: Flame 2.2
Build ID: 20150727032503
Gaia: e1e6317f17a840b19af9dbb25f5a771d8d9fa161
Gecko: 551aee22a380
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

Flame 2.1

Actual Result:

Video does not attempt to load, and a message reads, "Video format or MIME type is not supported."

Environmental Variables:
Device: Flame 2.1
BuildID: 20150724001207
Gaia: 9dba58d18006e921546cec62c76074ce81e16518
Gecko: 41e10c6740be
Gonk: bd9cb3af2a0354577a6903917bc826489050b40d
Version: 34.0 (2.1) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

Flame 2.0

Actual Result:

Youtube page cannot be loaded when the device has no connection. A message reads, "Unable to connect. Tap to check settings."

Environmental Variables:
Device: Flame 2.0
Build ID: 20150723000207
Gaia: b16ba05481e577bc644ed8966f587a70fe2148e6
Gecko: 2e6f1d4deff9
Gonk: bd9cb3af2a0354577a6903917bc826489050b40d
Version: 32.0 (2.0)
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(pbylenga)
Whiteboard: [2.5-Daily-Testing][Spark]
NI on component owner for nomination decision and assignment.
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(pbylenga) → needinfo?(ashiue)
Attached file infinitely_load.log
I tried with the latest 2.5 aries build, and found that the video still unable to load even if I enable wifi during video loading.
Build ID               20150728035120
Gaia Revision          14e32276025b0310d3e89027320cf4b2a24cedfb
Gaia Date              2015-07-27 16:43:18
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/33dc8a83cfc0
Gecko Version          42.0a1
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20150728.033538
Firmware Date          Tue Jul 28 03:35:46 UTC 2015
Bootloader             s1

Besides, after wifi enabled, I created another 3~4 new browsers, but all of them also could not load video .
And device would be reboot after I tried to kill those browsers.
Please refer: http://youtu.be/rTZCumY3Ir0
Flags: needinfo?(ashiue)
[Blocking Requested - why for this release]:
Regression issue.

Hi Ethan, could you help to take a look at this issue? Thank you very much.
blocking-b2g: --- → 2.5?
Flags: needinfo?(ettseng)
(In reply to Alison Shiue from comment #4)
> Hi Ethan, could you help to take a look at this issue? Thank you very much.

Dear Alison,

I discussed this issue with Benjamin and Blake (media team). They had some conjecture about it.
So far, this bug seems to be more of a media issue, not connectivity
Therefore the media team may provide more insights than me. I'll request Blake to help on this.

BTW, the situation you described in comment 3 looks like another bug.
I suggest you file a new bug for it.
(This bug says cache doesn't work. Comment 3 says video cannot be loaded when network is connected back).
Flags: needinfo?(ettseng) → needinfo?(bwu)
Benjamin, please provide your idea as well. :)
(In reply to Ethan Tseng [:ethan] from comment #6)
> Benjamin, please provide your idea as well. :)

There are some directions we should check.

1. Since the youtube content comes from HTTP, the content stores in the MediaCache which has 4MB for b2g. So if the content is larger than 4MB, we can not cache the whole content.
2. step 4 close the browser, it implies "dormant/activity change" for the HW codec, the HW codec should be released. Then step 5 should recreate the HW codec.
3. About the error message: check the MDSM's state (maybe fall into readmetadata), or check the HTTP channel to see if any error message come from.
Flags: needinfo?(bwu)
(In reply to Benjamin Chen [:bechen] from comment #7)
Benjamin, thanks for your prompt response.
I think we need to provide more concrete steps for QAs to follow up.

> 1. Since the youtube content comes from HTTP, the content stores in the
> MediaCache which has 4MB for b2g. So if the content is larger than 4MB, we
> can not cache the whole content.
Does this mean if the clip is more than 4MB then the user cannot replay it at all?
Should we first reproduce this bug using a video which is smaller than 4MB?

> 2. step 4 close the browser, it implies "dormant/activity change" for the HW
> codec, the HW codec should be released. Then step 5 should recreate the HW
> codec.
> 3. About the error message: check the MDSM's state (maybe fall into
> readmetadata), or check the HTTP channel to see if any error message come
> from.
What should QA do? Or anyone in your team will debug according to this information?
(In reply to Ethan Tseng [:ethan] from comment #5)
> (In reply to Alison Shiue from comment #4)
> > Hi Ethan, could you help to take a look at this issue? Thank you very much.
> 
> Dear Alison,
> 
> I discussed this issue with Benjamin and Blake (media team). They had some
> conjecture about it.
> So far, this bug seems to be more of a media issue, not connectivity
> Therefore the media team may provide more insights than me. I'll request
> Blake to help on this.
> 
> BTW, the situation you described in comment 3 looks like another bug.
> I suggest you file a new bug for it.
> (This bug says cache doesn't work. Comment 3 says video cannot be loaded
> when network is connected back).

Thanks Ethan! I created bug 1189143 to track the issue described in Comment 3.
Component: Gaia::Browser → Audio/Video
Product: Firefox OS → Core
blocking-b2g: 2.5? → 2.5+
Hi Blake, this bug was marked as 2.5+.
Could you please help to follow up?
Flags: needinfo?(bwu)
Benjamin,
It looks you have some ideas in comment 7.
Would you mind taking this bug?
Flags: needinfo?(bwu) → needinfo?(bechen)
Assignee: nobody → bechen
Flags: needinfo?(bechen)
I found that now the youtube playback is MSE, so the comment 7 can't apply to this.

MSE has a dedicated MediaResource (SourceBufferResource) will evict data which had been played. Which means the data won't put into the MEdiaCache. So I don't think it is possible to replay the video without network connection.
Depends on: 1188155
Actually, it's all up to the JS player to decide what to do.

I find that for low resolution video (<= 360p) YouTube tends to cache the entire video ; we can cache up to 100MB of data.

In which case it will play fine even without network connection.

But you're right, the data downloaded isn't in the cache. MSE makes it totally unecessary. There is no concept of "video being in the cache" with MSE
Seems nothing we can do for this bug. All dependents on the JS player. Can we close it?
Flags: needinfo?(bwu)
Close this bug due to 
1. Per comment 13 and 14, it is up to JS player to do cache. 
2. Even in FireFox and Chrome browser on laptop, after playing out the cache data and turning wifi off, Youtube video has the same behavior to indefinitely load.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(bwu)
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: