blob: ffab4a34911eb918d5e999e131205b4a9f92d92c (
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
|
function runTest(config, qualifier)
{
function checkEncryptionScheme(encryptionScheme)
{
var simpleConfig = getSimpleConfiguration();
assert_greater_than(simpleConfig[0].audioCapabilities.length, 0);
simpleConfig[0].audioCapabilities.forEach(function(capability) {
capability.encryptionScheme = encryptionScheme;
});
return navigator.requestMediaKeySystemAccess(config.keysystem, simpleConfig)
.then(
function(access) {
var actualConfiguration = access.getConfiguration();
for (let i = 0; i < actualConfiguration.audioCapabilities.length; i++) {
const capability = actualConfiguration.audioCapabilities[i];
// If "encryptionScheme" is not supported, fail.
if (!('encryptionScheme' in capability)) {
return Promise.reject('Not implemented');
}
// If "encryptionScheme" is supported, it should be returned.
assert_equals(capability.encryptionScheme, encryptionScheme);
}
return Promise.resolve('Supported');
},
function error() {
// CDM does not support "encryptionScheme". Test should still pass.
return Promise.resolve('Not supported');
});
}
promise_test(
() => checkEncryptionScheme('cenc'),
testnamePrefix(qualifier, config.keysystem) + ' support for "cenc" encryption scheme.');
promise_test(
() => checkEncryptionScheme('cbcs'),
testnamePrefix(qualifier, config.keysystem) + ' support for "cbcs" encryption scheme.');
promise_test(
() => checkEncryptionScheme('cbcs-1-9'),
testnamePrefix(qualifier, config.keysystem) +
' support for "cbcs-1-9" encryption scheme.');
}
|