blob: d393720d9839ba974de6e261441ac52228858094 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// 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) {
Utils.timeLog('MediaKeySession onMessage', 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);
};