Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(336)

Side by Side Diff: media/test/data/eme_player_js/player_utils.js

Issue 611383004: Remove support for contentType from player_utils.js. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 // The PlayerUtils provides utility functions to binding common media events 5 // The PlayerUtils provides utility functions to binding common media events
6 // to specific player functions. It also provides functions to load media source 6 // to specific player functions. It also provides functions to load media source
7 // base on test configurations. 7 // base on test configurations.
8 var PlayerUtils = new function() { 8 var PlayerUtils = new function() {
9 } 9 }
10 10
11 // Prepares a video element for playback by setting default event handlers 11 // Prepares a video element for playback by setting default event handlers
12 // and source attribute. 12 // and source attribute.
13 PlayerUtils.registerDefaultEventListeners = function(player) { 13 PlayerUtils.registerDefaultEventListeners = function(player) {
14 Utils.timeLog('Registering video event handlers.'); 14 Utils.timeLog('Registering video event handlers.');
15 // Map from event name to event listener function name. It is common for 15 // Map from event name to event listener function name. It is common for
16 // event listeners to be named onEventName. 16 // event listeners to be named onEventName.
17 var eventListenerMap = { 17 var eventListenerMap = {
18 'needkey': 'onNeedKey',
19 'encrypted': 'onEncrypted', 18 'encrypted': 'onEncrypted',
20 'webkitneedkey': 'onWebkitNeedKey', 19 'webkitneedkey': 'onWebkitNeedKey',
21 'webkitkeymessage': 'onWebkitKeyMessage', 20 'webkitkeymessage': 'onWebkitKeyMessage',
22 'webkitkeyadded': 'onWebkitKeyAdded', 21 'webkitkeyadded': 'onWebkitKeyAdded',
23 'webkitkeyerror': 'onWebkitKeyError' 22 'webkitkeyerror': 'onWebkitKeyError'
24 }; 23 };
25 for (eventName in eventListenerMap) { 24 for (eventName in eventListenerMap) {
26 var eventListenerFunction = player[eventListenerMap[eventName]]; 25 var eventListenerFunction = player[eventListenerMap[eventName]];
27 if (eventListenerFunction) { 26 if (eventListenerFunction) {
28 player.video.addEventListener(eventName, function(e) { 27 player.video.addEventListener(eventName, function(e) {
29 player[eventListenerMap[e.type]](e); 28 player[eventListenerMap[e.type]](e);
30 }); 29 });
31 } 30 }
32 } 31 }
33 // List of events that fail tests. 32 // List of events that fail tests.
34 var failingEvents = ['error', 'abort']; 33 var failingEvents = ['error', 'abort'];
35 for (var i = 0; i < failingEvents.length; i++) { 34 for (var i = 0; i < failingEvents.length; i++) {
36 player.video.addEventListener(failingEvents[i], Utils.failTest); 35 player.video.addEventListener(failingEvents[i], Utils.failTest);
37 } 36 }
38 }; 37 };
39 38
40 PlayerUtils.registerEMEEventListeners = function(player) { 39 PlayerUtils.registerEMEEventListeners = function(player) {
41 var encrypted_handler = function(message) { 40 player.video.addEventListener('encrypted', function(message) {
42 41
43 function addMediaKeySessionListeners(mediaKeySession) { 42 function addMediaKeySessionListeners(mediaKeySession) {
44 mediaKeySession.addEventListener('message', function(message) { 43 mediaKeySession.addEventListener('message', function(message) {
45 player.video.receivedKeyMessage = true; 44 player.video.receivedKeyMessage = true;
46 if (Utils.isHeartBeatMessage(message.message)) { 45 if (Utils.isHeartBeatMessage(message.message)) {
47 Utils.timeLog('MediaKeySession onMessage - heart beat', message); 46 Utils.timeLog('MediaKeySession onMessage - heart beat', message);
48 player.video.receivedHeartbeat = true; 47 player.video.receivedHeartbeat = true;
49 } 48 }
50 player.onMessage(message); 49 player.onMessage(message);
51 }); 50 });
52 mediaKeySession.addEventListener('error', function(error) { 51 mediaKeySession.addEventListener('error', function(error) {
53 Utils.failTest(error, KEY_ERROR); 52 Utils.failTest(error, KEY_ERROR);
54 }); 53 });
55 } 54 }
56 55
57 // TODO(sandersd): Stop checking contentType once we complete the switch to
58 // using the 'encrypted' event.
59 var init_data_type = message.initDataType || message.contentType;
60 Utils.timeLog('Creating new media key session for initDataType: ' + 56 Utils.timeLog('Creating new media key session for initDataType: ' +
61 init_data_type + ', initData: ' + 57 message.initDataType + ', initData: ' +
62 Utils.getHexString(new Uint8Array(message.initData))); 58 Utils.getHexString(new Uint8Array(message.initData)));
63 try { 59 try {
64 if (message.target.mediaKeys.createSession.length == 0) { 60 if (message.target.mediaKeys.createSession.length == 0) {
65 // FIXME(jrummell): Remove this test (and else branch) once blink 61 // FIXME(jrummell): Remove this test (and else branch) once blink
66 // uses the new API. 62 // uses the new API.
67 var session = message.target.mediaKeys.createSession(); 63 var session = message.target.mediaKeys.createSession();
68 addMediaKeySessionListeners(session); 64 addMediaKeySessionListeners(session);
69 session.generateRequest(init_data_type, message.initData) 65 session.generateRequest(message.initDataType, message.initData)
70 .catch(function(error) { 66 .catch(function(error) {
71 Utils.failTest(error, KEY_ERROR); 67 Utils.failTest(error, KEY_ERROR);
72 }); 68 });
73 } else { 69 } else {
74 var session = message.target.mediaKeys.createSession( 70 var session = message.target.mediaKeys.createSession(
75 init_data_type, message.initData); 71 message.initDataType, message.initData);
76 session.then(addMediaKeySessionListeners) 72 session.then(addMediaKeySessionListeners)
77 .catch(function(error) { 73 .catch(function(error) {
78 Utils.failTest(error, KEY_ERROR); 74 Utils.failTest(error, KEY_ERROR);
79 }); 75 });
80 } 76 }
81 } catch (e) { 77 } catch (e) {
82 Utils.failTest(e); 78 Utils.failTest(e);
83 } 79 }
84 } 80 });
85
86 // TODO(sandersd): Stop registering 'needkey' after it is renamed to
87 // 'encrypted'.
88 player.video.addEventListener('encrypted', encrypted_handler);
89 player.video.addEventListener('needkey', encrypted_handler);
90 81
91 this.registerDefaultEventListeners(player); 82 this.registerDefaultEventListeners(player);
92 try { 83 try {
93 Utils.timeLog('Setting video media keys: ' + player.testConfig.keySystem); 84 Utils.timeLog('Setting video media keys: ' + player.testConfig.keySystem);
94 MediaKeys.create(player.testConfig.keySystem).then(function(mediaKeys) { 85 MediaKeys.create(player.testConfig.keySystem).then(function(mediaKeys) {
95 player.video.setMediaKeys(mediaKeys); 86 player.video.setMediaKeys(mediaKeys);
96 }).catch(function(error) { 87 }).catch(function(error) {
97 Utils.failTest(error, NOTSUPPORTEDERROR); 88 Utils.failTest(error, NOTSUPPORTEDERROR);
98 }); 89 });
99 } catch (e) { 90 } catch (e) {
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 default: 181 default:
191 Utils.timeLog(keySystem + ' is not a known key system'); 182 Utils.timeLog(keySystem + ' is not a known key system');
192 if (usePrefixedEME) 183 if (usePrefixedEME)
193 return PrefixedClearKeyPlayer; 184 return PrefixedClearKeyPlayer;
194 return ClearKeyPlayer; 185 return ClearKeyPlayer;
195 } 186 }
196 } 187 }
197 var Player = getPlayerType(testConfig.keySystem); 188 var Player = getPlayerType(testConfig.keySystem);
198 return new Player(video, testConfig); 189 return new Player(video, testConfig);
199 }; 190 };
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698