/* * 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( []() { return H264Encoder::Create(cricket::VideoCodec("H264")); }); 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) { auto fixture = CreateSpecificSimulcastTestFixture(); fixture->TestKeyFrameRequestsOnAllStreams(); } 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