/* * 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/h264/include/h264.h" #include "test/gtest.h" namespace webrtc { namespace test { namespace { std::unique_ptr CreateSpecificSimulcastTestFixture() { std::unique_ptr encoder_factory = std::make_unique( [](const Environment& env, const SdpVideoFormat& format) { return CreateH264Encoder(env); }); std::unique_ptr decoder_factory = std::make_unique( []() { return H264Decoder::Create(); }); return CreateSimulcastTestFixture(std::move(encoder_factory), std::move(decoder_factory), SdpVideoFormat::H264()); } } // namespace TEST(TestH264Simulcast, TestKeyFrameRequestsOnAllStreams) { GTEST_SKIP() << "Not applicable to H264."; } TEST(TestH264Simulcast, TestKeyFrameRequestsOnSpecificStreams) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestKeyFrameRequestsOnSpecificStreams(); } TEST(TestH264Simulcast, TestPaddingAllStreams) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestPaddingAllStreams(); } TEST(TestH264Simulcast, TestPaddingTwoStreams) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestPaddingTwoStreams(); } TEST(TestH264Simulcast, TestPaddingTwoStreamsOneMaxedOut) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestPaddingTwoStreamsOneMaxedOut(); } TEST(TestH264Simulcast, TestPaddingOneStream) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestPaddingOneStream(); } TEST(TestH264Simulcast, TestPaddingOneStreamTwoMaxedOut) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestPaddingOneStreamTwoMaxedOut(); } TEST(TestH264Simulcast, TestSendAllStreams) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestSendAllStreams(); } TEST(TestH264Simulcast, TestDisablingStreams) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestDisablingStreams(); } TEST(TestH264Simulcast, TestActiveStreams) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestActiveStreams(); } TEST(TestH264Simulcast, TestSwitchingToOneStream) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestSwitchingToOneStream(); } TEST(TestH264Simulcast, TestSwitchingToOneOddStream) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestSwitchingToOneOddStream(); } TEST(TestH264Simulcast, TestStrideEncodeDecode) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestStrideEncodeDecode(); } TEST(TestH264Simulcast, TestSpatioTemporalLayers333PatternEncoder) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestSpatioTemporalLayers333PatternEncoder(); } } // namespace test } // namespace webrtc