Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
NGIAgoraExtensionProvider.h
1//
2// Agora SDK
3//
4// Copyright (c) 2021 Agora.io. All rights reserved.
5//
6
7#pragma once
8
9#include "AgoraRefPtr.h"
10#include "AgoraExtensions.h"
11#include "AgoraExtensionVersion.h"
12
13namespace agora {
14namespace rtc {
16
34
36 public:
49 /*
50 * Used to modify locally captured audio data to play, such as ear monitoring.
51 */
53 /*
54 * Used to modify audio data after the local APM (3A).
55 */
57 /*
58 * Used to modify received and decoded remote user audio data.
59 */
61 /*
62 * note: It is used internally by agora and does not support users other than agora.
63 *
64 * Used to modify the audio data of the sender's PCM source to take effect for sending and local playback.
65 */
67 /*
68 * note: It is used internally by agora and does not support users other than agora.
69 *
70 * Used to Modifying the audio data of the sender's PCM source is only effect for the sending.
71 */
73 /*
74 * note: It is used internally by agora and does not support users other than agora.
75 *
76 * Used to Modifying the audio data of the sender's PCM source is only effect for the local playback.
77 */
79 /*
80 * note: It is used internally by agora and does not support users other than agora.
81 *
82 * Used to modify local playback audio data after the remote audio mixed.
83 */
85 /*
86 * Used to modify video data betweent capturer and post-capture observer
87 */
89 /*
90 * Used to modify video data betweent post-capture observer and preview
91 */
93 /*
94 * Used to modify video data betweent adapter and encoder
95 */
97 /*
98 * Used to encode video data
99 */
101 /*
102 * Used to decode video encoded image
103 */
105 UNKNOWN = 0xFFFF,
106 };
107
112
113 virtual void setExtensionControl(IExtensionControl* control) {}
114
115 virtual void enumerateExtensions(ExtensionMetaInfo* extension_list,
116 int& extension_count) {
117 (void) extension_list;
118 extension_count = 0;
119 }
120
122 return NULL;
123 }
124
126 return NULL;
127 }
128
130 return NULL;
131 }
132
133 virtual void setProperty(const char* key, const char* value) {}
134
135 protected:
137};
138
140 public:
141 virtual void getExtensionVersion(const char* extension_name, ExtensionVersion& version) = 0;
142};
143
153
155 public:
157 return NULL;
158 }
159};
160
162 public:
164 return NULL;
165 }
166};
167
168} // namespace rtc
169} // namespace agora
Definition AgoraRefPtr.h:31
Definition AgoraRefPtr.h:44
Definition NGIAgoraExtensionControl.h:22
Definition NGIAgoraExtensionProvider.h:35
EXTENSION_TYPE
Definition NGIAgoraExtensionProvider.h:37
@ VIDEO_POST_CAPTURE_FILTER
Definition NGIAgoraExtensionProvider.h:88
@ VIDEO_PRE_ENCODER_FILTER
Definition NGIAgoraExtensionProvider.h:96
@ VIDEO_POST_PROCESSING_FILTER
Definition NGIAgoraExtensionProvider.h:46
@ UNKNOWN
Definition NGIAgoraExtensionProvider.h:105
@ AUDIO_POST_PROCESSING_FILTER
Definition NGIAgoraExtensionProvider.h:56
@ AUDIO_RECORDING_LOCAL_PLAYBACK_FILTER
Definition NGIAgoraExtensionProvider.h:52
@ VIDEO_PRE_PROCESSING_FILTER
Definition NGIAgoraExtensionProvider.h:45
@ AUDIO_PCM_SOURCE_FILTER
Definition NGIAgoraExtensionProvider.h:66
@ AUDIO_PCM_SOURCE_SENDING_FILTER
Definition NGIAgoraExtensionProvider.h:72
@ VIDEO_ENCODER
Definition NGIAgoraExtensionProvider.h:100
@ VIDEO_DECODER
Definition NGIAgoraExtensionProvider.h:104
@ VIDEO_SINK
Definition NGIAgoraExtensionProvider.h:48
@ AUDIO_REMOTE_USER_PLAYBACK_FILTER
Definition NGIAgoraExtensionProvider.h:60
@ AUDIO_FILTER
Definition NGIAgoraExtensionProvider.h:41
@ AUDIO_REMOTE_MIXED_PLAYBACK_FILTER
Definition NGIAgoraExtensionProvider.h:84
@ AUDIO_PCM_SOURCE_LOCAL_PLAYBACK_FILTER
Definition NGIAgoraExtensionProvider.h:78
@ AUDIO_SINK
Definition NGIAgoraExtensionProvider.h:47
@ VIDEO_PRE_PREVIEW_FILTER
Definition NGIAgoraExtensionProvider.h:92
virtual agora_refptr< IExtensionVideoSink > createVideoSink(const char *name)
Definition NGIAgoraExtensionProvider.h:129
virtual ~IExtensionProvider()
Definition NGIAgoraExtensionProvider.h:136
virtual void setProperty(const char *key, const char *value)
Definition NGIAgoraExtensionProvider.h:133
virtual void enumerateExtensions(ExtensionMetaInfo *extension_list, int &extension_count)
Definition NGIAgoraExtensionProvider.h:115
virtual agora_refptr< IExtensionVideoFilter > createVideoFilter(const char *name)
Definition NGIAgoraExtensionProvider.h:125
virtual void setExtensionControl(IExtensionControl *control)
Definition NGIAgoraExtensionProvider.h:113
virtual agora_refptr< IAudioFilter > createAudioFilter(const char *name)
Definition NGIAgoraExtensionProvider.h:121
Definition NGIAgoraExtensionProvider.h:139
virtual void getExtensionVersion(const char *extension_name, ExtensionVersion &version)=0
Definition NGIAgoraExtensionProvider.h:144
ExtensionVideoCodecInfo video_codec_info
Definition NGIAgoraExtensionProvider.h:151
Definition NGIAgoraExtensionProvider.h:161
virtual agora_refptr< IExtensionVideoDecoder > createVideoDecoder(const char *name)
Definition NGIAgoraExtensionProvider.h:163
Definition NGIAgoraExtensionProvider.h:154
virtual agora_refptr< IExtensionVideoEncoder > createVideoEncoder(const char *name)
Definition NGIAgoraExtensionProvider.h:156
Definition AgoraExtensions.h:5
VIDEO_CODEC_TYPE
Definition AgoraBase.h:1209
Definition AgoraAtomicOps.h:21
Definition AgoraExtensionVersion.h:14
Definition NGIAgoraExtensionProvider.h:108
const char * extension_name
Definition NGIAgoraExtensionProvider.h:110
EXTENSION_TYPE type
Definition NGIAgoraExtensionProvider.h:109
VIDEO_CODEC_TYPE codec_type
Definition NGIAgoraExtensionProvider.h:147
bool is_hw_accelerated
Definition NGIAgoraExtensionProvider.h:148