Bug 1254858: P6. Add VP9 decoding gtest. r=kentuckyfriedtakahe
MozReview-Commit-ID: 1Xo9B1TGyuc
--- 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',