MediaKeySession

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2019.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

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

EventTarget MediaKeySession

Instance 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.

Events

keystatuseschange

Fires when there has been a change in the keys in a session or their statuses.

message

Fires when the content decryption module has generated a message for the session.

Instance 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

js
// TBD

Specifications

Specification
Encrypted Media Extensions
# mediakeysession-interface

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
MediaKeySession
close
closed
expiration
generateRequest
keyStatuses
keystatuseschange event
load
message event
remove
sessionId
update

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
Has more compatibility info.