blob: a0b0d08dd4a929651297d18011f338d1cab886c1 [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 Titov0e61fdd2021-07-25 21:50:14 +020028// `test_case_name` is a name of test case, that will be used for all metrics
Artem Titov59835852019-02-27 17:44:13 +010029// reporting.
Artem Titov0e61fdd2021-07-25 21:50:14 +020030// `time_controller` is used to manage all rtc::Thread's and TaskQueue
31// instances. Instance of `time_controller` have to outlive created fixture.
Artem Titov1ff3c582020-07-01 15:20:37 +020032// Returns a non-null PeerConnectionE2EQualityTestFixture instance.
33std::unique_ptr<PeerConnectionE2EQualityTestFixture>
34CreatePeerConnectionE2EQualityTestFixture(
35 std::string test_case_name,
36 TimeController& time_controller,
37 std::unique_ptr<AudioQualityAnalyzerInterface> audio_quality_analyzer,
38 std::unique_ptr<VideoQualityAnalyzerInterface> video_quality_analyzer);
39
Artem Titov0b443142019-03-20 11:11:08 +010040} // namespace webrtc_pc_e2e
Artem Titova6a273d2019-02-07 16:43:51 +010041} // namespace webrtc
42
Artem Titovd57628f2019-03-22 12:34:25 +010043#endif // API_TEST_CREATE_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_