| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="/w3c/resources/testharness.js"></script> |
| <script src="/w3c/resources/testharnessreport.js"></script> |
| <script src="mediasource-util.js"></script> |
| |
| <link rel='stylesheet' href='/w3c/resources/testharness.css'> |
| </head> |
| <body> |
| <div id="log"></div> |
| <script> |
| mediasource_test(function(test, mediaElement, mediaSource) |
| { |
| assert_throws("InvalidAccessError", |
| function() { mediaSource.addSourceBuffer(""); }, |
| "addSourceBuffer() threw an exception when passed an empty string."); |
| test.done(); |
| }, "Test addSourceBuffer() with empty type"); |
| |
| mediasource_test(function(test, mediaElement, mediaSource) |
| { |
| assert_throws("NotSupportedError", |
| function() { mediaSource.addSourceBuffer("invalidType"); }, |
| "addSourceBuffer() threw an exception for an unsupported type."); |
| test.done(); |
| }, "Test addSourceBuffer() with unsupported type"); |
| |
| |
| mediasource_test(function(test, mediaElement, mediaSource) |
| { |
| var mimetype = 'video/webm;codecs="vp8,vorbis"'; |
| |
| assert_true(MediaSource.isTypeSupported(mimetype), mimetype + " is supported"); |
| |
| var sourceBuffer = mediaSource.addSourceBuffer(mimetype); |
| assert_true(sourceBuffer != null, "New SourceBuffer returned"); |
| assert_equals(mediaSource.sourceBuffers[0], sourceBuffer, "SourceBuffer is in mediaSource.sourceBuffers"); |
| assert_equals(mediaSource.activeSourceBuffers[0], sourceBuffer, "SourceBuffer is in mediaSource.activeSourceBuffers"); |
| test.done(); |
| }, "Test addSourceBuffer() with Vorbis and VP8"); |
| |
| mediasource_test(function(test, mediaElement, mediaSource) |
| { |
| var videoMimetype = 'video/webm;codecs="vp8"'; |
| var audioMimetype = 'audio/webm;codecs="vorbis"'; |
| |
| assert_true(MediaSource.isTypeSupported(videoMimetype), videoMimetype + " is supported"); |
| assert_true(MediaSource.isTypeSupported(audioMimetype), audioMimetype + " is supported"); |
| |
| var sourceBufferA = mediaSource.addSourceBuffer(videoMimetype); |
| var sourceBufferB = mediaSource.addSourceBuffer(audioMimetype); |
| assert_equals(mediaSource.sourceBuffers[0], sourceBufferA, "sourceBufferA is in mediaSource.sourceBuffers"); |
| assert_equals(mediaSource.activeSourceBuffers[0], sourceBufferA, "sourceBufferA is in mediaSource.activeSourceBuffers"); |
| assert_equals(mediaSource.sourceBuffers[1], sourceBufferB, "sourceBufferB is in mediaSource.sourceBuffers"); |
| assert_equals(mediaSource.activeSourceBuffers[1], sourceBufferB, "sourceBufferB is in mediaSource.activeSourceBuffers"); |
| test.done(); |
| }, "Test addSourceBuffer() with Vorbis and VP8 in separate SourceBuffers"); |
| |
| mediasource_test(function(test, mediaElement, mediaSource) |
| { |
| var mimetype = 'video/mp4;codecs="avc1.4D4001,mp4a.40.2"'; |
| |
| assert_true(MediaSource.isTypeSupported(mimetype), mimetype + " is supported"); |
| |
| var sourceBuffer = mediaSource.addSourceBuffer(mimetype); |
| assert_true(sourceBuffer != null, "New SourceBuffer returned"); |
| assert_equals(mediaSource.sourceBuffers[0], sourceBuffer, "SourceBuffer is in mediaSource.sourceBuffers"); |
| assert_equals(mediaSource.activeSourceBuffers[0], sourceBuffer, "SourceBuffer is in mediaSource.activeSourceBuffers"); |
| test.done(); |
| }, "Test addSourceBuffer() with AAC and H.264"); |
| |
| mediasource_test(function(test, mediaElement, mediaSource) |
| { |
| var videoMimetype = 'video/mp4;codecs="avc1.4D4001"'; |
| var audioMimetype = 'audio/mp4;codecs="mp4a.40.2"'; |
| |
| assert_true(MediaSource.isTypeSupported(videoMimetype), videoMimetype + " is supported"); |
| assert_true(MediaSource.isTypeSupported(audioMimetype), audioMimetype + " is supported"); |
| |
| var sourceBufferA = mediaSource.addSourceBuffer(videoMimetype); |
| var sourceBufferB = mediaSource.addSourceBuffer(audioMimetype); |
| assert_equals(mediaSource.sourceBuffers[0], sourceBufferA, "sourceBufferA is in mediaSource.sourceBuffers"); |
| assert_equals(mediaSource.activeSourceBuffers[0], sourceBufferA, "sourceBufferA is in mediaSource.activeSourceBuffers"); |
| assert_equals(mediaSource.sourceBuffers[1], sourceBufferB, "sourceBufferB is in mediaSource.sourceBuffers"); |
| assert_equals(mediaSource.activeSourceBuffers[1], sourceBufferB, "sourceBufferB is in mediaSource.activeSourceBuffers"); |
| test.done(); |
| }, "Test addSourceBuffer() with AAC and H.264 in separate SourceBuffers"); |
| </script> |
| </body> |
| </html> |