Zoom Rooms Controller SDK Reference 6.6.0
Loading...
Searching...
No Matches
INDIHelper.h
Go to the documentation of this file.
1
6#ifndef ZRC_INDIHELPER_H
7#define ZRC_INDIHELPER_H
8
9#include "ZRCSDKTypes.h"
10
12
18{
23};
24
30{
38};
39
45{
53};
54
58{
60 bool isPersistentNDILocked = false;
64 std::vector<NDIResolution> supportedResolutionList;
65 std::vector<NDIFrameRate> supportedFrameRateList;
66 int32_t outputCount = 12;
67 int32_t maxOutputCount = 12;
68};
69
73{
75 int32_t sourceID = 0;
77 int32_t sourceTypeIndex = 0;
78 int32_t shareSourceID = 0;
80};
81
85{
87 int32_t index = 0;
88};
89
93{
94 bool ndiEnabled = false;
95 int32_t supportedCount = 0;
96 std::vector<NDIPinnedSource> sources;
97 int32_t galleryPageCount = -1;
98};
99
103{
104public:
105 virtual ~INDIHelperSink() {}
106
115 virtual void OnNDIUsageSettingsNotification(const NDIUsageSettings& settings) = 0;
116
125 virtual void OnNDIUsageNotification(const NDIUsageInfo& ndiUsageInfo) = 0;
126
135 virtual void OnNDIAvailableSourcesNotification(const std::vector<NDISource>& sources) = 0;
136
145 virtual void OnNDIDeviceListNotification(const std::vector<Device>& devices) = 0;
146
158 virtual void OnPersistentNDISourcesNotification(const std::vector<NDIPinnedSource>& sources) = 0;
159};
160
164{
165public:
166 virtual ~INDIHelper() {}
167
179
191
203
215
226 virtual ZRCSDKError SetNDIEnableInPreMeeting(bool enable) = 0;
227
238 virtual ZRCSDKError SetNDIOutputCount(int32_t outputCount) = 0;
239
250 virtual ZRCSDKError GetAvailableNDISources(std::vector<NDISource>& sources) = 0;
251
262 virtual ZRCSDKError GetNDIPinnedSources(std::vector<NDIPinnedSource>& sources) = 0;
263
278 virtual ZRCSDKError PinNDI(const NDISource& source, int32_t index) = 0;
279
291 virtual ZRCSDKError UnpinNDI(const NDISource& source, int32_t index) = 0;
292
303 virtual ZRCSDKError GetNDIDeviceList(std::vector<Device>& devices) = 0;
304
320 virtual ZRCSDKError AddPersistentNDISource(const NDISource& source, int32_t index) = 0;
321
332 virtual ZRCSDKError RemovePersistentNDISource(int32_t index) = 0;
333
344};
345
347
348#endif /* ZRC_INDIHELPER_H */
NDIFrameRate
NDI output's frame rate. Here are more detailed structural descriptions.
Definition INDIHelper.h:30
@ NDIFrameRateUnknown
NDI output's frame rate is unknown.
Definition INDIHelper.h:31
@ NDIFrameRate59_94fps
NDI output's frame rate is 50_94fps.
Definition INDIHelper.h:36
@ NDIFrameRate29_97fps
NDI output's frame rate is 29_97fps.
Definition INDIHelper.h:33
@ NDIFrameRate25fps
NDI output's frame rate is 25fps.
Definition INDIHelper.h:32
@ NDIFrameRate60fps
NDI output's frame rate is 60fps.
Definition INDIHelper.h:37
@ NDIFrameRate30fps
NDI output's frame rate is 30fps.
Definition INDIHelper.h:34
@ NDIFrameRate50fps
NDI output's frame rate is 50fps.
Definition INDIHelper.h:35
NDISourceType
The NDI source type supports both non-persistent and persistent assignments. Here are more detailed s...
Definition INDIHelper.h:45
@ NDISourceTypeShare
NDI source type is share.
Definition INDIHelper.h:49
@ NDISourceTypeUser
NDI source type is user.
Definition INDIHelper.h:48
@ NDISourceTypeNone
NDI source type is none.
Definition INDIHelper.h:46
@ NDISourceTypeSpotlightGroup
NDI source type is spotlight group.
Definition INDIHelper.h:51
@ NDISourceTypePinGroup
NDI source type is pin group.
Definition INDIHelper.h:50
@ NDISourceTypeActiveSpeaker
NDI source type is active speaker.
Definition INDIHelper.h:47
@ NDISourceTypeGallery
NDI source type is gallery.
Definition INDIHelper.h:52
NDIResolution
NDI output's resolution. Here are more detailed structural descriptions.
Definition INDIHelper.h:18
@ NDIResolution360p
NDI output's resolution is 360p.
Definition INDIHelper.h:20
@ NDIResolution720p
NDI output's resolution is 720p.
Definition INDIHelper.h:21
@ NDIResolutionUnknown
NDI output's resolution is unknown.
Definition INDIHelper.h:19
@ NDIResolution1080p
NDI output's resolution is 1080p.
Definition INDIHelper.h:22
#define NS_ZRCSDK_END
#define NS_ZRCSDK_BEG
ZRC SDK Types.
ConfInstType
Conf inst type where source data is from. Here are more detailed structural descriptions.
@ ConfInstTypeCurrentConf
Current conference.
ZRCSDKError
SDK error types. Here are more detailed structural descriptions.
Definition ZRCSDKTypes.h:22
NDI helper interface.
Definition INDIHelper.h:164
virtual ZRCSDKError SetNDIFrameRate(NDIFrameRate frameRate)=0
Set NDI output frame rate.
virtual ZRCSDKError GetNDIDeviceList(std::vector< Device > &devices)=0
Get NDI device list.
virtual ZRCSDKError DeregisterSink(INDIHelperSink *pSink)=0
Deregister meeting NDI callback sink.
virtual ~INDIHelper()
Definition INDIHelper.h:166
virtual ZRCSDKError SetNDIResolution(NDIResolution resolution)=0
Set NDI output resolution.
virtual ZRCSDKError GetAvailableNDISources(std::vector< NDISource > &sources)=0
Get available NDI sources.
virtual ZRCSDKError PinNDI(const NDISource &source, int32_t index)=0
Non-persistently pin NDI source in meeting.
virtual ZRCSDKError ListPersistentNDISources()=0
List persist NDI sources.
virtual ZRCSDKError AddPersistentNDISource(const NDISource &source, int32_t index)=0
Add persistent NDI source.
virtual ZRCSDKError RegisterSink(INDIHelperSink *pSink)=0
Register NDI helper callback sink.
virtual ZRCSDKError SetNDIEnableInPreMeeting(bool enable)=0
Set NDI enable in premeeting.
virtual ZRCSDKError GetNDIPinnedSources(std::vector< NDIPinnedSource > &sources)=0
Get NDI usage sources.
virtual ZRCSDKError SetNDIOutputCount(int32_t outputCount)=0
Set NDI output count.
virtual ZRCSDKError RemovePersistentNDISource(int32_t index)=0
Remove persistent NDI source.
virtual ZRCSDKError UnpinNDI(const NDISource &source, int32_t index)=0
Non-persistently unpin NDI usage source in meeting.
NDI helper event callback.
Definition INDIHelper.h:103
virtual ~INDIHelperSink()
Definition INDIHelper.h:105
virtual void OnPersistentNDISourcesNotification(const std::vector< NDIPinnedSource > &sources)=0
Persistent NDI source notification.
virtual void OnNDIUsageSettingsNotification(const NDIUsageSettings &settings)=0
NDI usage settings notification.
virtual void OnNDIUsageNotification(const NDIUsageInfo &ndiUsageInfo)=0
NDI usage info notification.
virtual void OnNDIAvailableSourcesNotification(const std::vector< NDISource > &sources)=0
NDI available source notification.
virtual void OnNDIDeviceListNotification(const std::vector< Device > &devices)=0
NDI devices notification.
NDI pinned source The NDIPinnedSource refers to the non-persistent or persistent pinned source.
Definition INDIHelper.h:85
NDISource source
NDI source.
Definition INDIHelper.h:86
int32_t index
The index where the source is pinned, index values start from 1.
Definition INDIHelper.h:87
NDI source The NDISource supports both non-persistent and persistent assignments.
Definition INDIHelper.h:73
GalleryGridSize gridSize
Valid for type is NDISourceTypeGallery.
Definition INDIHelper.h:79
int32_t sourceTypeIndex
Valid for type is Share(only persistently pinned), PinGroup or Gallery.
Definition INDIHelper.h:77
NDISourceType type
NDI source type, such as NDISourceType enum.
Definition INDIHelper.h:74
ConfInstType fromType
Where does the NDI source come from, such as ConfInstType enum.
Definition INDIHelper.h:76
int32_t sourceID
NDI source ID. Valid for type is NDISourceTypeShare, the sourceID is the userID that the NDI source b...
Definition INDIHelper.h:75
int32_t shareSourceID
Valid for type is NDISourceTypeShare.
Definition INDIHelper.h:78
NDI usage info.
Definition INDIHelper.h:93
int32_t galleryPageCount
The number of gallery pages.
Definition INDIHelper.h:97
int32_t supportedCount
The max number of pinned sources at the same time.
Definition INDIHelper.h:95
std::vector< NDIPinnedSource > sources
The non-persistent pinned sources in meeting.
Definition INDIHelper.h:96
bool ndiEnabled
True indicates the NDI is enabled and self is host or cohost. Otherwise not.
Definition INDIHelper.h:94
NDI usage settings.
Definition INDIHelper.h:58
int32_t outputCount
NDI output count.
Definition INDIHelper.h:66
std::vector< NDIResolution > supportedResolutionList
Supported NDI resolution list.
Definition INDIHelper.h:64
bool isPersistentNDILocked
TRUE indicates the NDI is locked. Otherwise not.
Definition INDIHelper.h:60
int32_t maxOutputCount
Max NDI output count.
Definition INDIHelper.h:67
bool isNDIEnabledForPreMeeting
TRUE indicates the NDI is enabled in premeeting. Otherwise not.
Definition INDIHelper.h:61
NDIFrameRate frameRate
NDI output's frame rate.
Definition INDIHelper.h:63
bool isPersistentNDIEnabled
TRUE indicates the NDI is enabled. Otherwise not.
Definition INDIHelper.h:59
NDIResolution resolution
NDI output's resolution.
Definition INDIHelper.h:62
std::vector< NDIFrameRate > supportedFrameRateList
Supported NDI frame rate list.
Definition INDIHelper.h:65