Agora C++ API Reference for All Platforms
NGIAgoraMediaNodeFactory.h
1 //
2 // Agora SDK
3 //
4 // Copyright (c) 2019 Agora.io. All rights reserved.
5 //
6 
7 #pragma once // NOLINT(build/header_guard)
8 
9 #include "AgoraBase.h"
10 
11 namespace agora {
12 namespace rtc {
13 
14 class IAudioPcmDataSender;
15 class IAudioEncodedFrameSender;
16 class IRemoteAudioMixerSource;
17 class ICameraCapturer;
18 class IScreenCapturer;
19 class IVideoMixerSource;
20 class IVideoFrameTransceiver;
21 class IVideoFrameSender;
22 class IVideoRenderer;
23 class IVideoFilter;
24 class IAudioFilter;
25 class IVideoSinkBase;
26 class IVideoEncodedImageSender;
27 class IMediaPlayerSource;
28 class IMediaPacketSender;
29 class IMediaStreamingSource;
30 class IScreenCapturer2;
31 
32 
37  public:
48 
59 
70 
82 
94 
106 
118 
130 
141 
152 
165  virtual agora_refptr<IAudioFilter> createAudioFilter(const char* provider_name, const char* extension_name) = 0;
166 
179  virtual agora_refptr<IVideoFilter> createVideoFilter(const char* provider_name, const char* extension_name) = 0;
180 
193  virtual agora_refptr<IVideoSinkBase> createVideoSink(const char* provider_name, const char* extension_name) = 0;
194 
206 
218 
228 
229 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
230 
238  virtual agora_refptr<IScreenCapturer2> createScreenCapturer2(const char* provider_name, const char* extension_name) = 0;
239 #else
240 
248  virtual agora_refptr<IScreenCapturer> createScreenCapturer(const char* provider_name, const char* extension_name) = 0;
249 #endif
250 
251  protected:
253 };
254 
255 } // namespace rtc
256 } // namespace agora
agora::rtc::IMediaNodeFactory::createMediaPlayerSource
virtual agora_refptr< IMediaPlayerSource > createMediaPlayerSource(media::base::MEDIA_PLAYER_SOURCE_TYPE type=agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT)=0
agora::rtc::IMediaNodeFactory::createScreenCapturer
virtual agora_refptr< IScreenCapturer > createScreenCapturer()=0
agora::rtc::IMediaNodeFactory::createRemoteAudioMixerSource
virtual agora_refptr< IRemoteAudioMixerSource > createRemoteAudioMixerSource()=0
agora::media::base::MEDIA_PLAYER_SOURCE_TYPE
MEDIA_PLAYER_SOURCE_TYPE
Definition: AgoraMediaBase.h:759
agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT
@ MEDIA_PLAYER_SOURCE_DEFAULT
Definition: AgoraMediaBase.h:765
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IMediaNodeFactory::createAudioFilter
virtual agora_refptr< IAudioFilter > createAudioFilter(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaNodeFactory::createVideoSink
virtual agora_refptr< IVideoSinkBase > createVideoSink(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaNodeFactory::createVideoRenderer
virtual agora_refptr< IVideoRenderer > createVideoRenderer()=0
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IMediaNodeFactory::createVideoFrameSender
virtual agora_refptr< IVideoFrameSender > createVideoFrameSender()=0
agora::rtc::IMediaNodeFactory
Definition: NGIAgoraMediaNodeFactory.h:36
agora::rtc::IMediaNodeFactory::createMediaPacketSender
virtual agora_refptr< IMediaPacketSender > createMediaPacketSender()=0
agora::rtc::IMediaNodeFactory::createAudioPcmDataSender
virtual agora_refptr< IAudioPcmDataSender > createAudioPcmDataSender()=0
agora::rtc::IMediaNodeFactory::createVideoFrameTransceiver
virtual agora_refptr< IVideoFrameTransceiver > createVideoFrameTransceiver()=0
agora::rtc::IMediaNodeFactory::createCameraCapturer
virtual agora_refptr< ICameraCapturer > createCameraCapturer()=0
agora::rtc::IMediaNodeFactory::createVideoEncodedImageSender
virtual agora_refptr< IVideoEncodedImageSender > createVideoEncodedImageSender()=0
agora::rtc::IMediaNodeFactory::createVideoMixer
virtual agora_refptr< IVideoMixerSource > createVideoMixer()=0
agora::rtc::IMediaNodeFactory::createVideoFilter
virtual agora_refptr< IVideoFilter > createVideoFilter(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaNodeFactory::~IMediaNodeFactory
~IMediaNodeFactory()
Definition: NGIAgoraMediaNodeFactory.h:252
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::IMediaNodeFactory::createScreenCapturer2
virtual agora_refptr< IScreenCapturer2 > createScreenCapturer2(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaNodeFactory::createMediaStreamingSource
virtual agora_refptr< IMediaStreamingSource > createMediaStreamingSource()=0
Creates a media streaming source object and returns the pointer.
agora::rtc::IMediaNodeFactory::createAudioEncodedFrameSender
virtual agora_refptr< IAudioEncodedFrameSender > createAudioEncodedFrameSender()=0
rtc
Definition: video_node_i.h:25
agora::rtc::IMediaNodeFactory::createScreenCapturer
virtual agora_refptr< IScreenCapturer > createScreenCapturer(const char *provider_name, const char *extension_name)=0