summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/encrypted-media/drm-keystatuses-multiple-sessions.html
blob: 8ef745c4fa7f6580b7e5abe7b13ed148d7ca0a6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!doctype html>
<html>
  <head>
    <meta charset=utf-8>
    <title>Encrypted Media Extensions: Successful Playback, Temporary session with DRM, mp4, multiple keys for audio/video</title>
    <link rel="help" href="https://w3c.github.io/encrypted-media/">

    <!-- Web Platform Test Harness scripts -->
    <script src=/resources/testharness.js></script>
    <script src=/resources/testharnessreport.js></script>

    <!-- Helper scripts for Encrypted Media Extensions tests  -->
    <script src=/encrypted-media/util/utils.js></script>
    <script src=/encrypted-media/util/fetch.js></script>
    <script src=/encrypted-media/util/testmediasource.js></script>
    <script src=/encrypted-media/util/utf8.js></script>

    <!-- Content metadata -->
    <script src=/encrypted-media/content/content-metadata.js></script>

    <!-- Message handler for DRM server -->
    <script src=/encrypted-media/util/drm-messagehandler.js></script>

    <!-- The script for this specific test -->
    <script src=/encrypted-media/scripts/keystatuses-multiple-sessions.js></script>

  </head>
  <body>
    <div id='log'></div>

    <div id='video'>
      <video id="videoelement" width="200px"></video>
    </div>

    <script>
        var keysystem = getSupportedKeySystem();
        getSupportedContent( keysystem )
        .then( function( contents ) {

            // Select a content item with multiple keys and initData
            var contentitem = contents.filter( function( item ) { return item.keys && item.keys.length > 1 && item.initDataType && !item.associatedInitData; } )[ 0 ],
                handler = new MessageHandler( keysystem, contentitem ),
                config = {  keysystem:          keysystem,
                            content:            contentitem,
                            messagehandler:     handler.messagehandler,
                            initDataType:       contentitem.initDataType,
                            initData:           getProprietaryInitDatas(contentitem).initDatas.map( base64DecodeToUnit8Array )
                        };

            runTest(config);

        } );
    </script>
  </body>
</html>