This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 19616 - session id for encrypted media
Summary: session id for encrypted media
Status: RESOLVED FIXED
Alias: None
Product: HTML WG
Classification: Unclassified
Component: Encrypted Media Extensions (show other bugs)
Version: unspecified
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: David Dorwin
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-19 03:33 UTC by Yang Sun
Modified: 2012-10-31 16:51 UTC (History)
3 users (show)

See Also:


Attachments

Description Yang Sun 2012-10-19 03:33:00 UTC
question: why session ids nee not necessarily be supporte by content protection client? the client is CDM?

////////////First Change///////////////////////////////////////////////////////
1.2.3. Session ID

A session ID is an optional string ID used to associate calls related to a key/license lifetime, starting with the request. It is a local binding between a request and key/license. It does not associate keys or licenses for different streams (i.e. audio and video). If supported by the Key System, it is generated by the user agent/CDM and provided to the application in the keymessage event. (Session IDs need not necessarily be supported by the underlying content protection client or server.)

////Each successful call to createSession() generates a new Session ID.-deleted////

Applications should always provide the session ID from an event in subsequent calls for this key or license. (This is a best practice, even if the current Key System does not support session IDs.) This may mean that the application must associate a server response with the session ID and provide them both to addKey().

If Session IDs are supported, a new one will be created each time createSession() is ////successfully/// called. The user agent/CDM manage the lifetime of Session IDs. All Session IDs are cleared from the media element when a load occurs, although the CDM may retain them for longer.
/////////////First Change  end//////////////////////////////////////////////////

session id can be generated by cdm or user agent, and it is "only" used by 1 MediaKeySession object but not objects.
/////////////second change////////////////////////////////////////////////

The sessionId attribute is the Session ID for this ////objects->"ojbect"//// and the associated key(s) or license(s)

Let the sessionId attribute be a unique Session ID string. It may be generated by cdm //// or user agent/////

/////////// second change end///////////////////////////////////////////////
Comment 1 David Dorwin 2012-10-31 16:49:35 UTC
(In reply to comment #0)
> question: why session ids nee not necessarily be supporte by content
> protection client?

See issue 17203.

> the client is CDM?

Yes, or the thing the CDM wraps.

> ////////////First
> Change///////////////////////////////////////////////////////
> 1.2.3. Session ID
> 
> A session ID is an optional string ID used to associate calls related to a
> key/license lifetime, starting with the request. It is a local binding
> between a request and key/license. It does not associate keys or licenses
> for different streams (i.e. audio and video). If supported by the Key
> System, it is generated by the user agent/CDM and provided to the
> application in the keymessage event. (Session IDs need not necessarily be
> supported by the underlying content protection client or server.)
> 
> ////Each successful call to createSession() generates a new Session
> ID.-deleted////

Done

> Applications should always provide the session ID from an event in
> subsequent calls for this key or license. (This is a best practice, even if
> the current Key System does not support session IDs.) This may mean that the
> application must associate a server response with the session ID and provide
> them both to addKey().
> 
> If Session IDs are supported, a new one will be created each time
> createSession() is ////successfully/// called. The user agent/CDM manage the
> lifetime of Session IDs. All Session IDs are cleared from the media element
> when a load occurs, although the CDM may retain them for longer.

Updated

> /////////////First Change 
> end//////////////////////////////////////////////////
> 
> session id can be generated by cdm or user agent, and it is "only" used by 1
> MediaKeySession object but not objects.
> /////////////second change////////////////////////////////////////////////
> 
> The sessionId attribute is the Session ID for this ////objects->"ojbect"////
> and the associated key(s) or license(s)

Done

> Let the sessionId attribute be a unique Session ID string. It may be
> generated by cdm //// or user agent/////

User agent is implied since steps are performed by the user agent unless otherwise noted. This (now non-normative) text is just saying the CDM may or is allowed to be the entity that creates it.

> /////////// second change end///////////////////////////////////////////////