summaryrefslogtreecommitdiffstats
path: root/media/test/data/eme_player_js/widevine_player.js
diff options
context:
space:
mode:
Diffstat (limited to 'media/test/data/eme_player_js/widevine_player.js')
-rw-r--r--media/test/data/eme_player_js/widevine_player.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/media/test/data/eme_player_js/widevine_player.js b/media/test/data/eme_player_js/widevine_player.js
new file mode 100644
index 0000000..11e8ec86
--- /dev/null
+++ b/media/test/data/eme_player_js/widevine_player.js
@@ -0,0 +1,38 @@
+// 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
+// and EME working draft API.
+function WidevinePlayer(video, testConfig) {
+ this.video = video;
+ this.testConfig = testConfig;
+}
+
+WidevinePlayer.prototype.init = function() {
+ PlayerUtils.initEMEPlayer(this);
+};
+
+WidevinePlayer.prototype.registerEventListeners = function() {
+ 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);
+ if (PROMISES_SUPPORTED) {
+ mediaKeySession.update(key).catch(function(error) {
+ Utils.failTest(error, KEY_ERROR);
+ });
+ } else {
+ mediaKeySession.update(key);
+ }
+
+ }
+ Utils.sendRequest('POST', 'arraybuffer', message.message,
+ this.testConfig.licenseServerURL, onSuccess,
+ this.testConfig.forceInvalidResponse);
+};