Agora Java API Reference for Android
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 
15 namespace agora {
16 namespace rtc {
21  public:
25  struct Capabilities {
29  bool audio;
33  bool video;
34  };
35 
41  virtual void getCapabilities(Capabilities& capabilities) = 0;
42 
50  IVideoFrame::Type type, IVideoFrame::Format format, int width, int height) = 0;
51 
60 
68  virtual void recycleVideoCache(IVideoFrame::Type type) = 0;
69 
77  virtual int dumpVideoFrame(agora_refptr<IVideoFrame> frame, const char* file) = 0;
78 
88  virtual int log(commons::LOG_LEVEL level, const char* message) = 0;
89 
90  virtual int fireEvent(const char* id, const char* event_key, const char* event_json_str) = 0;
91 
92  protected:
93  virtual ~IExtensionControl() {}
94 };
95 
96 } // namespace rtc
97 } // namespace agora
agora::rtc::IVideoFrame::Type
Type
Definition: NGIAgoraVideoFrame.h:26
agora::rtc::IExtensionControl::Capabilities
Definition: NGIAgoraExtensionControl.h:25
agora::agora_refptr
Definition: AgoraRefPtr.h:34
agora::rtc::IExtensionControl::Capabilities::audio
bool audio
Definition: NGIAgoraExtensionControl.h:29
agora::rtc::IExtensionControl::getCapabilities
virtual void getCapabilities(Capabilities &capabilities)=0
agora::rtc::IExtensionControl::copyVideoFrame
virtual agora_refptr< IVideoFrame > copyVideoFrame(agora_refptr< IVideoFrame > src)=0
agora::rtc::IVideoFrame::Format
Format
Definition: NGIAgoraVideoFrame.h:40
agora::rtc::IExtensionControl::Capabilities::video
bool video
Definition: NGIAgoraExtensionControl.h:33
agora::rtc::IExtensionControl::log
virtual int log(commons::LOG_LEVEL level, const char *message)=0
agora::rtc::IExtensionControl::recycleVideoCache
virtual void recycleVideoCache(IVideoFrame::Type type)=0
agora::rtc::IExtensionControl::dumpVideoFrame
virtual int dumpVideoFrame(agora_refptr< IVideoFrame > frame, const char *file)=0
agora::rtc::IExtensionControl
Definition: NGIAgoraExtensionControl.h:20
agora::rtc::IExtensionControl::createVideoFrame
virtual agora_refptr< IVideoFrame > createVideoFrame(IVideoFrame::Type type, IVideoFrame::Format format, int width, int height)=0