Agora C++ API Reference for All Platforms

Loading...
Searching...
No Matches
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#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
37 class IMediaNodeFactory : public RefCountInterface {
38 public:
50 virtual agora_refptr<IAudioPcmDataSender> createAudioPcmDataSender() = 0;
51
63 virtual agora_refptr<IAudioEncodedFrameSender> createAudioEncodedFrameSender() = 0;
64
75 virtual agora_refptr<ICameraCapturer> createCameraCapturer() = 0;
76
77#if !defined(__ANDROID__) && !(defined(__APPLE__) && TARGET_OS_IPHONE) && !defined(__OHOS__)
88 virtual agora_refptr<IScreenCapturer> createScreenCapturer() = 0;
89#endif
90
101 virtual agora_refptr<IVideoMixerSource> createVideoMixer() = 0;
102
113 virtual agora_refptr<IVideoFrameTransceiver> createVideoFrameTransceiver() = 0;
114
126 virtual agora_refptr<IVideoFrameSender> createVideoFrameSender() = 0;
127
139 virtual agora_refptr<IVideoEncodedImageSender> createVideoEncodedImageSender() = 0;
140
150 virtual agora_refptr<IVideoRenderer> createVideoRenderer() = 0;
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
207 virtual agora_refptr<IMediaPlayerSource> createMediaPlayerSource(
208 media::base::MEDIA_PLAYER_SOURCE_TYPE type =
209 agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT) = 0;
210
221 virtual agora_refptr<IMediaStreamingSource> createMediaStreamingSource() = 0;
222
231 virtual agora_refptr<IMediaPacketSender> createMediaPacketSender() = 0;
232
233 virtual agora_refptr<IMediaRecorder2> createMediaRecorder() = 0;
234
235#if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
244 virtual agora_refptr<IScreenCapturer2> createScreenCapturer2(const char* provider_name,
245 const char* extension_name) = 0;
246#else
255 virtual agora_refptr<IScreenCapturer> createScreenCapturer(const char* provider_name,
256 const char* extension_name) = 0;
257#endif
258
259 protected:
260 ~IMediaNodeFactory() {}
261};
262
263} // namespace rtc
264} // namespace agora
agora::RefCountInterface
Definition AgoraRefPtr.h:31
agora::agora_refptr
Definition AgoraRefPtr.h:44
agora::rtc::IAudioEncodedFrameSender
Definition NGIAgoraMediaNode.h:277
agora::rtc::IAudioFilter
Definition AgoraExtensions.h:12
agora::rtc::IAudioPcmDataSender
Definition NGIAgoraMediaNode.h:244
agora::rtc::ICameraCapturer
Definition NGIAgoraCameraCapturer.h:20
agora::rtc::IMediaNodeFactory
Definition NGIAgoraMediaNodeFactory.h:37
agora::rtc::IMediaNodeFactory::createMediaStreamingSource
virtual agora_refptr< IMediaStreamingSource > createMediaStreamingSource()=0
Creates a media streaming source object and returns the pointer.
agora::rtc::IMediaNodeFactory::createCameraCapturer
virtual agora_refptr< ICameraCapturer > createCameraCapturer()=0
agora::rtc::IMediaNodeFactory::createAudioEncodedFrameSender
virtual agora_refptr< IAudioEncodedFrameSender > createAudioEncodedFrameSender()=0
agora::rtc::IMediaNodeFactory::createVideoFrameTransceiver
virtual agora_refptr< IVideoFrameTransceiver > createVideoFrameTransceiver()=0
agora::rtc::IMediaNodeFactory::createMediaRecorder
virtual agora_refptr< IMediaRecorder2 > createMediaRecorder()=0
agora::rtc::IMediaNodeFactory::createVideoFilter
virtual agora_refptr< IVideoFilter > createVideoFilter(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaNodeFactory::createAudioPcmDataSender
virtual agora_refptr< IAudioPcmDataSender > createAudioPcmDataSender()=0
agora::rtc::IMediaNodeFactory::createAudioFilter
virtual agora_refptr< IAudioFilter > createAudioFilter(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaNodeFactory::createVideoMixer
virtual agora_refptr< IVideoMixerSource > createVideoMixer()=0
agora::rtc::IMediaNodeFactory::createScreenCapturer
virtual agora_refptr< IScreenCapturer > createScreenCapturer()=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
agora::rtc::IMediaNodeFactory::createScreenCapturer
virtual agora_refptr< IScreenCapturer > createScreenCapturer(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::createVideoEncodedImageSender
virtual agora_refptr< IVideoEncodedImageSender > createVideoEncodedImageSender()=0
agora::rtc::IMediaNodeFactory::createVideoFrameSender
virtual agora_refptr< IVideoFrameSender > createVideoFrameSender()=0
agora::rtc::IMediaNodeFactory::createVideoRenderer
virtual agora_refptr< IVideoRenderer > createVideoRenderer()=0
agora::rtc::IMediaNodeFactory::createMediaPacketSender
virtual agora_refptr< IMediaPacketSender > createMediaPacketSender()=0
agora::rtc::IMediaNodeFactory::createScreenCapturer2
virtual agora_refptr< IScreenCapturer2 > createScreenCapturer2(const char *provider_name, const char *extension_name)=0
agora::rtc::IMediaNodeFactory::~IMediaNodeFactory
~IMediaNodeFactory()
Definition NGIAgoraMediaNodeFactory.h:260
agora::rtc::IMediaPacketSender
Definition NGIAgoraMediaNode.h:361
agora::rtc::IMediaPlayerSource
Definition IAgoraMediaPlayerSource.h:22
agora::rtc::IMediaRecorder2
Definition IAgoraMediaRecorder2.h:19
agora::rtc::IMediaStreamingSource
The IMediaStreamingSource class provides access to a media streaming source demuxer....
Definition IAgoraMediaStreamingSource.h:97
agora::rtc::IRemoteAudioMixerSource
Definition NGIAgoraRemoteAudioMixerSource.h:22
agora::rtc::IScreenCapturer2
Definition NGIAgoraScreenCapturer.h:146
agora::rtc::IScreenCapturer
Definition NGIAgoraScreenCapturer.h:19
agora::rtc::IVideoEncodedImageSender
Definition NGIAgoraMediaNode.h:470
agora::rtc::IVideoFilter
Definition NGIAgoraMediaNode.h:94
agora::rtc::IVideoFrameSender
Definition NGIAgoraMediaNode.h:446
agora::rtc::IVideoFrameTransceiver
Definition NGIAgoraMediaNode.h:648
agora::rtc::IVideoMixerSource
Definition NGIAgoraVideoMixerSource.h:46
agora::rtc::IVideoRenderer
Definition NGIAgoraMediaNode.h:569
agora::rtc::IVideoSinkBase
Definition NGIAgoraMediaNode.h:167
agora::media::base::MEDIA_PLAYER_SOURCE_TYPE
MEDIA_PLAYER_SOURCE_TYPE
Definition AgoraMediaBase.h:1216
agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT
@ MEDIA_PLAYER_SOURCE_DEFAULT
Definition AgoraMediaBase.h:1222
agora::rtc
Definition AgoraExtensions.h:5
agora
Definition AgoraAtomicOps.h:21