The MediaKeySession interface of the EncryptedMediaExtensions API represents a context for message exchange with a content decryption module (CDM).

Documentation MediaKeySession by Mozilla Contributors, licensed under CC-BY-SA 2.5.

See also:

Variables

read onlyclosed:Promise<Void>

Returns a Promise signaling when a MediaKeySession closes. This promise can only be fulfilled and is never rejected. Closing a session means that licenses and keys associated with it are no longer valid for decrypting media data. 

read onlyexpiration:Float

The time after which the keys in the current session can no longer be used to decrypt media data, or NaN if no such time exists. This value is determined by the CDM and measured in milliseconds since January 1, 1970, UTC. This value may change during a session lifetime, such as when an action triggers the start of a window.

read onlykeyStatuses:MediaKeyStatusMap

Contains a reference to a read-only MediaKeyStatusMap of the current session's keys and their statuses.

onkeystatuseschange:Function

Sets the EventHandler called when there has been a change in the keys in a session or their statuses.

onmessage:Function

Sets the EventHandler called when the content decryption module has generated a message for the session.

read onlysessionId:String

Contains a unique string generated by the CDM for the current media object and its associated keys or licenses.

Methods

close():Promise<Void>

Returns a Promise after notifying the current media session is no longer needed and that the CDM should release any resources associated with this object and close it.

generateRequest(initDataType:String, initData:ArrayBufferView):Promise<Void>

generateRequest(initDataType:String, initData:ArrayBuffer):Promise<Void>

Returns a Promise after generating a media request based on initialization data.

load(sessionId:String):Promise<Bool>

Returns a Promise that resolves to a boolean value after loading data for a specified session object. 

remove():Promise<Void>

Returns a Promise after removing any session data associated with the current object.

update(response:ArrayBufferView):Promise<Void>

update(response:ArrayBuffer):Promise<Void>

Returns a Promise after loading messages and licenses to the CDM.

Inherited Variables

Inherited Methods

Defined by EventTarget

addEventListener(type:String, listener:Function, ?options:EitherType<AddEventListenerOptions, Bool>, ?wantsUntrusted:Bool):Void

addEventListener(type:String, listener:EventListener, ?options:EitherType<AddEventListenerOptions, Bool>, ?wantsUntrusted:Bool):Void

Register an event handler of a specific event type on the EventTarget.

Throws:

null

DOMError

dispatchEvent(event:Event):Bool

Dispatch an event to this EventTarget.

Throws:

null

DOMError

removeEventListener(type:String, listener:Function, ?options:EitherType<EventListenerOptions, Bool>):Void

removeEventListener(type:String, listener:EventListener, ?options:EitherType<EventListenerOptions, Bool>):Void

Removes an event listener from the EventTarget.

Throws:

null

DOMError