Chromium Code Reviews| 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 // 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 |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 37 }; | 37 }; |
| 38 | 38 |
| 39 // Register the necessary event handlers needed when playing encrypted content | 39 // Register the necessary event handlers needed when playing encrypted content |
| 40 // using the unprefixed API. Returns a promise that resolves to the player. | 40 // using the unprefixed API. Returns a promise that resolves to the player. |
| 41 PlayerUtils.registerEMEEventListeners = function(player) { | 41 PlayerUtils.registerEMEEventListeners = function(player) { |
| 42 player.video.addEventListener('encrypted', function(message) { | 42 player.video.addEventListener('encrypted', function(message) { |
| 43 | 43 |
| 44 function addMediaKeySessionListeners(mediaKeySession) { | 44 function addMediaKeySessionListeners(mediaKeySession) { |
| 45 mediaKeySession.addEventListener('message', function(message) { | 45 mediaKeySession.addEventListener('message', function(message) { |
| 46 player.video.receivedKeyMessage = true; | 46 player.video.receivedKeyMessage = true; |
| 47 if (Utils.isHeartBeatMessage(message.message)) { | 47 if (Utils.isHeartBeatMessage(message)) { |
|
ddorwin
2015/01/14 23:24:52
Rename isRenewalMessage?
"Heartbeat" isn't a conce
jrummell
2015/01/15 01:32:56
Done.
| |
| 48 Utils.timeLog('MediaKeySession onMessage - heart beat', message); | 48 Utils.timeLog('MediaKeySession onMessage - heart beat', message); |
| 49 player.video.receivedHeartbeat = true; | 49 player.video.receivedHeartbeat = true; |
| 50 } else { | |
| 51 if (message.messageType != 'license-request') { | |
| 52 Utils.failTest('non-heart beat message is not license-request', | |
|
ddorwin
2015/01/14 23:24:52
'Unexpected message type "' message.messageType '"
jrummell
2015/01/15 01:32:56
Done.
| |
| 53 KEY_ERROR); | |
| 54 } | |
| 50 } | 55 } |
| 51 player.onMessage(message); | 56 player.onMessage(message); |
| 52 }); | 57 }); |
| 53 mediaKeySession.addEventListener('error', function(error) { | 58 mediaKeySession.addEventListener('error', function(error) { |
| 54 Utils.failTest(error, KEY_ERROR); | 59 Utils.failTest(error, KEY_ERROR); |
| 55 }); | 60 }); |
| 56 } | 61 } |
| 57 | 62 |
| 58 try { | 63 try { |
| 59 if (player.testConfig.sessionToLoad) { | 64 if (player.testConfig.sessionToLoad) { |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 116 }); | 121 }); |
| 117 | 122 |
| 118 player.video.addEventListener('webkitkeyerror', function(error) { | 123 player.video.addEventListener('webkitkeyerror', function(error) { |
| 119 Utils.timeLog('onWebkitKeyError', error); | 124 Utils.timeLog('onWebkitKeyError', error); |
| 120 Utils.failTest(error, KEY_ERROR); | 125 Utils.failTest(error, KEY_ERROR); |
| 121 }); | 126 }); |
| 122 | 127 |
| 123 player.video.addEventListener('webkitkeymessage', function(message) { | 128 player.video.addEventListener('webkitkeymessage', function(message) { |
| 124 Utils.timeLog('onWebkitKeyMessage', message); | 129 Utils.timeLog('onWebkitKeyMessage', message); |
| 125 message.target.receivedKeyMessage = true; | 130 message.target.receivedKeyMessage = true; |
| 126 if (Utils.isHeartBeatMessage(message.message)) { | 131 if (Utils.isHeartBeatMessagePrefixed(message.message)) { |
| 127 Utils.timeLog('onWebkitKeyMessage - heart beat', message); | 132 Utils.timeLog('onWebkitKeyMessage - heart beat', message); |
| 128 message.target.receivedHeartbeat = true; | 133 message.target.receivedHeartbeat = true; |
| 129 } | 134 } |
| 130 }); | 135 }); |
| 131 | 136 |
| 132 // The prefixed API is all synchronous, so wrap the calls in a promise. | 137 // The prefixed API is all synchronous, so wrap the calls in a promise. |
| 133 return new Promise(function(resolve, reject) { | 138 return new Promise(function(resolve, reject) { |
| 134 PlayerUtils.registerDefaultEventListeners(player); | 139 PlayerUtils.registerDefaultEventListeners(player); |
| 135 resolve(player); | 140 resolve(player); |
| 136 }); | 141 }); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 184 default: | 189 default: |
| 185 Utils.timeLog(keySystem + ' is not a known key system'); | 190 Utils.timeLog(keySystem + ' is not a known key system'); |
| 186 if (usePrefixedEME) | 191 if (usePrefixedEME) |
| 187 return PrefixedClearKeyPlayer; | 192 return PrefixedClearKeyPlayer; |
| 188 return ClearKeyPlayer; | 193 return ClearKeyPlayer; |
| 189 } | 194 } |
| 190 } | 195 } |
| 191 var Player = getPlayerType(testConfig.keySystem); | 196 var Player = getPlayerType(testConfig.keySystem); |
| 192 return new Player(video, testConfig); | 197 return new Player(video, testConfig); |
| 193 }; | 198 }; |
| OLD | NEW |