Agora C++ API Reference for All Platforms

NGIAgoraExtensionVQA.h
1 //
2 // Agora SDK
3 //
4 // Copyright (c) 2021 Agora.io. All rights reserved.
5 //
6
7 #pragma once // NOLINT(build/header_guard)
8
9 #include "AgoraBase.h"
10 #include "IAgoraLog.h"
11 #include "AgoraRefPtr.h"
12 #include "NGIAgoraVideoFrame.h"
13 #include "AgoraMediaBase.h"
14
15 namespace agora {
16 namespace rtc {
17
18 // class ExtensionControlImpl;
19 class IAgoraVideoQualityAnalyzer : public RefCountInterface {
20 public:
21 class Control : public RefCountInterface {
22 public:
23 // virtual int postEvent(const char* key, const char* value) = 0;
24 virtual void printLog(commons::LOG_LEVEL level, const char* format, ...) = 0;
25 };
26
27
28 virtual ~IAgoraVideoQualityAnalyzer() {}
29 virtual int initializeVQA(const agora_refptr<Control>& control) = 0;
30
31 virtual int pushYuvData(agora::agora_refptr<rtc::IVideoFrame> frame) {
32 return -ERR_NOT_SUPPORTED;
33 }
34
35 virtual int getVqaMos(int& mos) {
36 return -ERR_NOT_SUPPORTED;
37 }
38 };
39
40 } // namespace rtc
41 } // namespace agora
agora::rtc::IAgoraVideoQualityAnalyzer::~IAgoraVideoQualityAnalyzer
virtual ~IAgoraVideoQualityAnalyzer()
Definition: NGIAgoraExtensionVQA.h:28
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IAgoraVideoQualityAnalyzer::Control::printLog
virtual void printLog(commons::LOG_LEVEL level, const char *format,...)=0
agora::rtc::IAgoraVideoQualityAnalyzer
Definition: NGIAgoraExtensionVQA.h:19
agora::rtc::IAgoraVideoQualityAnalyzer::getVqaMos
virtual int getVqaMos(int &mos)
Definition: NGIAgoraExtensionVQA.h:35
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IAgoraVideoQualityAnalyzer::pushYuvData
virtual int pushYuvData(agora::agora_refptr< rtc::IVideoFrame > frame)
Definition: NGIAgoraExtensionVQA.h:31
agora::commons::LOG_LEVEL
OPTIONAL_ENUM_CLASS LOG_LEVEL
Definition: IAgoraLog.h:33
agora::ERR_NOT_SUPPORTED
@ ERR_NOT_SUPPORTED
Definition: AgoraBase.h:485
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::IAgoraVideoQualityAnalyzer::initializeVQA
virtual int initializeVQA(const agora_refptr< Control > &control)=0
rtc
Definition: video_node_i.h:28
agora::rtc::IAgoraVideoQualityAnalyzer::Control
Definition: NGIAgoraExtensionVQA.h:21