Do we need loadSession?

Before the last telco, Mark Watson raised an issue with the Key Release use case described on our wiki (https://www.w3.org/wiki/HTML/Media_Task_Force/EME_Use_Cases#Limited_Concurrent_Streams_via_Key_Release). He called out the confusion between the idea of a session and the idea of persistent licenses. Per our discussion in the telco - I have since updated the wiki to reflect this. 

The loadSession() method appears (based on comments from the editors) to have been added primarily to support the key release use case by allowing the CDM to “clean up” when a session was not closed properly. However I am concerned that as defined it is too general and impacts key usage as well. 

Here are my questions:

Is there any use case in which applications would NOT want “cleanup” messages to be sent?
If this answer is NO (I believe it is), then I suggest we remove loadSession and simply require CDMs to send any outstanding “cleanup” messages for this application when the next createSession is called.

Is there any use case in which applications would NOT want cached licenses to be loaded? 
If this answer is YES (I believe it is), then I suggest we allow that to be specified when createSession is called. This would be complementary to the current “persist” flag that indicates whether the application wants to allow license caching. This is something that others have expressed a need for as well (http://lists.w3.org/Archives/Public/public-html-media/2014Mar/0020.html).

These two changes would simplify application development by removing the need to track the sessionID (which should be a temporary value) and simplify CDM implementation by allowing them to manage cached licenses in the way most appropriate for their licensing models. 

Joe Steele

Received on Thursday, 24 July 2014 17:25:58 UTC