[Bug 19208] Keymessage event not needed when Key System already has Key

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

--- Comment #5 from Mark Watson <watsonm@netflix.com> ---
(In reply to comment #4)
> (In reply to comment #3)
> > When createSession is called, if the CDM discovers that there is already a
> > key+session that matches the initData, there are two possibilities:
> > (i) there already exists a MediaKeySession object for this session
> > (ii) there is no existing MediaKeySession object for this session
> 
> I don't think scenario (ii) should happen. If the MediaKeySession object has
> been destroyed, the keys related to that session should have been deleted.
> This is the equivalent of calling close(). Thus, only (i) should be possible.

That's fine for me.

I can imagine scenarios where you need (ii) - for example licenses for offline
use. In those cases, closing the browser doesn't delete the key from the CDM.

> 
> > For (i), perhaps we should just return the existing MediaKeySession ?
> 
> We previously discussed returning an existing MediaKeySession object, but it
> raises a lot of questions and involves the particularly thorny issue of
> synchronous calls to the CDM. See
> http://lists.w3.org/Archives/Public/public-html-media/2012Jun/0133.html

Ok, yes, I see.

The thread doesn't quite conclude, though.

One option is that we require that the application knows whether a new license
exchange is required or not. If the application creates a new MediaKeySession
with the same initData it's because it really wants a new license exchange for
those same keys (for some reason). In that case we would close this bug with
WONTFIX.

Another option would be to allow multiple MediaKeySession objects to refer to
the same underlying key information. In this case the keyadded would be fired
on the newly created MediaKeySession - i.e. it autonomously transitions from
NOT_READY to READY when the CDM has processed the initData and determined that
it already has the keys.

In this second case we need to deal with the possibility of multiple
MediaKeySession JS objects referring to the same key. Do they refer to the same
session ?

We might want to allow the sessionId attribute to be null when the object is
first created and only obtain a value when the first message is fired. This
would allow the sessionId to be determined asynchronously by the CDM.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Thursday, 3 January 2013 01:15:24 UTC