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() {
13 PlayerUtils.initEMEPlayer(this);
16 WidevinePlayer.prototype.registerEventListeners = function() {
17 PlayerUtils.registerEMEEventListeners(this);
20 WidevinePlayer.prototype.onMessage = function(message) {
21 Utils.timeLog('MediaKeySession onMessage', message);
22 var mediaKeySession = message.target;
23 function onSuccess(response) {
24 var key = new Uint8Array(response);
25 Utils.timeLog('Update media key session with license response.', key);
26 if (PROMISES_SUPPORTED) {
27 mediaKeySession.update(key).catch(function(error) {
28 Utils.failTest(error, KEY_ERROR);
31 mediaKeySession.update(key);
35 Utils.sendRequest('POST',
37 Utils.convertToUint8Array(message.message),
38 this.testConfig.licenseServerURL,
40 this.testConfig.forceInvalidResponse);