Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
NGIAgoraExtensionControl.h
1//
2// Copyright (c) 2020 Agora.io. All rights reserved
3
4// This program is confidential and proprietary to Agora.io.
5// And may not be copied, reproduced, modified, disclosed to others, published
6// or used, in whole or in part, without the express prior written permission
7// of Agora.io.
8
9#pragma once // NOLINT(build/header_guard)
10#include "AgoraBase.h"
11#include "AgoraRefPtr.h"
12#include "IAgoraLog.h"
13#include "NGIAgoraVideoFrame.h"
14#include "NGIAgoraExtensionProvider.h"
15
16namespace agora {
17namespace rtc {
23 public:
27 struct Capabilities {
31 bool audio;
35 bool video;
36 };
37
43 virtual void getCapabilities(Capabilities& capabilities) = 0;
44
52 virtual int recycleVideoCache() = 0;
53
61 virtual int dumpVideoFrame(agora_refptr<IVideoFrame> frame, const char* file) = 0;
62
72 virtual int log(commons::LOG_LEVEL level, const char* message) = 0;
73
85 virtual int fireEvent(const char* provider, const char* extension, const char* event_key, const char* value) = 0;
86
92 virtual int registerProvider(const char* provider, agora_refptr<IExtensionProvider> instance) = 0;
93
94 protected:
95 virtual ~IExtensionControl() {}
96};
97
98} // namespace rtc
99} // namespace agora
Definition AgoraRefPtr.h:44
Definition NGIAgoraExtensionControl.h:22
virtual int recycleVideoCache()=0
virtual void getCapabilities(Capabilities &capabilities)=0
virtual ~IExtensionControl()
Definition NGIAgoraExtensionControl.h:95
virtual int dumpVideoFrame(agora_refptr< IVideoFrame > frame, const char *file)=0
virtual int log(commons::LOG_LEVEL level, const char *message)=0
virtual int registerProvider(const char *provider, agora_refptr< IExtensionProvider > instance)=0
virtual int fireEvent(const char *provider, const char *extension, const char *event_key, const char *value)=0
Definition NGIAgoraExtensionProvider.h:35
OPTIONAL_ENUM_CLASS LOG_LEVEL
Definition IAgoraLog.h:33
Definition builtin_extension_literal_def.h:10
Definition AgoraExtensions.h:5
Definition AgoraAtomicOps.h:21
Definition NGIAgoraExtensionControl.h:27
bool video
Definition NGIAgoraExtensionControl.h:35
bool audio
Definition NGIAgoraExtensionControl.h:31