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).catch(function(error) {
29 Utils.failTest(error, KEY_ERROR);
32 Utils.sendRequest('POST',
34 Utils.convertToUint8Array(message.message),
35 this.testConfig.licenseServerURL,
37 this.testConfig.forceInvalidResponse);