summaryrefslogtreecommitdiffstats
path: root/media/test/data/eme_player_js/prefixed_clearkey_player.js
blob: f06a08e9260f9c346d0c91ac469efd50dd5981fa (plain)
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
// 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.

// ClearKey player responsible for playing media using Clear Key key system and
// prefixed EME API.
function PrefixedClearKeyPlayer(video, testConfig) {
  this.video = video;
  this.testConfig = testConfig;
}

PrefixedClearKeyPlayer.prototype.init = function() {
  // Returns a promise.
  return PlayerUtils.initEMEPlayer(this);
};

PrefixedClearKeyPlayer.prototype.registerEventListeners = function() {
  // Returns a promise.
  return PlayerUtils.registerPrefixedEMEEventListeners(this);
};

PrefixedClearKeyPlayer.prototype.onWebkitKeyMessage = function(message) {
  var initData =
      Utils.getInitDataFromMessage(message, this.testConfig.mediaType, false);
  var key = Utils.getDefaultKey(this.testConfig.forceInvalidResponse);
  Utils.timeLog('Adding key to sessionID: ' + message.sessionId);
  message.target.webkitAddKey(this.testConfig.keySystem, key, initData,
                              message.sessionId);
};