Bug 1254858: P6. Add VP9 decoding gtest. r=kentuckyfriedtakahe draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Thu, 10 Mar 2016 11:53:39 +1100
changeset 338993 283b02513fcee3cda81916bd35ca8f9ff7d164ac
parent 338992 9fb3d5eacab25a05264cc0b3260ea7daee056418
child 338994 b48c9bc37edd03060c1575d8ca5f87b2ad3f1e32
push id12627
push userbmo:jyavenard@mozilla.com
push dateThu, 10 Mar 2016 10:14:15 +0000
reviewerskentuckyfriedtakahe
bugs1254858
milestone48.0a1
Bug 1254858: P6. Add VP9 decoding gtest. r=kentuckyfriedtakahe MozReview-Commit-ID: 1Xo9B1TGyuc
dom/media/gtest/TestMediaDataDecoder.cpp
dom/media/gtest/moz.build
--- a/dom/media/gtest/TestMediaDataDecoder.cpp
+++ b/dom/media/gtest/TestMediaDataDecoder.cpp
@@ -3,16 +3,17 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "gtest/gtest.h"
 #include "Benchmark.h"
 #include "MockMediaResource.h"
 #include "DecoderTraits.h"
 #include "MP4Demuxer.h"
+#include "WebMDemuxer.h"
 
 using namespace mozilla;
 
 class BenchmarkRunner
 {
 public:
   explicit BenchmarkRunner(Benchmark* aBenchmark)
     : mBenchmark(aBenchmark) {}
@@ -48,8 +49,23 @@ TEST(MediaDataDecoder, H264)
       new MockMediaResource("gizmo.mp4", NS_LITERAL_CSTRING("video/mp4"));
     nsresult rv = resource->Open(nullptr);
     EXPECT_TRUE(NS_SUCCEEDED(rv));
 
     BenchmarkRunner runner(new Benchmark(new MP4Demuxer(resource)));
     EXPECT_GT(runner.Run(), 0u);
   }
 }
+
+TEST(MediaDataDecoder, VP9)
+{
+  if (!DecoderTraits::IsWebMTypeAndEnabled(NS_LITERAL_CSTRING("video/webm"))) {
+    EXPECT_TRUE(true);
+  } else {
+    RefPtr<MediaResource> resource =
+      new MockMediaResource("vp9cake.webm", NS_LITERAL_CSTRING("video/webm"));
+    nsresult rv = resource->Open(nullptr);
+    EXPECT_TRUE(NS_SUCCEEDED(rv));
+
+    BenchmarkRunner runner(new Benchmark(new WebMDemuxer(resource)));
+    EXPECT_GT(runner.Run(), 0u);
+  }
+}
--- a/dom/media/gtest/moz.build
+++ b/dom/media/gtest/moz.build
@@ -39,16 +39,17 @@ if CONFIG['MOZ_WEBM_ENCODER']:
 if CONFIG['MOZ_RUST']:
     SOURCES += ['hello.rs',]
     UNIFIED_SOURCES += ['TestRust.cpp',]
 
 
 TEST_HARNESS_FILES.gtest += [
     '../test/gizmo-frag.mp4',
     '../test/gizmo.mp4',
+    '../test/vp9cake.webm',
     'dash_dashinit.mp4',
     'id3v2header.mp3',
     'mediasource_test.mp4',
     'noise.mp3',
     'noise_vbr.mp3',
     'short-zero-in-moov.mp4',
     'short-zero-inband.mov',
     'small-shot.mp3',