|
Agora C++ API Reference for All Platforms
|
13 #include "AgoraRefPtr.h"
15 #include "NGIAgoraCameraCapturer.h"
16 #include "NGIAgoraVideoMixerSource.h"
17 #include "NGIAgoraMediaNodeFactory.h"
18 #include "NGIAgoraMediaNode.h"
19 #include "api/video/video_frame.h"
20 #include "main/core/video/stats_and_events/video_stats_events_pusher.h"
27 struct VideoSinkWants;
29 template <
typename V
ideoFrameT>
35 struct RenderFreezeStats;
74 webrtc::VideoFrame& adaptedFrame) = 0;
80 virtual void onDropFrame(agora::rtc::VideoQoEDropType drop_type) {}
120 #if defined(__ANDROID__) || defined(TARGET_OS_IPHONE)
124 #if defined(__ANDROID__)
136 #if defined(WEBRTC_IOS)
142 #if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__)) || \
143 (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
161 webrtc::VideoRotation
rotation = webrtc::VideoRotation::kVideoRotation_0;
167 virtual int onFrame(
const webrtc::VideoFrame& videoFrame) {
348 virtual void onFrame(
const std::string& uid,
const webrtc::VideoFrame& frame) = 0;
356 virtual int onFrame(
const webrtc::VideoFrame& videoFrame) = 0;
int removeView(void *view) override
Definition: video_node_i.h:183
virtual void setVideoFrameObserver(agora::media::IVideoFrameObserver *observer)
Definition: video_node_i.h:278
std::string deviceType
Definition: video_node_i.h:302
static const char *const BUILT_IN_POST_CAPTURER_FILTER_FRAME_OBSERVER
Definition: video_node_i.h:64
std::string deviceName
Definition: video_node_i.h:300
virtual int setRotationEx(uintptr_t handle, VIDEO_ORIENTATION rotation)
Definition: video_node_i.h:234
int framesPerSecond
Definition: video_node_i.h:289
Definition: video_node_i.h:312
virtual ~IVideoMixerSourceEx()=default
virtual void setCameraDropCount(int dropcount)=0
virtual int sendVideoFrame(const media::base::ExternalVideoFrame &videoFrame)=0
CAMERA_OUTPUT_DATA_TYPE
Definition: video_node_i.h:110
CAMERA_SOURCE
Definition: NGIAgoraCameraCapturer.h:25
Definition: video_node_i.h:89
virtual void setOutputFormat(const rtc::VideoFormat &format, bool fixed=false, bool bypass_resolution_adaption=false)=0
virtual bool adaptVideoFrame(const media::base::VideoFrame &capturedFrame, media::base::VideoFrame &adaptedFrame)=0
virtual void registerMixedFrameCallback(::rtc::VideoSinkInterface< webrtc::VideoFrame > *dataCallback)=0
Definition: AgoraRefPtr.h:44
static const char *const BUILT_IN_MAJOR_TEE
Definition: video_node_i.h:59
Definition: NGIAgoraMediaNode.h:927
@ RENDERER_EXT_OBSERVER
Definition: video_node_i.h:40
Definition: video_node_i.h:276
Definition: video_node_i.h:373
virtual void onDropFrame(agora::rtc::VideoQoEDropType drop_type)
Definition: video_node_i.h:80
Definition: common_defines.h:11
virtual bool pushMode()=0
Definition: AgoraBase.h:2007
virtual int removeViewEx(uintptr_t handle)
Definition: video_node_i.h:198
virtual int unsetView()=0
std::string image
Definition: video_node_i.h:285
virtual bool adaptVideoFrame(const webrtc::VideoFrame &capturedFrame, webrtc::VideoFrame &adaptedFrame)=0
static const char *const BUILT_IN_PREVIEW_TEE
Definition: video_node_i.h:58
virtual void deRegisterMixedFrameCallback(::rtc::VideoSinkInterface< webrtc::VideoFrame > *dataCallback)=0
virtual void attachUserInfo(uid_t uid, uint64_t state_space)
Definition: video_node_i.h:239
VIDEO_FRAME_TYPE frameType
Definition: video_node_i.h:286
virtual void setHDRCaptureEnable(bool enableHDRCapture)=0
virtual ~IVideoEncodedImageCallback()
Definition: video_node_i.h:308
virtual CAMERA_OUTPUT_DATA_TYPE getCameraOutputDataType()=0
virtual int onFrame(const webrtc::VideoFrame &videoFrame)
Definition: video_node_i.h:167
virtual int ReportCounter(int32_t counter_id, int32_t value)=0
static const char *const BUILT_IN_POST_CAPTURER_WATERMARK_FILTER
Definition: video_node_i.h:54
@ CAMERA_OUTPUT_RAW
Definition: video_node_i.h:111
Definition: NGIAgoraMediaNode.h:733
static const char *const BUILT_IN_PRE_ENCODER_FILTER_OBSERVER
Definition: video_node_i.h:63
virtual void setVideoStabilityMode(int mode)=0
std::vector< CameraInfo > CameraInfoList
Definition: video_node_i.h:304
Definition: AgoraAtomicOps.h:21
Definition: video_node_i.h:342
virtual void setColorSpaceInfo(webrtc::ColorSpace colorSpace)=0
virtual int getVideoFrame(webrtc::VideoFrame &videoFrame)=0
int addView(void *view, const Rectangle &cropArea) override
Definition: video_node_i.h:177
virtual void SetFilterId(std::string id)
Definition: video_node_i.h:81
Definition: video_node_i.h:159
int setMirror(void *view, bool mirror) override
Definition: video_node_i.h:209
static const char *const BUILT_IN_MINOR_ADAPTER
Definition: video_node_i.h:61
virtual void startMixing()=0
virtual void DeRegisterVideoFrameCallback()=0
virtual int setCameraSourceWithCameraId(CAMERA_SOURCE source, const char *camera_id)=0
static const char *const GLFW_RESOURCE
Definition: video_node_i.h:363
VIDEO_CODEC_TYPE
Definition: AgoraBase.h:1150
@ RENDERER_BUILT_IN_RENDERER
Definition: video_node_i.h:39
~IObservableVideoFilter()
Definition: video_node_i.h:281
virtual ~IVideoFrameSenderEx()
Definition: video_node_i.h:330
@ RENDERER_NONE
Definition: video_node_i.h:38
virtual void setVideoQoEPusher(std::weak_ptr< VideoStatsEventsPusher > pusher)
Definition: video_node_i.h:79
VIDEO_ORIENTATION
Definition: AgoraBase.h:934
virtual void attachStatsSpace(uint64_t stats_space)
Definition: video_node_i.h:78
virtual int sendVideoFrame(const webrtc::VideoFrame &videoFrame)=0
int64_t decodeTimeMs
Definition: video_node_i.h:295
virtual void setCameraSelected(int module_selected)=0
int setView(void *view) override
Definition: video_node_i.h:172
virtual int ReleaseGlobalResource(const GlobalResourceMetaInfo &meta_info, int &resource_count)=0
Definition: NGIAgoraCameraCapturer.h:19
static const char *const BUILT_IN_PRE_ENCODER_FILTER_FRAME_OBSERVER
Definition: video_node_i.h:65
Definition: NGIAgoraVideoTrack.h:292
static const char *const BUILT_IN_MINOR_TEE
Definition: video_node_i.h:60
Definition: video_node_i.h:326
VIDEO_FRAME_TYPE
Definition: AgoraBase.h:999
bool inUse
Definition: video_node_i.h:299
virtual void onSinkWantsChanged(const ::rtc::VideoSinkWants &wants)=0
virtual int getViewMetaInfo(uintptr_t handle, PreviewMetaInfo &info)
Definition: video_node_i.h:253
Definition: video_node_i.h:354
virtual void DeRegisterEncodedImageCallback(IVideoEncodedImageCallback *dataCallback, VIDEO_STREAM_TYPE stream_type)=0
virtual bool hasVideoTrack(const std::string &id)=0
virtual int ReportEvent(int32_t event_id, void *event)=0
static const char *const BUILT_IN_PRE_ENCODER_FACEDETECE_FILTER
Definition: video_node_i.h:56
Definition: NGIAgoraVideoMixerSource.h:44
virtual void deRegisterFrameCallback(::rtc::VideoSinkInterface< webrtc::VideoFrame > *dataCallback)=0
virtual void registerFrameCallback(::rtc::VideoSinkInterface< webrtc::VideoFrame > *dataCallback)=0
virtual int onFrame(const media::base::VideoFrame &videoFrame)=0
virtual void setPreviewInfo(const PreviewMetaInfo &info)
Definition: video_node_i.h:121
int64_t captureTimeMs
Definition: video_node_i.h:294
virtual int getHeight() const =0
~IVideoFilterEx()
Definition: video_node_i.h:84
virtual int DeclareGlobalResource(const GlobalResourceMetaInfo &meta_info, int &resource_count)=0
Definition: video_node_i.h:298
Definition: NGIAgoraMediaNode.h:832
virtual void OnVideoEncodedImage(agora_refptr< VideoEncodedImageData > data)=0
virtual int setRenderMode(media::base::RENDER_MODE_TYPE renderMode)=0
virtual int getWidth() const =0
~IVideoFrameAdapter()
Definition: video_node_i.h:107
webrtc::VideoRotation rotation
Definition: video_node_i.h:161
@ CAMERA_OUTPUT_TEXTURE_AND_RAW
Definition: video_node_i.h:113
virtual int setRenderModeEx(uintptr_t handle, media::base::RENDER_MODE_TYPE renderMode)
Definition: video_node_i.h:222
virtual int addViewEx(uintptr_t handle)
Definition: video_node_i.h:193
Definition: NGIAgoraMediaNode.h:266
virtual void DetachStatSpace(uint64_t stats_space)=0
virtual int getViewCount()
Definition: video_node_i.h:259
virtual void observeTxDelay(ILocalVideoTrack *track)=0
@ ERR_NOT_SUPPORTED
Definition: AgoraBase.h:466
static const char *const BUILT_IN_POST_CAPTURER_FILTER_OBSERVER
Definition: video_node_i.h:62
virtual int clearBuffer()
Definition: video_node_i.h:263
virtual void RegisterEncodedImageCallback(IVideoEncodedImageCallback *dataCallback, VIDEO_STREAM_TYPE stream_type)=0
VIDEO_ORIENTATION rotation
Definition: video_node_i.h:291
static const char *const BUILT_IN_SOURCE_FILTER
Definition: video_node_i.h:50
Definition: video_node_i.h:306
InternalRendererType
Definition: video_node_i.h:37
bool enableAlphaMask
Definition: video_node_i.h:162
virtual void RegisterVideoFrameCallback(::rtc::VideoSinkInterface< webrtc::VideoFrame > *dataCallback)=0
Definition: NGIAgoraMediaNode.h:709
Definition: video_node_i.h:268
virtual ~IVideoEncodedImageSenderEx()
Definition: video_node_i.h:314
static const char *const BUILT_IN_PRE_ENCODER_WATERMARK_FILTER
Definition: video_node_i.h:53
virtual void setCameraOutputDataType(CAMERA_OUTPUT_DATA_TYPE type)=0
Definition: AgoraRefPtr.h:31
std::string deviceId
Definition: video_node_i.h:301
static const char *const BUILT_IN_METADATA_OBSERVER
Definition: video_node_i.h:51
virtual std::string getDeviceId()=0
virtual ~IExtensionVideoFilterControlEx()=default
VIDEO_STREAM_TYPE
Definition: AgoraBase.h:1532
virtual int getViewMetaInfo(PreviewMetaInfo &info)
Definition: video_node_i.h:248
virtual ~ICameraCapturerEx()
Definition: video_node_i.h:118
virtual int onFrame(const webrtc::VideoFrame &videoFrame)=0
virtual void AttachStatSpace(uint64_t stats_space)=0
bool isExternal() override
Definition: video_node_i.h:77
Definition: video_node_i.h:157
Definition: video_node_i.h:69
int setRotation(void *view, VIDEO_ORIENTATION rotation) override
Definition: video_node_i.h:215
VIDEO_CODEC_TYPE codec
Definition: video_node_i.h:292
virtual int addViewEx(uintptr_t handle, const ViewOption &option)
Definition: video_node_i.h:188
Definition: video_node_i.h:116
int setRenderMode(void *view, media::base::RENDER_MODE_TYPE renderMode) override
Definition: video_node_i.h:203
Rectangle cropArea
Definition: video_node_i.h:160
Definition: video_node_i.h:284
virtual void NotifySrDelay(int sr_delay_ms)=0
virtual void setCameraSkipControl(int skip_control)=0
virtual int setRotation(agora::rtc::VIDEO_ORIENTATION rotation)=0
unsigned int uid_t
Definition: AgoraMediaBase.h:29
virtual void SetVideoQoEPusher(std::weak_ptr< agora::rtc::VideoStatsEventsPusher > pusher)
Definition: video_node_i.h:244
~IObservableVideoSink()
Definition: video_node_i.h:273
int height
Definition: video_node_i.h:288
@ CAMERA_OUTPUT_TEXTURE
Definition: video_node_i.h:112
virtual void switchCameraId(const char *cameraId)=0
virtual void setOutputRotation(webrtc::VideoRotation rotation)
Definition: video_node_i.h:101
uint32_t backgroundColor
Definition: video_node_i.h:163
virtual void onFrame(const std::string &uid, const webrtc::VideoFrame &frame)=0
Definition: video_node_i.h:30
virtual int setMirror(bool mirror)=0
static const char *const BUILT_IN_ADAPTER
Definition: video_node_i.h:52
virtual void setCameraSelectedLevel(int camera_selected_level)=0
Definition: NGIAgoraMediaNode.h:170
VIDEO_STREAM_TYPE streamType
Definition: video_node_i.h:293
virtual void setOutputFormat(const VideoFormat &format, bool fixed=false)=0
virtual void setVideoFrameObserver(agora::media::IVideoFrameObserver *observer)
Definition: video_node_i.h:270
Definition: video_node_i.h:26
virtual void stopMixing()=0
virtual int setMirrorEx(uintptr_t handle, bool mirror)
Definition: video_node_i.h:228
virtual void setMirror(bool mirror)
Definition: video_node_i.h:104
virtual void setCameraPqFirst(bool pq_first)=0
int width
Definition: video_node_i.h:287