Closed Bug 1121154 Opened 10 years ago Closed 10 years ago

[EME] Refuse to load GMPs with unsupported APIs in their .info file

Categories

(Core :: Audio/Video, defect)

x86_64
All
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: cpearce, Assigned: jwwang)

References

(Blocks 1 open bug)

Details

If a GMP has an API name in its .info file that gecko doesn't support, we should refuse to load it. This way, if the CDM is for a newer (or older) version of gecko, we won't expose it as usable to JavaScript, even though it isn't actually usable.
Maybe we should even go as far as deleting the GMP if it supports APIs Gecko doesn't support?
Assignee: nobody → jwwang
I don't quite understand the problem here. Can you give an example? Take Navigator.requestMediaKeySystemAccess as an example, our code flow will be: MediaKeySystemAccess::IsKeySystemSupported("org.w3.clearkey") => HaveGMPFor(mps, "org.w3.clearkey", "eme-decrypt-v3") If the plugin's .info file says "eme-decrypt-v2", HaveGMPFor() will return false and reject the promise and the CDM won't be usable to the script.
You're right, thanks to our HaveGMPFor checks we won't load a GMP which is out-of-date. I had forgotten about this. Thanks for checking this!
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → INVALID
Mass update firefox-status to track EME uplift.
You need to log in before you can comment on or make changes to this bug.