Closed Bug 1797123 Opened 3 years ago Closed 1 year ago

"canplaythrough" event is not triggered with 206 partial content

Categories

(Core :: Audio/Video: Playback, defect)

Firefox 107
defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: allen.wang, Unassigned)

Details

Attachments

(5 files)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36

Steps to reproduce:

Just add a <video> tag and set its src to a remote mp4 file.

Actual results:

The "canplaythrough" event doesn't get triggered from time to time.

Expected results:

The "canplaythrough" event gets triggered everytime I refresh the page.

I check the network tab and found that, on Firefox, the transferred size may vary in each request (btw, Chrome doesn't have such issue, it gets the same transferred size everytime), only if the transferred size >= content size, the "canplaythrough" event can be triggered.

Also, I have checked the "disable cache" option, but somehow, sometimes Firefox doesn't set "Range: byte=0-" in its request header, instead, it sets a random value.

We can have a video call if you want, just so you can better understand the case.

(if the transferred size >= the content size, the "canplaythrough" event gets triggered

Comment on attachment 9299932 [details]
Firefox range starts from zero (canplaythrough not triggered).png

when the transferred size < the content size, the "canplaythrough" event doesn't get triggered

The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core

Comment on attachment 9299934 [details]
Firefox range starts from non-zero (canplaythrough triggered).png

when the transffered size >= the content size, the "canplaythrough" event gets triggered.
(btw, as you can see, the Range in the request header doesn't start from 0 for some reason)

the transferred size is a random value, when it's >= the content size, the "canplaythrough" event gets triggered.

Attached image Chrome.png

the transffered size is pretty stable on Chome, and the "canplaythrough" event gets triggered every time.

I got several screenshots, but looks like the bug report system only allows me to upload one.

this bug always missing 1 byte than the whole length as shown in this picture

The severity field is not set for this bug.
:jimm, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jmathies)

Event related, Alastor, any thoughts?

Flags: needinfo?(jmathies) → needinfo?(alwu)

Would you mind to provide a test page? You said the issue is on the partial content, but I expect when more content are transferred, then the "canplaythrough" would be dispatched later, because that event is related with the progress of how many media data we've downloaded. Or you were saying that you expect "canplaythrough" should be always dispatched on partial content?

Thanks.

Flags: needinfo?(alwu) → needinfo?(allen.wang)

A needinfo is requested from the reporter, however, the reporter is inactive on Bugzilla. Given that the bug is still UNCONFIRMED, closing the bug as incomplete.

For more information, please visit BugBot documentation.

Status: UNCONFIRMED → RESOLVED
Closed: 1 year ago
Flags: needinfo?(allen.wang)
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: