| 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 Utils.failTest(error, KEY_ERROR); | 52 Utils.failTest(error, KEY_ERROR); |
| 53 }); | 53 }); |
| 54 } | 54 } |
| 55 | 55 |
| 56 Utils.timeLog('Creating new media key session for contentType: ' + | 56 Utils.timeLog('Creating new media key session for contentType: ' + |
| 57 message.contentType + ', initData: ' + | 57 message.contentType + ', initData: ' + |
| 58 Utils.getHexString(message.initData)); | 58 Utils.getHexString(message.initData)); |
| 59 try { | 59 try { |
| 60 var session = message.target.mediaKeys.createSession( | 60 var session = message.target.mediaKeys.createSession( |
| 61 message.contentType, message.initData); | 61 message.contentType, message.initData); |
| 62 if (PROMISES_SUPPORTED) { | 62 session.then(addMediaKeySessionListeners) |
| 63 session.then(addMediaKeySessionListeners) | 63 .catch(function(error) { |
| 64 .catch (function(error) { | 64 Utils.failTest(error, KEY_ERROR); |
| 65 Utils.failTest(error, KEY_ERROR); | 65 }); |
| 66 }); | |
| 67 } else { | |
| 68 addMediaKeySessionListeners(session); | |
| 69 } | |
| 70 } catch (e) { | 66 } catch (e) { |
| 71 Utils.failTest(e); | 67 Utils.failTest(e); |
| 72 } | 68 } |
| 73 }); | 69 }); |
| 74 this.registerDefaultEventListeners(player); | 70 this.registerDefaultEventListeners(player); |
| 75 try { | 71 try { |
| 76 Utils.timeLog('Setting video media keys: ' + player.testConfig.keySystem); | 72 Utils.timeLog('Setting video media keys: ' + player.testConfig.keySystem); |
| 77 if (PROMISES_SUPPORTED) { | 73 MediaKeys.create(player.testConfig.keySystem).then(function(mediaKeys) { |
| 78 MediaKeys.create(player.testConfig.keySystem).then(function(mediaKeys) { | 74 player.video.setMediaKeys(mediaKeys); |
| 79 player.video.setMediaKeys(mediaKeys); | 75 }).catch(function(error) { |
| 80 }).catch(function(error) { | 76 Utils.failTest(error, NOTSUPPORTEDERROR); |
| 81 Utils.failTest(error, NOTSUPPORTEDERROR); | 77 }); |
| 82 }); | |
| 83 } else { | |
| 84 player.video.setMediaKeys(new MediaKeys(player.testConfig.keySystem)); | |
| 85 } | |
| 86 } catch (e) { | 78 } catch (e) { |
| 87 Utils.failTest(e); | 79 Utils.failTest(e); |
| 88 } | 80 } |
| 89 }; | 81 }; |
| 90 | 82 |
| 91 PlayerUtils.registerPrefixedEMEEventListeners = function(player) { | 83 PlayerUtils.registerPrefixedEMEEventListeners = function(player) { |
| 92 player.video.addEventListener('webkitneedkey', function(message) { | 84 player.video.addEventListener('webkitneedkey', function(message) { |
| 93 var initData = message.initData; | 85 var initData = message.initData; |
| 94 if (player.testConfig.sessionToLoad) { | 86 if (player.testConfig.sessionToLoad) { |
| 95 Utils.timeLog('Loading session: ' + player.testConfig.sessionToLoad); | 87 Utils.timeLog('Loading session: ' + player.testConfig.sessionToLoad); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 177 default: | 169 default: |
| 178 Utils.timeLog(keySystem + ' is not a known key system'); | 170 Utils.timeLog(keySystem + ' is not a known key system'); |
| 179 if (usePrefixedEME) | 171 if (usePrefixedEME) |
| 180 return PrefixedClearKeyPlayer; | 172 return PrefixedClearKeyPlayer; |
| 181 return ClearKeyPlayer; | 173 return ClearKeyPlayer; |
| 182 } | 174 } |
| 183 } | 175 } |
| 184 var Player = getPlayerType(testConfig.keySystem); | 176 var Player = getPlayerType(testConfig.keySystem); |
| 185 return new Player(video, testConfig); | 177 return new Player(video, testConfig); |
| 186 }; | 178 }; |
| OLD | NEW |