Home | History | Annotate | Download | only in media
      1 <!DOCTYPE html>
      2 <html>
      3   <head>
      4     <title>Encrypted Media Player</title>
      5   </head>
      6   <body onload="runTest();">
      7     <video controls></video>
      8     <script src="media_utils.js" type="text/javascript"></script>
      9     <script src="media_source_utils.js" type="text/javascript"></script>
     10     <script src="encrypted_media_utils.js" type="text/javascript"></script>
     11     <script type="text/javascript">
     12       var video = document.querySelector('video');
     13 
     14       function onTimeUpdate() {
     15         if (video.currentTime < 1)
     16           return;
     17         // keyadded may be fired around the start of playback; check for it
     18         // after a delay to avoid timing issues.
     19         if (!video.receivedKeyAdded)
     20           failTest('Key added event not received.');
     21         if (video.isHeartbeatExpected && !video.receivedHeartbeat)
     22           failTest('Heartbeat keymessage event not received.');
     23         video.removeEventListener('ended', failTest);
     24         installTitleEventHandler(video, 'ended');
     25         video.removeEventListener('timeupdate', onTimeUpdate);
     26       }
     27 
     28       // The test completes after playing the encrypted media for 1 second and
     29       // getting the ended event or when an error occurs at any time.
     30       function runTest() {
     31         loadEncryptedMediaFromURL(video);
     32         video.addEventListener('timeupdate', onTimeUpdate);
     33         video.play();
     34       }
     35     </script>
     36   </body>
     37 </html>
     38