Closed Bug 1884719 Opened 8 months ago Closed 8 months ago

[wmfme] ensure the hardware decoding is available before starting the media engine

Categories

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

task

Tracking

()

RESOLVED FIXED
125 Branch
Tracking Status
firefox125 --- fixed

People

(Reporter: alwu, Assigned: alwu)

References

(Blocks 2 open bugs)

Details

Attachments

(3 files, 2 obsolete files)

We got some D3D related crashes after shortly enabling the media engine pref on Nightly in bug 1881620. I think those crashes came from machines which don't have proper hardware decoding support or have high crash rate on their graphic card, or having a buggy version of the gfx driver.

We should check gfx::gfxVars::CanUseHardwareVideoDecoding() before starting a media engine playback.

Move initializing gfxVar from creating a video bridge to the moment we
create UtilityAudioDecoderParent in order to ensure that we can always
get correct value from gfxVar.

Attachment #9390626 - Attachment description: Bug 1884719 - part1 : init gfxVar at the time we create the UtilityAudioDecoderParent. → Bug 1884719 - part1 : init gfxVar when creating a UtilityAudioDecoderParent.
Blocks: 1881620

As now we only allow the media engine playback running if the machine is
capable for the video hardware decoding, we need to move wmfme to the
gpu worker in order to get that ability.

Ideally, we should run wmfme on the gpu worker in order to access
video hardware decoding. However, when switching task to the gpu
worker, there are some tests starting failed on the try server [1].

Therefore, adding this pref temporarily to bypass the gfx check until
we figure out why those tests fail on the gpu worker.

[1] https://treeherder.mozilla.org/jobs?repo=try&revision=bd9a68c7c259ba9028051c8898ddd69384616ac5&selectedTaskRun=OvNqUv77Q5OVeBDlIhWQ5g.0

Blocks: 1885046

Comment on attachment 9390628 [details]
Bug 1884719 - part3 : make sure we always have a DXGI device manager before creating a media engine.

Revision D204294 was moved to bug 1885046. Setting attachment 9390628 [details] to obsolete.

Attachment #9390628 - Attachment is obsolete: true

Comment on attachment 9390870 [details]
Bug 1884719 - part4 : move wmfme to the gpu worker.

Revision D204422 was moved to bug 1885046. Setting attachment 9390870 [details] to obsolete.

Attachment #9390870 - Attachment is obsolete: true
Pushed by alwu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9f715e1f7491 part1 : init gfxVar when creating a UtilityAudioDecoderParent. r=gerard-majax https://hg.mozilla.org/integration/autoland/rev/0a98d4f122c3 part2 : only use media engine playback when hardware video decoding is allowed. r=media-playback-reviewers,jolin https://hg.mozilla.org/integration/autoland/rev/c79195eb2291 part3 : add a by-pass pref for testing. r=media-playback-reviewers,ci-and-tooling,jmaher,padenot
Status: NEW → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → 125 Branch
Regressions: 1885347

Wrong regression.

No longer regressions: 1885347
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: