/* * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #include #include "api/test/create_simulcast_test_fixture.h" #include "api/test/simulcast_test_fixture.h" #include "api/test/video/function_video_decoder_factory.h" #include "api/test/video/function_video_encoder_factory.h" #include "modules/video_coding/codecs/vp8/include/vp8.h" #include "test/gtest.h" namespace webrtc { namespace test { namespace { std::unique_ptr CreateSpecificSimulcastTestFixture() { std::unique_ptr encoder_factory = std::make_unique( []() { return VP8Encoder::Create(); }); std::unique_ptr decoder_factory = std::make_unique( []() { return VP8Decoder::Create(); }); return CreateSimulcastTestFixture(std::move(encoder_factory), std::move(decoder_factory), SdpVideoFormat("VP8")); } } // namespace TEST(LibvpxVp8SimulcastTest, TestKeyFrameRequestsOnAllStreams) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestKeyFrameRequestsOnAllStreams(); } TEST(LibvpxVp8SimulcastTest, TestKeyFrameRequestsOnSpecificStreams) { GTEST_SKIP() << "Not applicable to VP8."; } TEST(LibvpxVp8SimulcastTest, TestPaddingAllStreams) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestPaddingAllStreams(); } TEST(LibvpxVp8SimulcastTest, TestPaddingTwoStreams) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestPaddingTwoStreams(); } TEST(LibvpxVp8SimulcastTest, TestPaddingTwoStreamsOneMaxedOut) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestPaddingTwoStreamsOneMaxedOut(); } TEST(LibvpxVp8SimulcastTest, TestPaddingOneStream) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestPaddingOneStream(); } TEST(LibvpxVp8SimulcastTest, TestPaddingOneStreamTwoMaxedOut) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestPaddingOneStreamTwoMaxedOut(); } TEST(LibvpxVp8SimulcastTest, TestSendAllStreams) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestSendAllStreams(); } TEST(LibvpxVp8SimulcastTest, TestDisablingStreams) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestDisablingStreams(); } TEST(LibvpxVp8SimulcastTest, TestActiveStreams) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestActiveStreams(); } TEST(LibvpxVp8SimulcastTest, TestSwitchingToOneStream) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestSwitchingToOneStream(); } TEST(LibvpxVp8SimulcastTest, TestSwitchingToOneOddStream) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestSwitchingToOneOddStream(); } TEST(LibvpxVp8SimulcastTest, TestSwitchingToOneSmallStream) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestSwitchingToOneSmallStream(); } TEST(LibvpxVp8SimulcastTest, TestSpatioTemporalLayers333PatternEncoder) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestSpatioTemporalLayers333PatternEncoder(); } TEST(LibvpxVp8SimulcastTest, TestStrideEncodeDecode) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestStrideEncodeDecode(); } } // namespace test } // namespace webrtc