diff options
Diffstat (limited to 'dom/media/gtest/TestVideoSegment.cpp')
-rw-r--r-- | dom/media/gtest/TestVideoSegment.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/dom/media/gtest/TestVideoSegment.cpp b/dom/media/gtest/TestVideoSegment.cpp new file mode 100644 index 000000000..f7d5aed21 --- /dev/null +++ b/dom/media/gtest/TestVideoSegment.cpp @@ -0,0 +1,51 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public +* 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 "VideoSegment.h" + +using namespace mozilla; + +namespace mozilla { + namespace layer { + class Image; + } // namespace layer +} // namespace mozilla + +TEST(VideoSegment, TestAppendFrameForceBlack) +{ + RefPtr<layers::Image> testImage = nullptr; + + VideoSegment segment; + segment.AppendFrame(testImage.forget(), + mozilla::StreamTime(90000), + mozilla::gfx::IntSize(640, 480), + PRINCIPAL_HANDLE_NONE, + true); + + VideoSegment::ChunkIterator iter(segment); + while (!iter.IsEnded()) { + VideoChunk chunk = *iter; + EXPECT_TRUE(chunk.mFrame.GetForceBlack()); + iter.Next(); + } +} + +TEST(VideoSegment, TestAppendFrameNotForceBlack) +{ + RefPtr<layers::Image> testImage = nullptr; + + VideoSegment segment; + segment.AppendFrame(testImage.forget(), + mozilla::StreamTime(90000), + mozilla::gfx::IntSize(640, 480), + PRINCIPAL_HANDLE_NONE); + + VideoSegment::ChunkIterator iter(segment); + while (!iter.IsEnded()) { + VideoChunk chunk = *iter; + EXPECT_FALSE(chunk.mFrame.GetForceBlack()); + iter.Next(); + } +} |