Agora RTC Objective-C API Reference  Refactor
NGIAgoraMediaNodeFactory.h
Go to the documentation of this file.
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 #include <api/cpp/aosl_ares_class.h>
11 
12 namespace agora {
13 namespace rtc {
14 
15 class IAudioPcmDataSender;
16 class IAudioEncodedFrameSender;
17 class IRemoteAudioMixerSource;
18 class ICameraCapturer;
19 class IScreenCapturer;
20 class IVideoMixerSource;
21 class IVideoFrameTransceiver;
22 class IVideoFrameSender;
23 class IVideoRenderer;
24 class IVideoFilter;
25 class IAudioFilter;
26 class IVideoSinkBase;
27 class IVideoEncodedImageSender;
28 class IMediaPlayerSource;
29 class IMediaPacketSender;
30 class IMediaStreamingSource;
31 class IScreenCapturer2;
32 class IMediaRecorder2;
33 
38  public:
51 
64 
76 
77 #if !defined(__ANDROID__) && !(defined(__APPLE__) && TARGET_OS_IPHONE)
78 
89 #endif
90 
102 
114 
127 
140 
151 
164  virtual agora_refptr<IAudioFilter> createAudioFilter(const char* provider_name,
165  const char* extension_name) = 0;
166 
179  virtual agora_refptr<IVideoFilter> createVideoFilter(const char* provider_name,
180  const char* extension_name) = 0;
181 
194  virtual agora_refptr<IVideoSinkBase> createVideoSink(const char* provider_name,
195  const char* extension_name) = 0;
196 
210 
222 
232 
234 
235 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
236 
244  virtual agora_refptr<IScreenCapturer2> createScreenCapturer2(const char* provider_name,
245  const char* extension_name) = 0;
246 #else
247 
255  virtual agora_refptr<IScreenCapturer> createScreenCapturer(const char* provider_name,
256  const char* extension_name) = 0;
257 #endif
258 
259  protected:
261 };
262 
263 } // namespace rtc
264 } // namespace agora
AgoraBase.h
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IMediaNodeFactory::createVideoFilter
virtual agora_refptr< IVideoFilter > createVideoFilter(const char *provider_name, const char *extension_name)=0
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IMediaNodeFactory::createVideoEncodedImageSender
virtual agora_refptr< IVideoEncodedImageSender > createVideoEncodedImageSender()=0
agora::rtc::IMediaNodeFactory::createVideoFrameTransceiver
virtual agora_refptr< IVideoFrameTransceiver > createVideoFrameTransceiver()=0
agora::rtc::IMediaNodeFactory::createCameraCapturer
virtual agora_refptr< ICameraCapturer > createCameraCapturer()=0
agora::rtc::IMediaNodeFactory
Definition: NGIAgoraMediaNodeFactory.h:37
agora::rtc::IMediaNodeFactory::createAudioFilter
virtual agora_refptr< IAudioFilter > createAudioFilter(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::createScreenCapturer
virtual agora_refptr< IScreenCapturer > createScreenCapturer()=0
agora::rtc::IMediaNodeFactory::createMediaPacketSender
virtual agora_refptr< IMediaPacketSender > createMediaPacketSender()=0
agora::rtc::IMediaNodeFactory::~IMediaNodeFactory
~IMediaNodeFactory()
Definition: NGIAgoraMediaNodeFactory.h:260
agora::rtc::IMediaNodeFactory::createMediaRecorder
virtual agora_refptr< IMediaRecorder2 > createMediaRecorder()=0
agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT
@ MEDIA_PLAYER_SOURCE_DEFAULT
Definition: AgoraMediaBase.h:1188
agora::rtc::IMediaNodeFactory::createAudioPcmDataSender
virtual agora_refptr< IAudioPcmDataSender > createAudioPcmDataSender()=0
agora::rtc::IMediaNodeFactory::createVideoRenderer
virtual agora_refptr< IVideoRenderer > createVideoRenderer()=0
agora::rtc::IMediaNodeFactory::createVideoSink
virtual agora_refptr< IVideoSinkBase > createVideoSink(const char *provider_name, const char *extension_name)=0
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::media::base::MEDIA_PLAYER_SOURCE_TYPE
MEDIA_PLAYER_SOURCE_TYPE
Definition: AgoraMediaBase.h:1182
agora::rtc::IMediaNodeFactory::createScreenCapturer2
virtual agora_refptr< IScreenCapturer2 > createScreenCapturer2(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaNodeFactory::createVideoMixer
virtual agora_refptr< IVideoMixerSource > createVideoMixer()=0
agora::rtc::IMediaNodeFactory::createVideoFrameSender
virtual agora_refptr< IVideoFrameSender > createVideoFrameSender()=0
agora::rtc::IMediaNodeFactory::createAudioEncodedFrameSender
virtual agora_refptr< IAudioEncodedFrameSender > createAudioEncodedFrameSender()=0
agora::rtc::IMediaNodeFactory::createMediaPlayerSource
virtual agora_refptr< IMediaPlayerSource > createMediaPlayerSource(media::base::MEDIA_PLAYER_SOURCE_TYPE type=agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT)=0