Encrypted Media Extensions updates

Encrypted Media Extensions extends the audio and video elements to enable Digital Rights Management (DRM) protected content without using plug-ins. Since its initial implementation in Internet Explorer 11, the World Wide Web Consortium (W3C) specification has changed significantly. The Microsoft Edge implementation has been updated to reflect these changes.

Removing the -ms- prefix

Microsoft Edge introduces support for non-prefixed Encrypted Media Extensions APIs. The legacy -ms- prefixed APIs are still supported in IE11.

The following table shows the -ms- prefixed and non-prefixed API changes across versions.

IE11Microsoft Edge
msMediaKeyMessageEvent MediaKeyMessageEvent
msMediaKeys MediaKeys
msMediaKeySession MediaKeySession
msSetMediaKeys setMediaKeys
msKeySystem keySystem

 

Other -ms- prefixed APIs supported in IE11 have been deprecated in Microsoft Edge. See the Other EME updates table below for a list of -ms- prefixed APIs not supported in Microsoft Edge.

Promise-based model

The W3C Encrypted Media Extensions specification has changed from an event-driven model to a new model based on JavaScript Promises. Microsoft Edge introduces support for this new model. The legacy model will still be supported in IE11.

The following table summarizes the Promise-based API changes across versions.

EME API areaIE11Microsoft Edge
close method (MediaKeySession)No return typeReturn type: Promise<void>
update method (MediaKeySession)void update(Uint8Array key);Promise<void> update(BufferSource response)
setMediaKeys method (HTMLMediaElement)No return typeReturn type: Promise<void>

 

Microsoft Edge also introduces support for new APIs using the promised-based model. See the Other EME updates table below for a list of new APIs in Microsoft Edge.

Other EME updates

The W3C Encrypted Media Extensions specification has changed significantly. Microsoft Edge now supports these new and updated APIs.

The following table summarizes the API changes across versions.

EME API areaIE11Microsoft Edge
MSMediaKeyError objectSupportedNot supported. Replaced with DOMExceptions
code propertySupportedNot supported
systemCode propertySupportedNot supported
MSMediaKeyNeededEvent objectSupportedNot supported
mskeyadded eventSupportedNot supported
mskeyerror eventSupportedNot supported
mskeymessage eventSupportedNot supported
onmsneedkey eventSupportedNot supported
isTypeSupported methodSupportedNot supported
msKeys propertySupportedNot supported
destinationURL propertySupportedNot supported
createSession methodParameters: type, initDataParameter: sessionType
message propertyType: Uint8ArrayType: ArrayBuffer
MediaKeySystemAccess objectNot supportedSupported
setServerCertificate methodNot supportedSupported
requestMediaKeySystemAccess methodNot supportedSupported
getConfiguration methodNot supportedSupported
createMediaKeys methodNot supportedSupported
closed propertyNot supportedSupported
generateRequest methodNot supportedSupported
load methodNot supportedSupported
remove Not supportedSupported
messageType propertyNot supportedSupported
keystatuseschange eventNot supportedSupported
message eventNot supportedSupported
mediaKeys propertyNot supportedSupported
onencrypted event handlerNot supportedSupported
MediaEncryptedEvent objectNot supportedSupported
initDataType propertyNot supportedSupported
encrypted eventNot supportedSupported
waitingforkey eventNot supportedSupported
expiration propertyNot supportedSupported
MediaKeyStatusMap objectNot supportedSupported
forEach methodNot supportedSupported
get methodNot supportedSupported
has methodNot supportedSupported

 

 

 

Show: