xref: /aosp_15_r20/external/webrtc/api/test/create_video_quality_test_fixture.cc (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1 /*
2  *  Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 #include "api/test/create_video_quality_test_fixture.h"
12 
13 #include <memory>
14 #include <utility>
15 
16 #include "video/video_quality_test.h"
17 
18 namespace webrtc {
19 
20 std::unique_ptr<VideoQualityTestFixtureInterface>
CreateVideoQualityTestFixture()21 CreateVideoQualityTestFixture() {
22   // By default, we don't override the FEC module, so pass an empty factory.
23   return std::make_unique<VideoQualityTest>(nullptr);
24 }
25 
CreateVideoQualityTestFixture(std::unique_ptr<FecControllerFactoryInterface> fec_controller_factory)26 std::unique_ptr<VideoQualityTestFixtureInterface> CreateVideoQualityTestFixture(
27     std::unique_ptr<FecControllerFactoryInterface> fec_controller_factory) {
28   auto components =
29       std::make_unique<VideoQualityTestFixtureInterface::InjectionComponents>();
30   components->fec_controller_factory = std::move(fec_controller_factory);
31   return std::make_unique<VideoQualityTest>(std::move(components));
32 }
33 
CreateVideoQualityTestFixture(std::unique_ptr<VideoQualityTestFixtureInterface::InjectionComponents> components)34 std::unique_ptr<VideoQualityTestFixtureInterface> CreateVideoQualityTestFixture(
35     std::unique_ptr<VideoQualityTestFixtureInterface::InjectionComponents>
36         components) {
37   return std::make_unique<VideoQualityTest>(std::move(components));
38 }
39 
40 }  // namespace webrtc
41