Closed Bug 2065262 Opened 13 days ago Closed 6 days ago

Firefox performance degrades during repeated seeking with VP9 video.

Categories

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

Firefox 154
Desktop
Windows 11
defect

Tracking

()

RESOLVED FIXED
156 Branch
Tracking Status
firefox-esr140 --- unaffected
firefox-esr153 --- affected
firefox154 --- wontfix
firefox155 --- wontfix
firefox156 --- fixed

People

(Reporter: litosh.a.c, Assigned: az)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(4 files, 2 obsolete files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:154.0) Gecko/20100101 Firefox/154.0

Steps to reproduce:

Open YouTube in Firefox.
Start playing video (https://www.youtube.com/watch?v=idFqSSbpXcA&t=5201s).
Seek forward and/or backward several times.
Continue watching the video.

Actual results:

After seeking several times, video playback becomes increasingly laggy and starts to stutter.

YouTube may automatically reduce the video quality. Eventually, playback may stop completely and YouTube displays an error such as:

An error occurred. Please try again later. Playback ID: XXXXXXXX

The problem appears to occur after repeatedly seeking through the video.

Expected results:

Video playback should remain smooth after seeking, with no unexpected quality degradation or playback errors.

Attached video 2026-08-17-175147.mp4

The issue can be avoided by disabling VP9 and WebM playback in Firefox. With these settings disabled, YouTube uses other codecs such as AV1 or H.264, and the browser behaves stably during video playback.

The following preferences are currently disabled as a workaround:

media.mediasource.vp9.enabled = false
media.webm.enabled = false

When VP9/WebM playback is enabled, YouTube playback may become laggy and eventually fail after seeking. With VP9/WebM disabled, playback using AV1 or H.264 remains stable.

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
OS: Unspecified → Windows 11
Hardware: Unspecified → Desktop
Duplicate of this bug: 2065261
Summary: YouTube playback becomes laggy and eventually fails with a playback error after repeatedly seeking through a video when using the VP9 codec in Firefox. → Firefox performance degrades during repeated seeking with VP9 video.

The problem can be observed in Firefox 153, 154, 155, and 156. In general, VP9 playback at 1440p and 4K is affected: the video quality often drops dramatically to 480p or even 144p.

This looks like a real Firefox-side defect in handling repeated seeks with VP9/WebM. The most likely areas are the decoder lifecycle, MSE/WebM buffering, and the hardware VP9 decoding path.

The fact that switching to AV1 or H.264 completely eliminates the issue is a very strong differential test and strongly suggests that the problem is specific to the VP9/WebM playback path in Firefox.

I noticed the same issue, and it doesn't seem to be limited to a specific video format. As a temporary workaround on my PC, setting media.webm.enabled = false prevents the problem for me.

I also tested Firefox on Android 16, and interestingly, videos can crash there as well when repeatedly seeking/rewinding. This makes me think the issue may be related to Firefox's media playback/seek handling rather than being specific to Windows, NVIDIA drivers, or my PC hardware.

Could you help us out by trying to capture a Firefox performance profile when this happens? Visit https://profiler.firefox.com/ for more information and to enable the profiling toolbar button. When capturing a profile, please follow these steps -

  1. Navigate to about:logging
  2. In the logging preset drop down, select 'Media playback' and then click 'Set Log Modules'
  3. Click 'Start Logging' and conduct your testing. Keep this part short. Capture the issue well.
  4. Upload the resulting performance profile and post the url provided to this bug.

Thanks!

Flags: needinfo?(litosh.a.c)

In the capture video, I do not see dropped frames. The crash at the end appears to have to do with avc content. Please try to capture any of these issues in a good Firefox profile!

I think this might be related to Bug 1341228.

Could you please try this build and let me know if it fixes the issue? Thanks!

https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/QcUDmcqyRrK5qVqgvW6AAg/runs/0/artifacts/public/build/target.zip

Flags: needinfo?(litosh.a.c)

I tested this build with several different videos and repeated seeking, and everything seems to be working well. I can no longer reproduce the issue.

Thanks! Should we expect this fix to make it into the stable Firefox branch?

Flags: needinfo?(litosh.a.c)

Thanks for checking and reporting back! The fix will have to go through review first, but since it's not a major change I'm hoping it'll be part of the 156 release.

Keywords: regression
Regressed by: 1341228
Assignee: nobody → azebrowski
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

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

Pushed by mgregan@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/2359f15d090b https://hg.mozilla.org/integration/autoland/rev/62c5b7dbc9e4 Part 1: Stop the WebM init segment boundary running into a following init segment. r=kinetik,media-playback-reviewers https://github.com/mozilla-firefox/firefox/commit/6738d6d18e49 https://hg.mozilla.org/integration/autoland/rev/970eb072a2e9 Part 2: Add tests for the WebM init segment boundary across back to back init segments. r=kinetik,media-playback-reviewers

If the fixes are not risky, should we uplift them to Fx155? Given that this affects video resolution on Youtube?

Flags: needinfo?(azebrowski)
Status: ASSIGNED → RESOLVED
Closed: 6 days ago
Resolution: --- → FIXED
Target Milestone: --- → 156 Branch
Blocks: yt-playback
Severity: -- → S2
Priority: -- → P2

This isn't a new issue in 155, so I'd rather let this bake for a couple weeks and ride 156 instead. We probably should consider an ESR153 backport eventually, though.

Attachment #9631655 - Flags: approval-mozilla-release?

firefox-release Uplift Approval Request

  • User impact if declined/Reason for urgency: Reduced YouTube performance / resolution including videos stopped entirely with playback errors.
  • Code covered by automated testing?: no
  • Fix verified in Nightly?: no
  • Needs manual QE testing?: no
  • Steps to reproduce for manual QE testing: Included in bug if needed
  • Risk associated with taking this patch: low
  • Explanation of risk level: Targeted patch affecting a single line of code reviewed by expert in area
  • String changes made/needed?: N/A
  • Is Android affected?: yes
Attachment #9631656 - Flags: approval-mozilla-release?
Attachment #9631655 - Flags: approval-mozilla-release?
Attachment #9631656 - Flags: approval-mozilla-release?

Just finished the uplift requests before seeing this, happy to let them bake then. Let me know if you need anything else from my side and I'll be happy to help (or obsolete the current ones in the queue if needed), thanks!

Flags: needinfo?(ryanvm)

Yeah, please go ahead and drop them. BTW, does this depend on a Nestegg update too? I see the bug dependency but didn't see that included in the stack.

Flags: needinfo?(ryanvm)
Attachment #9631655 - Attachment is obsolete: true
Attachment #9631656 - Attachment is obsolete: true

I don't think it relies on a nestegg update - pinging :kinetik to make sure.

Flags: needinfo?(kinetik)

Yeah, this fix doesn't rely on nestegg changes so is fine to uplift standalone.

Flags: needinfo?(kinetik)
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: