diff --git a/externs/shaka/net.js b/externs/shaka/net.js index 3a7f17db65..44c80a6431 100644 --- a/externs/shaka/net.js +++ b/externs/shaka/net.js @@ -60,6 +60,7 @@ shaka.extern.RetryParameters; * retryParameters: !shaka.extern.RetryParameters, * licenseRequestType: ?string, * sessionId: ?string, + * drmInfo: ?shaka.extern.DrmInfo, * streamDataCallback: ?function(BufferSource):!Promise * }} * @@ -90,6 +91,9 @@ shaka.extern.RetryParameters; * @property {?string} sessionId * If this is a LICENSE request, this field contains the session ID of the * EME session that made the request. + * @property {?shaka.extern.DrmInfo} drmInfo + * If this is a LICENSE request, this field contains the DRM info used to + * initialize EME. * @property {?function(BufferSource):!Promise} streamDataCallback * A callback function to handle the chunked data of the ReadableStream. * @exportDoc diff --git a/lib/media/drm_engine.js b/lib/media/drm_engine.js index ccd0152e4e..1762f5c5fe 100644 --- a/lib/media/drm_engine.js +++ b/lib/media/drm_engine.js @@ -1385,6 +1385,7 @@ shaka.media.DrmEngine = class { request.method = 'POST'; request.licenseRequestType = event.messageType; request.sessionId = session.sessionId; + request.drmInfo = this.currentDrmInfo_; // NOTE: allowCrossSiteCredentials can be set in a request filter. if (shaka.media.DrmEngine.isPlayReadyKeySystem( diff --git a/lib/net/networking_engine.js b/lib/net/networking_engine.js index 6586085330..04a7ca4265 100644 --- a/lib/net/networking_engine.js +++ b/lib/net/networking_engine.js @@ -220,6 +220,7 @@ shaka.net.NetworkingEngine = class extends shaka.util.FakeEventTarget { retryParameters: retryParams, licenseRequestType: null, sessionId: null, + drmInfo: null, streamDataCallback: streamDataCallback, }; } diff --git a/test/util/cmcd_manager_unit.js b/test/util/cmcd_manager_unit.js index 76799531af..5150a36c58 100644 --- a/test/util/cmcd_manager_unit.js +++ b/test/util/cmcd_manager_unit.js @@ -123,6 +123,7 @@ describe('CmcdManager', () => { retryParameters: /** @type {shaka.extern.RetryParameters} */({}), licenseRequestType: null, sessionId: null, + drmInfo: null, streamDataCallback: null, };