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
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
36 class IMediaNodeFactory : public RefCountInterface {
37 public:
47 virtual agora_refptr<IAudioPcmDataSender> createAudioPcmDataSender() = 0;
48
58 virtual agora_refptr<IAudioEncodedFrameSender> createAudioEncodedFrameSender() = 0;
59
69 virtual agora_refptr<IRemoteAudioMixerSource> createRemoteAudioMixerSource() = 0;
70
81 virtual agora_refptr<ICameraCapturer> createCameraCapturer() = 0;
82
93 virtual agora_refptr<IScreenCapturer> createScreenCapturer() = 0;
94
105 virtual agora_refptr<IVideoMixerSource> createVideoMixer() = 0;
106
117 virtual agora_refptr<IVideoFrameTransceiver> createVideoFrameTransceiver() = 0;
118
129 virtual agora_refptr<IVideoFrameSender> createVideoFrameSender() = 0;
130
140 virtual agora_refptr<IVideoEncodedImageSender> createVideoEncodedImageSender() = 0;
141
151 virtual agora_refptr<IVideoRenderer> createVideoRenderer() = 0;
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
205 virtual agora_refptr<IMediaPlayerSource> createMediaPlayerSource(media::base::MEDIA_PLAYER_SOURCE_TYPE type = agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT) = 0;
206
217 virtual agora_refptr<IMediaStreamingSource> createMediaStreamingSource() = 0;
218
227 virtual agora_refptr<IMediaPacketSender> createMediaPacketSender() = 0;
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:
252 ~IMediaNodeFactory() {}
253 };
254
255 } // namespace rtc
256 } // 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::createRemoteAudioMixerSource
virtual agora_refptr< IRemoteAudioMixerSource > createRemoteAudioMixerSource()=0
agora::rtc::IMediaNodeFactory::createCameraCapturer
virtual agora_refptr< ICameraCapturer > createCameraCapturer()=0
agora::rtc::IMediaNodeFactory
Definition: NGIAgoraMediaNodeFactory.h:36
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:252
agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT
@ MEDIA_PLAYER_SOURCE_DEFAULT
Definition: AgoraMediaBase.h:969
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:963
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