[Bug 16547] Is there a use case for explicitly releasing keys?

https://www.w3.org/Bugs/Public/show_bug.cgi?id=16547

--- Comment #3 from David Dorwin <ddorwin@google.com> 2012-06-11 21:54:16 UTC ---
This comment assumes the answer to the above question is "yes".

== Releasing all keys in a session ==
Note: If we want to use allow per-session key release/destruction, CDMs must
track the keys for each session ID. Currently, this might be an implementation
detail.

Assuming releasing keys during playback would only be necessary for different
sessions (and thus different licenses), we could use cancelKeyRequest() if we
slightly modified its purpose. cancelKeyRequest() is currently meant to be used
after calling generateKeyRequest() and before a key is received (keyadded). If
we removed step 3 from its algorithm, it could be used for explicitly releasing
keys for a session.

Use of cancelKeyRequest() for this purpose somewhat abuses the name. Destroying
a session object (see bug 16613), could serve both purposes. This would require
clearing all references and be subject to garbage collection, though.

== Releasing individual keys within a session == 
Using cancelKeyRequest() or destruction of a session object would not allow
release of specific keys within a session, though.
Q: Does such a use case exists? If so, is there any reason it couldn't use
different sessions? (It seems it shouldn't since keys you want to treat
differently, probably require their own license and request.)

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Monday, 11 June 2012 21:54:19 UTC