Closed Bug 1888238 Opened 3 months ago Closed 3 months ago

[wmfme] do not block main thread when querying the capabilites from MFCDM

Categories

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

task

Tracking

()

RESOLVED FIXED
126 Branch
Tracking Status
firefox126 --- fixed

People

(Reporter: alwu, Assigned: alwu)

References

(Blocks 1 open bug)

Details

Attachments

(6 files)

Currently this blocks the main thread and causes jank, which can be observed in bug 1885761. We should make it async.

In following patches, we will make the method be able to get
capabilities from all different key systems. This is a
pre-requirement refactoring.

Depends on D205888

In following patches, we will use this new method to replace
WMFCDMImpl::GetCapabilities().

Depends on D205889

A pre-requirement for making the process of getting capabilities async.

Depends on D205891

Attachment #9393583 - Attachment description: Bug 1888238 - part3 : create a helper class WMFCDMCapabilities to get cabapilities asynchronously. → Bug 1888238 - part3 : create a helper class WMFCDMCapabilities to get capabilities asynchronously.
Attachment #9393582 - Attachment description: Bug 1888238 - part2 : make ipdl method 'GetCapabilities()' independent with the MFCDMChild's key system. → Bug 1888238 - part2 : make ipdl method 'GetCapabilities()' independent with the MFCDM 's key system.
Attachment #9393582 - Attachment description: Bug 1888238 - part2 : make ipdl method 'GetCapabilities()' independent with the MFCDM 's key system. → Bug 1888238 - part2 : make ipdl method 'GetCapabilities()' independent with the MFCDM's key system.
Pushed by alwu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a9fb675bbb91
part1 : refactor 'KeySystemConfig::CreateKeySystemConfigs' for the preparation of making it return an async result. r=jolin
https://hg.mozilla.org/integration/autoland/rev/13100b02973d
part2 : make ipdl method 'GetCapabilities()' independent with the MFCDM's key system. r=jolin
https://hg.mozilla.org/integration/autoland/rev/309a46bb6661
part3 : create a helper class WMFCDMCapabilities to get capabilities asynchronously. r=jolin
https://hg.mozilla.org/integration/autoland/rev/f09c80138d87
part4 : move the deprecation function to EMEUtils. r=jolin
https://hg.mozilla.org/integration/autoland/rev/883227d7d946
part5 : let MediaKeySystemAccessRequest have its own DecoderDoctorDiagnostics to track its error status. r=jolin
https://hg.mozilla.org/integration/autoland/rev/d6168bc7f850
part6 : make the process of getting capabilities async. r=jolin

Backed out for causing build bustages

Flags: needinfo?(alwu)
Flags: needinfo?(alwu)
Attachment #9393584 - Attachment description: Bug 1888238 - part4 : move the deprecation function to EMEUtils. → WIP: Bug 1888238 - part4 : move the deprecation function to EMEUtils.
Attachment #9393585 - Attachment description: Bug 1888238 - part5 : let MediaKeySystemAccessRequest have its own DecoderDoctorDiagnostics to track its error status. → WIP: Bug 1888238 - part5 : let MediaKeySystemAccessRequest have its own DecoderDoctorDiagnostics to track its error status.
Attachment #9393586 - Attachment description: Bug 1888238 - part6 : make the process of getting capabilities async. → WIP: Bug 1888238 - part6 : make the process of getting capabilities async.
Attachment #9393584 - Attachment description: WIP: Bug 1888238 - part4 : move the deprecation function to EMEUtils. → Bug 1888238 - part4 : move the deprecation function to EMEUtils.
Attachment #9393585 - Attachment description: WIP: Bug 1888238 - part5 : let MediaKeySystemAccessRequest have its own DecoderDoctorDiagnostics to track its error status. → Bug 1888238 - part5 : let MediaKeySystemAccessRequest have its own DecoderDoctorDiagnostics to track its error status.
Attachment #9393586 - Attachment description: WIP: Bug 1888238 - part6 : make the process of getting capabilities async. → Bug 1888238 - part6 : make the process of getting capabilities async.
Pushed by alwu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bd0736005507
part1 : refactor 'KeySystemConfig::CreateKeySystemConfigs' for the preparation of making it return an async result. r=jolin
https://hg.mozilla.org/integration/autoland/rev/a84302936d3b
part2 : make ipdl method 'GetCapabilities()' independent with the MFCDM's key system. r=jolin
https://hg.mozilla.org/integration/autoland/rev/35a1aec85be3
part3 : create a helper class WMFCDMCapabilities to get capabilities asynchronously. r=jolin
https://hg.mozilla.org/integration/autoland/rev/9cc9b13f154e
part4 : move the deprecation function to EMEUtils. r=jolin
https://hg.mozilla.org/integration/autoland/rev/70185eb16e5b
part5 : let MediaKeySystemAccessRequest have its own DecoderDoctorDiagnostics to track its error status. r=jolin
https://hg.mozilla.org/integration/autoland/rev/604ab60e8bee
part6 : make the process of getting capabilities async. r=jolin
Regressions: 1890070
Blocks: 1891087
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: