blob: dc0e42df368259892340799043c979b92b8b71ba [file] [log] [blame]
Artem Titova6a273d2019-02-07 16:43:51 +01001/*
2 * Copyright (c) 2019 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 */
Artem Titovd57628f2019-03-22 12:34:25 +010010#ifndef API_TEST_CREATE_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
11#define API_TEST_CREATE_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
Artem Titova6a273d2019-02-07 16:43:51 +010012
13#include <memory>
Artem Titovd57628f2019-03-22 12:34:25 +010014#include <string>
Artem Titova6a273d2019-02-07 16:43:51 +010015
Artem Titovd57628f2019-03-22 12:34:25 +010016#include "api/test/audio_quality_analyzer_interface.h"
17#include "api/test/peerconnection_quality_test_fixture.h"
Artem Titov1ff3c582020-07-01 15:20:37 +020018#include "api/test/time_controller.h"
Artem Titovd57628f2019-03-22 12:34:25 +010019#include "api/test/video_quality_analyzer_interface.h"
Artem Titova6a273d2019-02-07 16:43:51 +010020
21namespace webrtc {
Artem Titov0b443142019-03-20 11:11:08 +010022namespace webrtc_pc_e2e {
Artem Titova6a273d2019-02-07 16:43:51 +010023
24// API is in development. Can be changed/removed without notice.
Artem Titov1ff3c582020-07-01 15:20:37 +020025
Artem Titova6a273d2019-02-07 16:43:51 +010026// Create test fixture to establish test call between Alice and Bob.
27// During the test Alice will be caller and Bob will answer the call.
Artem Titov59835852019-02-27 17:44:13 +010028// |test_case_name| is a name of test case, that will be used for all metrics
29// reporting.
Artem Titov65dd2912020-05-27 13:55:33 +020030// Returns a non-null PeerConnectionE2EQualityTestFixture instance.
Artem Titova6a273d2019-02-07 16:43:51 +010031std::unique_ptr<PeerConnectionE2EQualityTestFixture>
32CreatePeerConnectionE2EQualityTestFixture(
Artem Titov59835852019-02-27 17:44:13 +010033 std::string test_case_name,
Mirko Bonadeif5d88082019-02-20 16:16:54 +010034 std::unique_ptr<AudioQualityAnalyzerInterface> audio_quality_analyzer,
35 std::unique_ptr<VideoQualityAnalyzerInterface> video_quality_analyzer);
Artem Titova6a273d2019-02-07 16:43:51 +010036
Artem Titov1ff3c582020-07-01 15:20:37 +020037// Create test fixture to establish test call between Alice and Bob.
38// During the test Alice will be caller and Bob will answer the call.
39// |test_case_name| is a name of test case, that will be used for all metrics
40// reporting.
41// |time_controller| is used to manage all rtc::Thread's and TaskQueue
42// instances. Instance of |time_controller| have to outlive created fixture.
43// Returns a non-null PeerConnectionE2EQualityTestFixture instance.
44std::unique_ptr<PeerConnectionE2EQualityTestFixture>
45CreatePeerConnectionE2EQualityTestFixture(
46 std::string test_case_name,
47 TimeController& time_controller,
48 std::unique_ptr<AudioQualityAnalyzerInterface> audio_quality_analyzer,
49 std::unique_ptr<VideoQualityAnalyzerInterface> video_quality_analyzer);
50
Artem Titov0b443142019-03-20 11:11:08 +010051} // namespace webrtc_pc_e2e
Artem Titova6a273d2019-02-07 16:43:51 +010052} // namespace webrtc
53
Artem Titovd57628f2019-03-22 12:34:25 +010054#endif // API_TEST_CREATE_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_