diff options
Diffstat (limited to 'dom/media/test/test_eme_missing_pssh.html')
-rw-r--r-- | dom/media/test/test_eme_missing_pssh.html | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/dom/media/test/test_eme_missing_pssh.html b/dom/media/test/test_eme_missing_pssh.html deleted file mode 100644 index 196ced4022..0000000000 --- a/dom/media/test/test_eme_missing_pssh.html +++ /dev/null @@ -1,92 +0,0 @@ -<!DOCTYPE HTML> -<html> - <head> - <title>Test Encrypted Media Extensions</title> - <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> - <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> - <script type="text/javascript" src="manifest.js"></script> - <script type="text/javascript" src="eme.js"></script> - </head> - <body> - <audio controls id="audio"></audio> - <pre id="test"> - <script class="testbody" type="text/javascript"> - - // Tests that a fragmented MP4 file without a PSSH, but with valid encrypted - // tracks with valid TENC boxes, is able to load with EME. - // We setup MSE before starting up EME, so that we exercise the "waiting for - // cdm" step in the MediaDecoderStateMachine. - - SimpleTest.waitForExplicitFinish(); - - var pssh = [ - 0x00, 0x00, 0x00, 0x00, - 0x70, 0x73, 0x73, 0x68, // BMFF box header (76 bytes, 'pssh') - 0x01, 0x00, 0x00, 0x00, // Full box header (version = 1, flags = 0) - 0x10, 0x77, 0xef, 0xec, 0xc0, 0xb2, 0x4d, 0x02, // SystemID - 0xac, 0xe3, 0x3c, 0x1e, 0x52, 0xe2, 0xfb, 0x4b, - 0x00, 0x00, 0x00, 0x01, // KID_count (1) - 0x2f, 0xef, 0x8a, 0xd8, 0x12, 0xdf, 0x42, 0x97, - 0x83, 0xe9, 0xbf, 0x6e, 0x5e, 0x49, 0x3e, 0x53, - 0x00, 0x00, 0x00, 0x00 // Size of Data (0) - ]; - - var audio = document.getElementById("audio"); - - function LoadEME() { - var options = [{ - initDataType: 'cenc', - audioType: 'audio/mp4; codecs="mp4a.40.2"', - }]; - navigator.requestMediaKeySystemAccess("org.w3.clearkey", options) - .then((keySystemAccess) => { - return keySystemAccess.createMediaKeys(); - }, bail("Failed to request key system access.")) - - .then((mediaKeys) => { - audio.setMediaKeys(mediaKeys); - var session = mediaKeys.createSession(); - once(session, "message", (message) => { - is(message.messageType, 'license-request', "Expected a license-request"); - var license = new TextEncoder().encode(JSON.stringify({ - 'keys': [{ - 'kty':'oct', - 'kid':'L--K2BLfQpeD6b9uXkk-Uw', - 'k':HexToBase64('7f412f0575f44f718259beef56ec7771') - }], - 'type': 'temporary' - })); - session.update(license); - }); - session.generateRequest('cenc', new Uint8Array(pssh)); - }); - } - - function DownloadMedia(url, type, mediaSource) { - return new Promise(function(resolve, reject) { - var sourceBuffer = mediaSource.addSourceBuffer(type); - fetchWithXHR(url, (response) => { - once(sourceBuffer, "updateend", resolve); - sourceBuffer.appendBuffer(new Uint8Array(response)); - }); - }); - } - - function LoadMSE() { - var ms = new MediaSource(); - audio.src = URL.createObjectURL(ms); - - once(ms, "sourceopen", ()=>{ - DownloadMedia('short-audio-fragmented-cenc-without-pssh.mp4', 'audio/mp4; codecs="mp4a.40.2"', ms) - .then(() => { ms.endOfStream(); LoadEME();}); - }); - - audio.addEventListener("loadeddata", SimpleTest.finish); - } - - SetupEMEPref(LoadMSE); - - </script> - </pre> - </body> -</html> |