Closed Bug 1906342 Opened 3 months ago Closed 3 months ago

For automatic eviction, prioritize removing data furthest from the current playback position.

Categories

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

defect

Tracking

()

VERIFIED FIXED
130 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- unaffected
firefox128 --- unaffected
firefox129 --- verified
firefox130 --- verified

People

(Reporter: alwu, Assigned: alwu)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(2 files)

For the similar reproduce step mentioned in bug 1904937 comment0.

I can see sometime the infinite buffering appears again, when auto eviction kicks in, because it incorrectly evict the data which we're going to play soon. We should remove data furthest from the current playback position.

If we always clear data from one side (erither buffer head or tail)
without considering the distance between the targeted position and the
buffer's interval, then it's possible to remove the data which website
just appended and are required for decoding the targeted position.

Therefore, we should consider to evict data from the furthest place
which won't affect the targeted position.

Depends on D215822

Priority: P2 → P1

Set release status flags based on info from the regressing bug 1904937

Pushed by alwu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a7b2d755826e part1 : evict data furthest from the targeted playback position. r=media-playback-reviewers,karlt https://hg.mozilla.org/integration/autoland/rev/8d14374f7e97 part2 : add test. r=media-playback-reviewers,padenot
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 130 Branch

The patch landed in nightly and beta is affected.
:alwu, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox129 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(alwu)

Comment on attachment 9411326 [details]
Bug 1906342 - part1 : evict data furthest from the targeted playback position.

Beta/Release Uplift Approval Request

  • User impact if declined: youtube video would stuck on infinite buffering on certain situations
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: Yes
  • If yes, steps to reproduce: Follow the steps 1-4 in bug 1904937 comment 0, then perform seeking to random position multiple times to ensure the video playback is smooth without having infinite buffering.
  • List of other uplifts needed: patch2 (for testing)
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): This patch improves the eviction algorithm we use for MSE, which will only be used when buffer full and the targeted data isn't in the buffered range.

So it won't affect most of playback situations where the buffer is still not full. If the buffer is already full, not having the data evicted would result in even worse situation, where youtube player has a problem to handle that case.

  • String changes made/needed: No
  • Is Android affected?: Unknown
Flags: needinfo?(alwu)
Attachment #9411326 - Flags: approval-mozilla-beta?
Flags: qe-verify+

Comment on attachment 9411326 [details]
Bug 1906342 - part1 : evict data furthest from the targeted playback position.

Approved for 129.0b4

Attachment #9411326 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Comment on attachment 9411327 [details]
Bug 1906342 - part2 : add test.

Approved for 129.0b4

Attachment #9411327 - Flags: approval-mozilla-beta+
QA Whiteboard: [qa-triaged]

I have reproduced the issue with Firefox 129.0a1 (2024-07-05) on Windows 10x64 by following steps from bug 1904937 comment 0. After seeking to the start of the video, the infinite buffering will appear. Clicking randomly on the seek bar after entering the infinite buffering after following the steps from bug 1904937 comment 0 will make the infinite buffering issue disappear and reappear again randomly.

The issue is verified fixed with Firefox 129.0b4 and 130.0a1 (2024-07-16) on Windows 10x64, macOS 12 and Ubuntu 23.10. No infinite buffering appears by following the steps from bug 1904937 comment 0 and then randomly clicking the seek bar to a random position multiple times.

Status: RESOLVED → VERIFIED
Has STR: --- → yes
QA Whiteboard: [qa-triaged]
Flags: qe-verify+
Duplicate of this bug: 1905293
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: