[PATCH] Bug 812847 - Test Opus channel count validation - r=kinetik
authorRalph Giles <giles@mozilla.com>
Mon, 19 Nov 2012 15:13:43 -0800
changeset 113800 18201f6cee4ce286c343b6cca34be8912fcc3ac1
parent 113799 9195d74558f7b1c84d12101723d52c5110f6cbc0
child 113801 3a2e859e77d2d581bc133903c92834057ac60389
push id23890
push userryanvm@gmail.com
push dateWed, 21 Nov 2012 02:43:32 +0000
treeherdermozilla-central@4f19e7fd8bea [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskinetik
bugs812847, 100644
milestone20.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
[PATCH] Bug 812847 - Test Opus channel count validation - r=kinetik From 49f5e33d79df3713bc510e611a5064858bf24e4a Mon Sep 17 00:00:00 2001 These files have specially crafted headers which should be rejected by the new checks added to resolve this bug. If any audio output is produced then this bug has re-occured. The audio data is the phrase "invalid file", in one or six channels, to make this more obvious. The new mochitest test_invalid_reject.html tries to load and play each of the new invalid files and verifies that an error event is triggered. Since the invalid data is in the file headers, this should happen after network load but before metadata is ready, so the test also asserts errors if loadedmetadata or a number of subsequent events are triggered. The test will time out if no error event is fired at all. Thanks to Matthew Gregan for assistance writing the mochitest. --- content/media/test/Makefile.in | 11 ++++++ content/media/test/invalid-cmap-s0c0.opus | Bin 0 -> 6835 bytes content/media/test/invalid-cmap-s0c2.opus | Bin 0 -> 6834 bytes content/media/test/invalid-cmap-s1c2.opus | Bin 0 -> 6848 bytes content/media/test/invalid-cmap-short.opus | Bin 0 -> 6854 bytes content/media/test/invalid-m0c0.opus | Bin 0 -> 2471 bytes content/media/test/invalid-m0c3.opus | Bin 0 -> 2471 bytes content/media/test/invalid-m1c0.opus | Bin 0 -> 6836 bytes content/media/test/invalid-m1c9.opus | Bin 0 -> 6836 bytes content/media/test/invalid-m2c0.opus | Bin 0 -> 2471 bytes content/media/test/invalid-m2c1.opus | Bin 0 -> 2455 bytes content/media/test/manifest.js | 14 ++++++++ content/media/test/test_invalid_reject.html | 52 ++++++++++++++++++++++++++++ 13 files changed, 77 insertions(+) create mode 100644 content/media/test/invalid-cmap-s0c0.opus create mode 100644 content/media/test/invalid-cmap-s0c2.opus create mode 100644 content/media/test/invalid-cmap-s1c2.opus create mode 100644 content/media/test/invalid-cmap-short.opus create mode 100644 content/media/test/invalid-m0c0.opus create mode 100644 content/media/test/invalid-m0c3.opus create mode 100644 content/media/test/invalid-m1c0.opus create mode 100644 content/media/test/invalid-m1c9.opus create mode 100644 content/media/test/invalid-m2c0.opus create mode 100644 content/media/test/invalid-m2c1.opus create mode 100644 content/media/test/test_invalid_reject.html
content/media/test/Makefile.in
content/media/test/invalid-cmap-s0c0.opus
content/media/test/invalid-cmap-s0c2.opus
content/media/test/invalid-cmap-s1c2.opus
content/media/test/invalid-cmap-short.opus
content/media/test/invalid-m0c0.opus
content/media/test/invalid-m0c3.opus
content/media/test/invalid-m1c0.opus
content/media/test/invalid-m1c9.opus
content/media/test/invalid-m2c0.opus
content/media/test/invalid-m2c1.opus
content/media/test/manifest.js
content/media/test/test_invalid_reject.html
--- a/content/media/test/Makefile.in
+++ b/content/media/test/Makefile.in
@@ -76,16 +76,17 @@ MOCHITEST_FILES = \
 		test_constants.html \
 		test_controls.html \
 		test_currentTime.html \
 		test_decode_error.html \
 		test_defaultMuted.html \
 		test_delay_load.html \
 		test_error_on_404.html \
 		test_info_leak.html \
+		test_invalid_reject.html \
 		test_load.html \
 		test_load_candidates.html \
 		test_load_same_resource.html \
 		test_load_source.html \
 		test_loop.html \
 		test_metadata.html \
 		test_mozLoadFrom.html \
 		test_no_load_event.html \
@@ -241,16 +242,26 @@ MOCHITEST_FILES += \
 # Media plugin sample files
 MOCHITEST_FILES += \
 		gizmo.mp4 \
 		$(NULL)
 
 # Other files
 MOCHITEST_FILES += \
 		bogus.duh \
+		invalid-m0c0.opus \
+		invalid-m0c3.opus \
+		invalid-m1c0.opus \
+		invalid-m1c9.opus \
+		invalid-m2c0.opus \
+		invalid-m2c1.opus \
+		invalid-cmap-short.opus \
+		invalid-cmap-s0c0.opus \
+		invalid-cmap-s0c2.opus \
+		invalid-cmap-s1c2.opus \
 		$(NULL)
 
 # These tests contain backend-specific tests. Try to write backend
 # independent tests rather than adding to this list.
 ifdef MOZ_OGG
 MOCHITEST_FILES += \
 		test_can_play_type_ogg.html \
 		noContentLength.sjs \
new file mode 100644
index 0000000000000000000000000000000000000000..0b9958786590c6ce854a137248fea2ab00864c52
GIT binary patch
literal 6835
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
R9Q?iE7oP;5LcGVf{s-+9T8;n!
new file mode 100644
index 0000000000000000000000000000000000000000..a921894fee5e43983126478ee5a781fa53e938df
GIT binary patch
literal 6834
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
SMsN!BhM#{DdIIqt-~1oFoKzP8
new file mode 100644
index 0000000000000000000000000000000000000000..95a84f523c7cd86db5fc6ef50198cd74f74843dd
GIT binary patch
literal 6848
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
new file mode 100644
index 0000000000000000000000000000000000000000..fcd7eb506ade90a7cbfbc3509bff2f6974d2ca73
GIT binary patch
literal 6854
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
new file mode 100644
index 0000000000000000000000000000000000000000..86555f60ebd98da144feabdcc5b851d926c78091
GIT binary patch
literal 2471
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
Xa029z%q!BZCiN-8rqIIT;q(6mL{@G|
new file mode 100644
index 0000000000000000000000000000000000000000..2c681a8c032723f26d727caf597b0fbae3fe3f5c
GIT binary patch
literal 2471
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
Y2f~SvLo$DmZa1k<5jKPt77w5QFM?2Rs{jB1
new file mode 100644
index 0000000000000000000000000000000000000000..c7728f79ee55185146d4eb0e100fc2a55a88d71c
GIT binary patch
literal 6836
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
VZ{Sq~J6~`3#V3KMQ19`r{{f@;SDgR=
new file mode 100644
index 0000000000000000000000000000000000000000..1ef6e9f9cf6e35fdd3619be0e4c940422b37fc5a
GIT binary patch
literal 6836
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
V?SCE4!QT^h{zdQ^#A|Hxe*lT=Q+@yd
new file mode 100644
index 0000000000000000000000000000000000000000..5c3f97e2ab68993008ce409360630775cb5d3e3a
GIT binary patch
literal 2471
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
Z1R$COIVATx`L|}xY2v2H;?m*s{{`0vZ)5-f
new file mode 100644
index 0000000000000000000000000000000000000000..5ecb95ee25d51f2672efc5439385e18b56fabfb6
GIT binary patch
literal 2455
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
K6kc39eEz>T-e?;D
--- a/content/media/test/manifest.js
+++ b/content/media/test/manifest.js
@@ -162,16 +162,30 @@ var gSnifferTests = [
   { name:"320x240.ogv", type:"video/ogg", width:320, height:240, duration:0.233, size:28942 },
   { name:"seek.webm", type:"video/webm", duration:3.966, size:215529 },
   { name:"short.mp4", type:"video/mp4", duration:0.2, size:29435},
   // A mp3 file with id3 tags.
   { name:"id3tags.mp3", type:"audio/mpeg", duration:0.28, size:3530},
   { name:"bogus.duh", type:"bogus/duh" }
 ];
 
+// Files we must reject as invalid.
+var gInvalidTests = [
+  { name:"invalid-m0c0.opus", type:"audio/ogg; codecs=opus"},
+  { name:"invalid-m0c3.opus", type:"audio/ogg; codecs=opus"},
+  { name:"invalid-m1c0.opus", type:"audio/ogg; codecs=opus"},
+  { name:"invalid-m1c9.opus", type:"audio/ogg; codecs=opus"},
+  { name:"invalid-m2c0.opus", type:"audio/ogg; codecs=opus"},
+  { name:"invalid-m2c1.opus", type:"audio/ogg; codecs=opus"},
+  { name:"invalid-cmap-short.opus", type:"audio/ogg; codecs=opus"},
+  { name:"invalid-cmap-s0c0.opus", type:"audio/ogg; codecs=opus"},
+  { name:"invalid-cmap-s0c2.opus", type:"audio/ogg; codecs=opus"},
+  { name:"invalid-cmap-s1c2.opus", type:"audio/ogg; codecs=opus"},
+];
+
 // Converts a path/filename to a file:// URI which we can load from disk.
 // Optionally checks whether the file actually exists on disk at the location
 // we've specified.
 function fileUriToSrc(path, mustExist) {
   // android mochitest doesn't support file://
   if (navigator.appVersion.indexOf("Android") != -1)
     return path;
 
new file mode 100644
--- /dev/null
+++ b/content/media/test/test_invalid_reject.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+  <meta charset="UTF-8" />
+  <title>Test rejection of invalid files</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>
+</head>
+<body>
+<pre id="test">
+<script class="testbody" type="text/javascript">
+
+var manager = new MediaTestManager;
+
+function startTest(test, token) {
+  var v = document.createElement('video');
+  manager.started(token);
+
+  // Set up event handlers. Seeing any of these is a failure.
+  function badEvent(type) { return function(e) {
+    ok(false, test.name + " should not fire '" + type + "' event");
+  }};
+  var events = [
+      'loadedmetadata', 'load',
+      'canplay', 'canplaythrough',
+      'playing'
+  ];
+  events.forEach( function(e) {
+    v.addEventListener(e, badEvent(e));
+  });
+
+  // Seeing a decoder error is a success.
+  v.addEventListener("error", function(e) {
+    is(v.error.code, v.error.MEDIA_ERR_DECODE,
+      "decoder should reject " + test.name);
+    manager.finished(token);
+  });
+
+  // Now try to load and play the file, which should result in the
+  // error event handler above being called, terminating the test.
+  document.body.appendChild(v);
+  v.src = test.name;
+  v.play();
+}
+
+manager.runTests(gInvalidTests, startTest);
+
+</script>
+</pre>
+</body>
+</html>