| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src=../video-test.js></script> |
| <script type="text/javascript"> |
| var promise; |
| var info; |
| |
| async function doTest() |
| { |
| if (!window.internals) { |
| failTest("Internals is required for this test.") |
| return; |
| } |
| |
| run('internals.enableMockMediaCapabilities()'); |
| run('internals.settings.setMediaCapabilitiesExtensionsEnabled(true)'); |
| |
| run("promise = navigator.mediaCapabilities.decodingInfo({ type: 'file', audio: { contentType: 'audio/mp4; codecs=\"mp4a.40.2\"', channels: '5.1', bitrate: 1000, samplerate: 44100 } });"); |
| |
| info = await shouldResolve(promise); |
| testExpected('info.supported', true); |
| testExpected('typeof info.supportedConfiguration.audio.spatialRendering', 'undefined'); |
| |
| run("promise = navigator.mediaCapabilities.decodingInfo({ type: 'file', audio: { contentType: 'audio/mp4; codecs=\"mp4a.40.2\"', channels: '5.1', bitrate: 1000, samplerate: 44100, spatialRendering: true } });"); |
| |
| info = await shouldResolve(promise); |
| testExpected('info.supported', true); |
| testExpected('info.supportedConfiguration.audio.spatialRendering', true); |
| |
| run("promise = navigator.mediaCapabilities.decodingInfo({ type: 'file', audio: { contentType: 'audio/mp4; codecs=\"mp4a.40.2\"', channels: '2', bitrate: 1000, samplerate: 44100, spatialRendering: true } });"); |
| |
| info = await shouldResolve(promise); |
| testExpected('info.supported', false); |
| testExpected('info.supportedConfiguration.audio.spatialRendering', true); |
| |
| run("promise = navigator.mediaCapabilities.decodingInfo({ type: 'file', audio: { contentType: 'audio/mp4; codecs=\"mp4a.40.2\"', channels: '2', bitrate: 1000, samplerate: 44100, spatialRendering: false } });"); |
| |
| info = await shouldResolve(promise); |
| testExpected('info.supported', true); |
| testExpected('info.supportedConfiguration.audio.spatialRendering', false); |
| |
| endTest(); |
| } |
| </script> |
| </head> |
| <body onload="doTest()" /> |
| </html> |