OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Widevine player responsible for playing media using Widevine key system | 5 // Widevine player responsible for playing media using Widevine key system |
6 // and EME working draft API. | 6 // and EME working draft API. |
7 function WidevinePlayer(video, testConfig) { | 7 function WidevinePlayer(video, testConfig) { |
8 this.video = video; | 8 this.video = video; |
9 this.testConfig = testConfig; | 9 this.testConfig = testConfig; |
10 } | 10 } |
11 | 11 |
12 WidevinePlayer.prototype.init = function() { | 12 WidevinePlayer.prototype.init = function() { |
13 PlayerUtils.initEMEPlayer(this); | 13 PlayerUtils.initEMEPlayer(this); |
14 }; | 14 }; |
15 | 15 |
16 WidevinePlayer.prototype.registerEventListeners = function() { | 16 WidevinePlayer.prototype.registerEventListeners = function() { |
17 PlayerUtils.registerEMEEventListeners(this); | 17 PlayerUtils.registerEMEEventListeners(this); |
18 }; | 18 }; |
19 | 19 |
20 WidevinePlayer.prototype.onMessage = function(message) { | 20 WidevinePlayer.prototype.onMessage = function(message) { |
21 Utils.timeLog('MediaKeySession onMessage', message); | 21 Utils.timeLog('MediaKeySession onMessage', message); |
22 var mediaKeySession = message.target; | 22 var mediaKeySession = message.target; |
23 function onSuccess(response) { | 23 function onSuccess(response) { |
24 var key = new Uint8Array(response); | 24 var key = new Uint8Array(response); |
25 Utils.timeLog('Update media key session with license response.', key); | 25 Utils.timeLog('Update media key session with license response.', key); |
26 if (PROMISES_SUPPORTED) { | 26 mediaKeySession.update(key).catch(function(error) { |
27 mediaKeySession.update(key).catch(function(error) { | 27 Utils.failTest(error, KEY_ERROR); |
28 Utils.failTest(error, KEY_ERROR); | 28 }); |
29 }); | |
30 } else { | |
31 mediaKeySession.update(key); | |
32 } | |
33 | |
34 } | 29 } |
35 Utils.sendRequest('POST', | 30 Utils.sendRequest('POST', |
36 'arraybuffer', | 31 'arraybuffer', |
37 Utils.convertToUint8Array(message.message), | 32 Utils.convertToUint8Array(message.message), |
38 this.testConfig.licenseServerURL, | 33 this.testConfig.licenseServerURL, |
39 onSuccess, | 34 onSuccess, |
40 this.testConfig.forceInvalidResponse); | 35 this.testConfig.forceInvalidResponse); |
41 }; | 36 }; |
OLD | NEW |