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 |