OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <html lang='en-US'> | |
3 <head> | |
4 <title>EME playback test application</title> | |
5 </head> | |
6 <body style='font-family:"Lucida Console", Monaco, monospace; font-size:14px'> | |
7 <i>Clearkey works only with content encrypted using bear key.</i><br><br> | |
8 <table> | |
9 <tr title='URL param mediaFile=...'> | |
10 <td><label for='mediaFile'>Encrypted video URL:</label></td> | |
11 <td><input id='mediaFile' type='text' size='64'></td> | |
12 </tr> | |
13 <tr title='URL param licenseServerURL=...'> | |
14 <td><label for='licenseServer'>License sever URL:</label></td> | |
15 <td><input id='licenseServer' type='text' size='64'></td> | |
16 </tr> | |
17 <tr title='URL param keySystem=...'> | |
18 <td><label for='keySystemList'>Key system:</label></td> | |
19 <td><select id='keySystemList'></select></td> | |
20 </tr> | |
21 <tr title='URL param mediaType=...'> | |
22 <td><label for='mediaTypeList'>Media type:</label></td> | |
23 <td><select id='mediaTypeList'></select></td> | |
24 </tr> | |
25 <tr title='URL param usePrefixedEME=1|0'> | |
26 <td><label for='usePrefixedEME'>EME API version:</label></td> | |
27 <td><select id='usePrefixedEME'></select></td> | |
28 </tr> | |
29 <tr title='URL param useMSE=1|0'> | |
30 <td><label for='useMSE'>Load media by:</label></td> | |
31 <td> | |
32 <select id='useMSE'> | |
33 <option value='true' selected='selected'>MSE</option> | |
34 <option value='false'>src</option> | |
35 </select> | |
36 </td> | |
37 </tr> | |
38 </table> | |
39 <br> | |
40 <button onclick='Play();'>Play</button> | |
41 <br><br> | |
42 Decoded fps: <span id='decodedFPS'></span> | |
43 <br> | |
44 Dropped fps: <span id='droppedFPS'></span> | |
45 <br> | |
46 Total dropped frames: <span id='droppedFrames'></span> | |
47 <br><br> | |
48 <table> | |
49 <tr> | |
50 <td valign='top'><span id='video'></span></td> | |
51 <td valign='top'> | |
52 <label for='logs' onclick="toggleDisplay('logs');"><i>Click to toggle lo
gs visibility (newest at top).</i><br></label> | |
53 <div id='logs' style='overflow: auto; height: 480px; width: 480px; white
-space: nowrap; display: none'></div> | |
54 </td> | |
55 </tr> | |
56 </table> | |
57 <div></div> | |
58 </body> | |
59 <script src='eme_player_js/app_loader.js' type='text/javascript'></script> | |
60 <script type='text/javascript'> | |
61 var testConfig = new TestConfig(); | |
62 testConfig.loadQueryParams(); | |
63 // Update document with test configuration values. | |
64 var emeApp = new EMEApp(testConfig); | |
65 | |
66 function onTimeUpdate(e) { | |
67 var video = e.target; | |
68 if (video.currentTime < 1) | |
69 return; | |
70 // For loadSession() tests, addKey() will not be called after | |
71 // loadSession() (the key is loaded internally). Do not check keyadded | |
72 // and heartbeat for these tests. | |
73 if (!testConfig.sessionToLoad) { | |
74 // keyadded may be fired around the start of playback; check for it | |
75 // after a delay to avoid timing issues. | |
76 if (testConfig.usePrefixedEME && !video.receivedKeyAdded) | |
77 Utils.failTest('Key added event not received.'); | |
78 if (testConfig.keySystem == EXTERNAL_CLEARKEY && | |
79 !video.receivedHeartbeat) | |
80 Utils.failTest('Heartbeat keymessage event not received.'); | |
81 } | |
82 video.removeEventListener('ended', Utils.failTest); | |
83 Utils.installTitleEventHandler(video, 'ended'); | |
84 video.removeEventListener('timeupdate', onTimeUpdate); | |
85 } | |
86 | |
87 function Play() { | |
88 // Update test configuration with UI elements values. | |
89 var video = emeApp.createPlayer().video; | |
90 Utils.resetTitleChange(); | |
91 // Ended should not fire before onTimeUpdate. | |
92 video.addEventListener('ended', Utils.failTest); | |
93 video.addEventListener('timeupdate', onTimeUpdate); | |
94 video.play(); | |
95 } | |
96 | |
97 function toggleDisplay(id) { | |
98 var element = document.getElementById(id); | |
99 if (!element) | |
100 return; | |
101 if (element.style['display'] != 'none') | |
102 element.style['display'] = 'none'; | |
103 else | |
104 element.style['display'] = ''; | |
105 } | |
106 Play(); | |
107 </script> | |
108 </html> | |
OLD | NEW |