testing/web-platform/tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources.https.html
author Lando <lando@lando.test>
Fri, 11 Jul 2025 09:11:47 +0000 (2 hours ago)
changeset 796052 0a0cf87651274d2f86228467e41dafd62a510749
parent 645630 6430c702c5993f68e7ff00752e9906d6aee434e9
permissions -rw-r--r--
Merge autoland to mozilla-central
<!doctype html>
<html>
  <head>
    <meta charset=utf-8>
    <meta name="timeout" content="long">
    <title>Encrypted Media Extensions: Successful Playback, alternate Encrypted and Clear playbacks, Temporary, mp4, Clear Key</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/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 Clear Key keysystem -->
    <script src=/encrypted-media/util/clearkey-messagehandler.js></script>

    <!-- The script for this specific test -->
    <script src=/encrypted-media/scripts/playback-temporary-encrypted-clear-sources.js></script>

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

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

    <script>
        var encryptedcontentitem = content['mp4-basic'],
            clearcontentitem = content['mp4-clear'],
            handler = new MessageHandler('org.w3.clearkey', encryptedcontentitem),
            configEncrypted = { video:              document.getElementById('videoelement'),
                                keysystem:          'org.w3.clearkey',
                                messagehandler:     handler.messagehandler,
                                audioPath:          encryptedcontentitem.audio.path,
                                videoPath:          encryptedcontentitem.video.path,
                                audioType:          encryptedcontentitem.audio.type,
                                videoType:          encryptedcontentitem.video.type,
                                initDataType:       'keyids',
                                initData:           getInitData(encryptedcontentitem, 'keyids'),
                            },
            configClear = { audioPath:          clearcontentitem.audio.path,
                            videoPath:          clearcontentitem.video.path,
                            audioType:          clearcontentitem.audio.type,
                            videoType:          clearcontentitem.video.type,
                            };

        runTest(configEncrypted,configClear);
    </script>
  </body>
</html>