1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
media / test / data / eme_player_js / widevine_player.js [blame]
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Widevine player responsible for playing media using Widevine key system.
function WidevinePlayer(video, testConfig) {
this.video = video;
this.testConfig = testConfig;
}
WidevinePlayer.prototype.init = function() {
// Returns a promise.
return PlayerUtils.initEMEPlayer(this);
};
WidevinePlayer.prototype.registerEventListeners = function() {
// Returns a promise.
return PlayerUtils.registerEMEEventListeners(this);
};
WidevinePlayer.prototype.onMessage = function(message) {
var mediaKeySession = message.target;
function onSuccess(response) {
var key = new Uint8Array(response);
Utils.timeLog('Update media key session with license response.', key);
mediaKeySession.update(key)
.catch(function(error) { Utils.failTest(error, EME_UPDATE_FAILED); });
}
Utils.sendRequest('POST',
'arraybuffer',
Utils.convertToUint8Array(message.message),
this.testConfig.licenseServerURL,
onSuccess,
this.testConfig.forceInvalidResponse);
};