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. 4 5 // Widevine player responsible for playing media using Widevine key system 6 // and prefixed EME API. 7 function PrefixedWidevinePlayer(video, testConfig) { 8 this.video = video; 9 this.testConfig = testConfig; 10 } 11 12 PrefixedWidevinePlayer.prototype.init = function() { 13 PlayerUtils.initPrefixedEMEPlayer(this); 14 }; 15 16 PrefixedWidevinePlayer.prototype.registerEventListeners = function() { 17 PlayerUtils.registerPrefixedEMEEventListeners(this); 18 }; 19 20 PrefixedWidevinePlayer.prototype.onWebkitKeyMessage = function(message) { 21 function onSuccess(response) { 22 var key = new Uint8Array(response); 23 Utils.timeLog('Adding key to sessionID: ' + message.sessionId, key); 24 message.target.webkitAddKey(this.testConfig.keySystem, 25 key, 26 new Uint8Array(1), 27 message.sessionId); 28 } 29 Utils.sendRequest('POST', 'arraybuffer', message.message, 30 this.testConfig.licenseServerURL, onSuccess, 31 this.testConfig.forceInvalidResponse); 32 }; 33