1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Widevine player responsible for playing media using Widevine key system
6 // and EME working draft API.
7 function WidevinePlayer(video
, testConfig
) {
9 this.testConfig
= testConfig
;
12 WidevinePlayer
.prototype.init = function() {
14 return PlayerUtils
.initEMEPlayer(this);
17 WidevinePlayer
.prototype.registerEventListeners = function() {
19 return PlayerUtils
.registerEMEEventListeners(this);
22 WidevinePlayer
.prototype.onMessage = function(message
) {
23 Utils
.timeLog('MediaKeySession onMessage', message
);
24 var mediaKeySession
= message
.target
;
25 function onSuccess(response
) {
26 var key
= new Uint8Array(response
);
27 Utils
.timeLog('Update media key session with license response.', key
);
28 mediaKeySession
.update(key
)
29 .catch(function(error
) { Utils
.failTest(error
, EME_UPDATE_FAILED
); });
31 Utils
.sendRequest('POST',
33 Utils
.convertToUint8Array(message
.message
),
34 this.testConfig
.licenseServerURL
,
36 this.testConfig
.forceInvalidResponse
);