drm-keystatuses-multiple-sessions.https.html (2130B)
1 <!doctype html> 2 <html> 3 <head> 4 <meta charset=utf-8> 5 <meta name="timeout" content="long"> 6 <title>Encrypted Media Extensions: Successful Playback, Temporary session with DRM, mp4, multiple keys for audio/video</title> 7 <link rel="help" href="https://w3c.github.io/encrypted-media/"> 8 9 <!-- Web Platform Test Harness scripts --> 10 <script src=/resources/testharness.js></script> 11 <script src=/resources/testharnessreport.js></script> 12 13 <!-- Helper scripts for Encrypted Media Extensions tests --> 14 <script src=/encrypted-media/util/utils.js></script> 15 <script src=/encrypted-media/util/testmediasource.js></script> 16 <script src=/encrypted-media/util/utf8.js></script> 17 18 <!-- Content metadata --> 19 <script src=/encrypted-media/content/content-metadata.js></script> 20 21 <!-- Message handler for DRM server --> 22 <script src=/encrypted-media/util/drm-messagehandler.js></script> 23 24 <!-- The script for this specific test --> 25 <script src=/encrypted-media/scripts/keystatuses-multiple-sessions.js></script> 26 27 </head> 28 <body> 29 <div id='log'></div> 30 31 <div id='video'> 32 <video id="videoelement" width="200px"></video> 33 </div> 34 35 <script> 36 var keysystem = getSupportedKeySystem(); 37 getSupportedContent( keysystem ) 38 .then( function( contents ) { 39 40 // Select a content item with multiple keys and initData 41 var contentitem = contents.filter( function( item ) { return item.keys && item.keys.length > 1 && item.initDataType && !item.associatedInitData; } )[ 0 ], 42 handler = new MessageHandler( keysystem, contentitem ), 43 config = { keysystem: keysystem, 44 content: contentitem, 45 messagehandler: handler.messagehandler, 46 initDataType: contentitem.initDataType, 47 initData: getProprietaryInitDatas(contentitem).initDatas.map( base64DecodeToUnit8Array ) 48 }; 49 50 runTest(config); 51 52 } ); 53 </script> 54 </body> 55 </html>