MediaKeySession

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

Properties

MediaKeySession.closed Read only

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.

MediaKeySession.expiration Read only

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.

MediaKeySession.keyStatuses Read only

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

MediaKeySession.sessionId Read only

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

Event handlers

MediaKeySession.onkeystatuseschange

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

MediaKeySession.onmessage

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

Methods

MediaKeySession.close()

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.

MediaKeySession.generateRequest()

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

MediaKeySession.load()

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

MediaKeySession.remove()

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

MediaKeySession.update()

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

Examples

// TBD

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
MediaKeySession
42
13
38
No
Yes
12.1
43
42
38
Yes
12.2
4.0
close
42
13
38
No
Yes
12.1
43
42
38
Yes
12.2
4.0
closed
42
13
38
No
Yes
12.1
43
42
38
Yes
12.2
4.0
expiration
42
13
38
No
Yes
12.1
43
42
38
Yes
12.2
4.0
generateRequest
42
13
38
No
Yes
12.1
43
42
38
Yes
12.2
4.0
keyStatuses
42
13
38
No
Yes
12.1
43
42
38
Yes
12.2
4.0
load
42
13
38
No
Yes
12.1
43
42
38
Yes
12.2
4.0
onkeystatuseschange
55
79
52
No
42
12.1
43
55
52
42
12.2
6.0
onmessage
55
79
52
No
42
12.1
43
55
52
42
12.2
6.0
remove
42
13
38
No
Yes
12.1
43
42
38
Yes
12.2
4.0
sessionId
42
13
38
No
Yes
12.1
43
42
38
Yes
12.2
4.0
update
42
13
38
No
Yes
12.1
43
42
38
Yes
12.2
4.0

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaKeySession