author | JW Wang <jwwang@mozilla.com> |
Mon, 26 Jan 2015 20:08:00 +0100 | |
changeset 226044 | ee1ddfd2252169abac229c23a1c61658661d7231 |
parent 226043 | 5d8e34d06f43735d7824da716e176cc391eadda3 |
child 226045 | 9f7b43f62de0a1a598f4eff97d80936b2dfedeca |
push id | 28185 |
push user | kwierso@gmail.com |
push date | Wed, 28 Jan 2015 00:05:15 +0000 |
treeherder | mozilla-central@b2b10231606b [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bz |
bugs | 1124939 |
milestone | 38.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/dom/media/eme/CDMProxy.cpp +++ b/dom/media/eme/CDMProxy.cpp @@ -410,16 +410,17 @@ CDMProxy::OnResolveLoadSessionPromise(ui } static dom::MediaKeyMessageType ToMediaKeyMessageType(GMPSessionMessageType aMessageType) { switch (aMessageType) { case kGMPLicenseRequest: return dom::MediaKeyMessageType::License_request; case kGMPLicenseRenewal: return dom::MediaKeyMessageType::License_renewal; case kGMPLicenseRelease: return dom::MediaKeyMessageType::License_release; + case kGMPIndividualizationRequest: return dom::MediaKeyMessageType::Individualization_request; default: return dom::MediaKeyMessageType::License_request; }; }; void CDMProxy::OnSessionMessage(const nsAString& aSessionId, GMPSessionMessageType aMessageType, nsTArray<uint8_t>& aMessage)
--- a/dom/media/gmp-plugin/fake.info +++ b/dom/media/gmp-plugin/fake.info @@ -1,5 +1,5 @@ Name: fake Description: Fake GMP Plugin Version: 1.0 -APIs: encode-video[h264], decode-video[h264], eme-decrypt-v3[fake] +APIs: encode-video[h264], decode-video[h264], eme-decrypt-v4[fake] Libraries: dxva2.dll
--- a/dom/media/gmp/gmp-api/gmp-decryption.h +++ b/dom/media/gmp/gmp-api/gmp-decryption.h @@ -67,17 +67,18 @@ enum GMPDOMException { kGMPQuotaExceededError = 22, kGMPTimeoutError = 23 }; enum GMPSessionMessageType { kGMPLicenseRequest = 0, kGMPLicenseRenewal = 1, kGMPLicenseRelease = 2, - kGMPMessageInvalid = 3 // Must always be last. + kGMPIndividualizationRequest = 3, + kGMPMessageInvalid = 4 // Must always be last. }; // Time in milliseconds, as offset from epoch, 1 Jan 1970. typedef int64_t GMPTimestamp; // Capability definitions. The capabilities of the EME GMP are reported // to Gecko by calling the GMPDecryptorCallback::SetCapabilities() // callback and specifying the logical OR of the GMP_EME_CAP_* flags below. @@ -214,17 +215,17 @@ public: }; enum GMPSessionType { kGMPTemporySession = 0, kGMPPersistentSession = 1, kGMPSessionInvalid = 2 // Must always be last. }; -#define GMP_API_DECRYPTOR "eme-decrypt-v3" +#define GMP_API_DECRYPTOR "eme-decrypt-v4" // API exposed by plugin library to manage decryption sessions. // When the Host requests this by calling GMPGetAPIFunc(). // // API name macro: GMP_API_DECRYPTOR // Host API: GMPDecryptorHost class GMPDecryptor { public:
--- a/dom/webidl/MediaKeyMessageEvent.webidl +++ b/dom/webidl/MediaKeyMessageEvent.webidl @@ -8,17 +8,18 @@ * * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. * W3C liability, trademark and document use rules apply. */ enum MediaKeyMessageType { "license-request", "license-renewal", - "license-release" + "license-release", + "individualization-request" }; [Pref="media.eme.enabled", Constructor(DOMString type, optional MediaKeyMessageEventInit eventInitDict)] interface MediaKeyMessageEvent : Event { readonly attribute MediaKeyMessageType messageType; [Throws] readonly attribute ArrayBuffer message; };