<!doctype html>
<html>
  <head>
    <meta charset=utf-8>
    <title>Encrypted Media Extensions - Waiting for a key for Clear Key, mp4</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/utf8.js></script>
    <script src=/encrypted-media/util/testmediasource.js></script>
    <script src=/encrypted-media/util/fetch.js></script>

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

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

    <!-- The script for this specific test -->
    <script src=/encrypted-media/scripts/waiting-for-a-key.js></script>

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

    <script>
        var contentItem = content['mp4-basic'],
            handler = new MessageHandler('org.w3.clearkey', contentItem),
            config = {
                video: document.getElementById('videoelement'),
                keysystem: 'org.w3.clearkey',
                content: contentItem,
                messageHandler: handler.messagehandler,
                initDataType: 'keyids',
                initData: getInitData(contentItem, 'keyids'),
                audioType: contentItem.audio.type,
                videoType: contentItem.video.type,
                audioPath: contentItem.audio.path,
                videoPath: contentItem.video.path,
            };
        runTest(config);
    </script>
  </body>
</html>
