OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src=../resources/testharness.js></script> | 2 <script src=../resources/testharness.js></script> |
3 <script src=../resources/testharnessreport.js></script> | 3 <script src=../resources/testharnessreport.js></script> |
4 <script> | 4 <script> |
5 | 5 |
6 // Check navigator.mediaCapabilities.encodingInfo() with some MIME types that | 6 // Check navigator.mediaCapabilities.encodingInfo() with some MIME types that |
7 // should be recordable and a few that shouldn't. | 7 // should be recordable and a few that shouldn't. |
8 | 8 |
9 var createTestForContentType = function(mimeType, isSupported = true) { | 9 var createTestForContentType = function(mimeType, isSupported = true) { |
10 async_test(function(t) { | 10 async_test(function(t) { |
(...skipping 14 matching lines...) Expand all Loading... |
25 queryParameters = {type : 'record', audio : {contentType : mimeType}}; | 25 queryParameters = {type : 'record', audio : {contentType : mimeType}}; |
26 } else { | 26 } else { |
27 assert_unreached('Unsupported media type'); | 27 assert_unreached('Unsupported media type'); |
28 } | 28 } |
29 | 29 |
30 navigator.mediaCapabilities.encodingInfo(queryParameters) | 30 navigator.mediaCapabilities.encodingInfo(queryParameters) |
31 .then((result) => { | 31 .then((result) => { |
32 assert_equals(isSupported, result.supported, mimeType + 'supported?'); | 32 assert_equals(isSupported, result.supported, mimeType + 'supported?'); |
33 t.done(); | 33 t.done(); |
34 }) | 34 }) |
35 .catch(() => { | 35 .catch(e => { |
36 assert_unreached('encodingInfo() ' + mimeType); | 36 assert_unreached('encodingInfo() failed with ' + e + |
| 37 ' using mimeType ' + mimeType); |
| 38 t.done(); |
37 }); | 39 }); |
38 }); | 40 }); |
39 }; | 41 }; |
40 | 42 |
41 generate_tests(createTestForContentType, [ | 43 generate_tests(createTestForContentType, [ |
42 [ 'video/webm', 'video/webm' ], | 44 [ 'video/webm', 'video/webm' ], |
43 [ 'video/webm;codecs=vp8', 'video/webm;codecs=vp8' ], | 45 [ 'video/webm;codecs=vp8', 'video/webm;codecs=vp8' ], |
44 [ 'video/webm;codecs=vp9', 'video/webm;codecs=vp9' ], | 46 [ 'video/webm;codecs=vp9', 'video/webm;codecs=vp9' ], |
45 [ 'video/webm;codecs=VP8.0', 'video/webm;codecs=vp8.0' ], | 47 [ 'video/webm;codecs=VP8.0', 'video/webm;codecs=vp8.0' ], |
46 [ 'video/webm;codecs=vp9.0', 'video/webm;codecs=vp9.0' ], | 48 [ 'video/webm;codecs=vp9.0', 'video/webm;codecs=vp9.0' ], |
47 [ 'video/webm;codecs=h264', 'video/webm;codecs=h264' ], | 49 [ 'video/webm;codecs=h264', 'video/webm;codecs=h264' ], |
48 [ 'video/webm;codecs=H264', 'video/webm;codecs=H264' ], | 50 [ 'video/webm;codecs=H264', 'video/webm;codecs=H264' ], |
49 [ 'video/webm;codecs=avc1', 'video/webm;codecs=avc1' ], | 51 [ 'video/webm;codecs=avc1', 'video/webm;codecs=avc1' ], |
50 // 'video/webm' supports audio codec specification, see | 52 // 'video/webm' supports audio codec specification, see |
51 // http://www.webmproject.org/docs/container/ | 53 // http://www.webmproject.org/docs/container/ |
52 [ 'video/webm;codecs=vp8,opus', 'video/webm;codecs=vp8,opus' ], | 54 [ 'video/webm;codecs="vp8,opus"', 'video/webm;codecs="vp8,opus"' ], |
53 [ 'video/WEBM;codecs=VP8,OPUS', 'video/WEBM;codecs=VP8,OPUS' ], | 55 [ 'video/WEBM;codecs="VP8,OPUS"', 'video/WEBM;codecs="VP8,OPUS"' ], |
54 [ 'video/webm;codecs=vp9,opus', 'video/webm;codecs=vp9,opus' ], | 56 [ 'video/webm;codecs="vp9,opus"', 'video/webm;codecs="vp9,opus"' ], |
55 [ 'video/webm;codecs=vp8,vp9,opus', 'video/webm;codecs=vp8,vp9,opus' ], | 57 [ 'video/webm;codecs="vp8,vp9,opus"', 'video/webm;codecs="vp8,vp9,opus"' ], |
56 [ 'video/webm;codecs=h264,opus', 'video/webm;codecs=h264,opus' ], | 58 [ 'video/webm;codecs="h264,opus"', 'video/webm;codecs="h264,opus"' ], |
57 [ 'video/webm;codecs=h264,vp9,opus', 'video/webm;codecs=h264,vp9,opus' ], | 59 [ 'video/webm;codecs="h264,vp9,opus"', 'video/webm;codecs="h264,vp9,opus"' ], |
58 // https://matroska.org/technical/specs/notes.html#MIME | 60 // https://matroska.org/technical/specs/notes.html#MIME |
59 [ 'video/x-matroska;codecs=vorbis', 'video/x-matroska;codecs=opus' ], | 61 [ 'video/x-matroska;codecs=vorbis', 'video/x-matroska;codecs=opus' ], |
60 [ 'audio/webm', 'audio/webm' ], | 62 [ 'audio/webm', 'audio/webm' ], |
61 [ 'audio/webm;codecs=opus', 'audio/webm;codecs=opus' ], | 63 [ 'audio/webm;codecs=opus', 'audio/webm;codecs=opus' ], |
62 | 64 |
63 // Rejected MIME types | 65 // Rejected MIME types |
64 [ 'video/invalid', 'video/invalid', false], | 66 [ 'video/invalid', 'video/invalid', false], |
65 [ 'video/mpeg4', 'video/mpeg4', false], | 67 [ 'video/mpeg4', 'video/mpeg4', false], |
66 [ 'video/webm;codecs=daala', 'video/webm;codecs=daala', false], | 68 [ 'video/webm;codecs=daala', 'video/webm;codecs=daala', false], |
67 [ 'audio/invalid', 'audio/invalid', false], | 69 [ 'audio/invalid', 'audio/invalid', false], |
68 [ 'audio/ogg', 'audio/ogg', false], | 70 [ 'audio/ogg', 'audio/ogg', false], |
69 [ 'audio/webm;codecs=vorbis', 'audio/webm;codecs=vorbis', false], | 71 [ 'audio/webm;codecs=vorbis', 'audio/webm;codecs=vorbis', false], |
70 ]); | 72 ]); |
71 | 73 |
72 </script> | 74 </script> |
OLD | NEW |