[Bug 24082] Several issues discussed in the TF point to the need for defined extensibility points in EME

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

Joe Steele <steele@adobe.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |steele@adobe.com

--- Comment #1 from Joe Steele <steele@adobe.com> ---
I will provide some examples, since I raised this initially. The use cases that
I am concerned about all involve passing information that is not known at the
time the content is being packaged and therefore will not be part of the
initData. 

I see two major areas here:
1) Information/instructions required to playback
2) Information/instructions to manage cached state

Some examples of #1 are:
- in-band authentication, where the authentication tokens are carried within
the key request protocol
- domain join requests, where the domain being joined is selected by the web
application
- web application authentication tokens

Some examples of #2 are:
- clear all cached state
- domain leave requests, where the domain being left is selected by the web
application

It is desirable to be able to perform some of these operations prior to
actually playing content, for example while the user is selecting a movie, in
order to reduce the time to starting playback. However since the actions being
requested may require network communications, it may make more sense to hang
this additional parameter off of the createSession() call instead of the
constructor to avoid adding another call/response channel directly to the
MediaKeys.

I would imagine performing a domain join using this mechanism to look something
like this:

var extra = { 'action':'join', 'domain':'Lambda Lambda Lambda' }
var mediaKeys = new MediaKeys("com.example.cdm");
video.setMediaKeys(mediaKeys);
var session = mediaKeys.createSession("video/mp4", initData, extras);

The structure of the extra parameter can be completely CDM specific. If it is
passed when not appropriate, it can be completely ignored. If a particular
entry is not understood, we can decide whether that means an error or not. I am
not sure where that error would go, but it would be useful to have an error
thrown.

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

Received on Tuesday, 18 February 2014 06:42:43 UTC