Zoom Rooms Controller SDK Reference 6.5.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{
74 uint32_t maxRows = 0;
75 uint32_t maxColumns = 0;
76};
77
81{
83 int32_t sourceID = 0;
85 int32_t sourceTypeIndex = 0;
86 int32_t shareSourceID = 0;
88};
89
93{
95 int32_t index = 0;
96};
97
101{
102 bool ndiEnabled = false;
103 int32_t supportedCount = 0;
104 std::vector<NDIPinnedSource> sources;
105 int32_t galleryPageCount = -1;
106};
107
111{
112public:
113 virtual ~INDIHelperSink() {}
114
123 virtual void OnNDIUsageSettingsNotification(const NDIUsageSettings& settings) = 0;
124
133 virtual void OnNDIUsageNotification(const NDIUsageInfo& ndiUsageInfo) = 0;
134
143 virtual void OnNDIAvailableSourcesNotification(const std::vector<NDISource>& sources) = 0;
144
153 virtual void OnNDIDeviceListNotification(const std::vector<Device>& devices) = 0;
154
166 virtual void OnPersistentNDISourcesNotification(const std::vector<NDIPinnedSource>& sources) = 0;
167};
168
172{
173public:
174 virtual ~INDIHelper() {}
175
187
199
211
223
234 virtual ZRCSDKError SetNDIEnableInPreMeeting(bool enable) = 0;
235
246 virtual ZRCSDKError SetNDIOutputCount(int32_t outputCount) = 0;
247
258 virtual ZRCSDKError GetAvailableNDISources(std::vector<NDISource>& sources) = 0;
259
270 virtual ZRCSDKError GetNDIPinnedSources(std::vector<NDIPinnedSource>& sources) = 0;
271
286 virtual ZRCSDKError PinNDI(const NDISource& source, int32_t index) = 0;
287
299 virtual ZRCSDKError UnpinNDI(const NDISource& source, int32_t index) = 0;
300
311 virtual ZRCSDKError GetNDIDeviceList(std::vector<Device>& devices) = 0;
312
328 virtual ZRCSDKError AddPersistentNDISource(const NDISource& source, int32_t index) = 0;
329
340 virtual ZRCSDKError RemovePersistentNDISource(int32_t index) = 0;
341
352};
353
355
356#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:172
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:174
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:111
virtual ~INDIHelperSink()
Definition INDIHelper.h:113
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:93
NDISource source
NDI source.
Definition INDIHelper.h:94
int32_t index
The index where the source is pinned, index values start from 1.
Definition INDIHelper.h:95
NDI source The NDISource supports both non-persistent and persistent assignments.
Definition INDIHelper.h:81
int32_t sourceTypeIndex
Valid for type is Share(only persistently pinned), PinGroup or Gallery.
Definition INDIHelper.h:85
NDISourceType type
NDI source type, such as NDISourceType enum.
Definition INDIHelper.h:82
ConfInstType fromType
Where does the NDI source come from, such as ConfInstType enum.
Definition INDIHelper.h:84
int32_t sourceID
NDI source ID. Valid for type is NDISourceTypeShare, the sourceID is the userID that the NDI source b...
Definition INDIHelper.h:83
NDIGalleryGridSize gridSize
Valid for type is NDISourceTypeGallery.
Definition INDIHelper.h:87
int32_t shareSourceID
Valid for type is NDISourceTypeShare.
Definition INDIHelper.h:86
NDI usage info.
Definition INDIHelper.h:101
int32_t galleryPageCount
The number of gallery pages.
Definition INDIHelper.h:105
int32_t supportedCount
The max number of pinned sources at the same time.
Definition INDIHelper.h:103
std::vector< NDIPinnedSource > sources
The non-persistent pinned sources in meeting.
Definition INDIHelper.h:104
bool ndiEnabled
True indicates the NDI is enabled and self is host or cohost. Otherwise not.
Definition INDIHelper.h:102
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