Zoom Rooms Controller SDK Reference 6.7.0
Loading...
Searching...
No Matches
IHWIOHelper.h
Go to the documentation of this file.
1
6#ifndef IHWIOHelper_h
7#define IHWIOHelper_h
8
9#include "ZRCSDKTypes.h"
10
12
18{
23};
24
30{
35};
36
42{
46};
47
53{
58};
59
65{
73};
74
80{
84};
85
91{
94};
95
101{
110
116{
120
126{
137
143{
149
155{
162
168{
174
180{
186};
187
193{
202
205
211{
216
217
221{
225};
226
230{
234};
235
239{
242};
243
247{
249 int32_t deviceID = 0;
250 int32_t channelID = -1;
252};
253
257{
259 std::string userGuid;
260 uint32_t virtualInputID = 0;
261 uint32_t testSignalFrameRGB = 0;
262 uint32_t screenShare = 0;
263 uint32_t pinGroupScreen = 0;
264 uint32_t galleryPage = 0;
266};
267
271{
273 std::string userGuid;
274 uint32_t virtualInputID = 0;
275};
276
280{
283};
284
288{
289 int32_t deviceID = 0;
290 int32_t channelID = -1;
292};
293
297{
298 std::string videoFormat;
299 bool videoFormatSupported = false;
300};
301
305{
306 uint32_t channelID = 0;
312 std::vector<HWIOVideoSettings> supportedInputVideoSettings;
313 std::vector<HWIOVideoSettings> supportedOutputVideoSettings;
314 std::vector<HWIOAudioSettings> supportedInputAudioSettings;
315 std::vector<HWIOAudioSettings> supportedOutputAudioSettings;
316 std::string name;
320};
321
325{
326 uint32_t deviceID = 0;
329 std::string name;
330 std::string internalIdentifier;
331 std::string driverVersion;
332 std::vector<HWIOChannelInfo> channelInfos;
335};
336
340{
341 std::vector<uint32_t> virtualVideoInputIDs;
342 std::vector<uint32_t> virtualAudioInputIDs;
343 std::vector<HWIODeviceInfo> deviceInfos;
344 bool isServiceAvailable = false;
345 bool isFeatureAllowed = false;
346};
347
351{
354 int32_t deviceID = 0;
355 int32_t channelID = -1;
358};
359
363{
364 int32_t deviceID = 0;
365 int32_t channelID = -1;
367};
368
372{
373 int32_t deviceID = 0;
374 bool enable = false;
375};
376
380{
381public:
382 virtual ~IHWIOHelperSink() {}
383
397 virtual void OnHWIOListDevicesResult(int32_t result, const HWIOInfo& info, const std::string& companionZRID) = 0;
398
412 virtual void OnHWIOConfigureDeviceResult(int32_t result, const HWIODeviceConfiguration& configuration, const std::string& companionZRID) = 0;
413
427 virtual void OnHWIOAssignDeviceResult(int32_t result, const HWIOAssignDeviceInfo& assignDeviceInfo, const std::string& companionZRID) = 0;
428
444 virtual void OnHWIODeviceUpdated(const HWIODeviceUpdate& deviceUpdate, const std::string& companionZRID) = 0;
445
460 virtual void OnHWIOServiceStatusUpdated(bool isServiceAvailable, bool isFeatureAllowed, const std::string& companionZRID) = 0;
461
475 virtual void OnHWIOSetVideoConvertPreferenceResult(int32_t result, const HWIOVideoConvertPreference& preference,
476 const std::string& companionZRID) = 0;
477
491 virtual void OnHWIOSetInputSignalDetectionResult(int32_t result, const HWIOInputSignalDetection& signalDetection,
492 const std::string& companionZRID) = 0;
493};
494
498{
499public:
500
501 virtual ~IHWIOHelper() {}
502
514
526
540 virtual ZRCSDKError ListHWIODevices(const std::string& companionZRID = "") = 0;
541
556 virtual ZRCSDKError ConfigureHWIODevice(const HWIODeviceConfiguration& configuration, const std::string& companionZRID = "") = 0;
557
572 virtual ZRCSDKError AssignHWIODevice(const HWIOAssignDeviceInfo& assignDevice, const std::string& companionZRID = "") = 0;
573
588 virtual ZRCSDKError IsHWIOServiceAvailable(bool& available, const std::string& companionZRID = "") = 0;
589
601 virtual ZRCSDKError IsHWIOFeatureAllowed(bool& allow) = 0;
602
617 virtual ZRCSDKError SetHWIOVideoConvertPreference(const HWIOVideoConvertPreference& preference, const std::string& companionZRID = "") = 0;
618
633 virtual ZRCSDKError SetHWIOInputSignalDetection(const HWIOInputSignalDetection& signalDetection, const std::string& companionZRID = "") = 0;
634};
635
637
638#endif /* ZRC_IHWIOHELPER_H */
HWIODeviceResult
HWIO device result Here are more detailed structural descriptions.
@ HWIODeviceResultOperationNotAllowed
Operation not allowed.
@ HWIODeviceResultSuccess
Success.
@ HWIODeviceResultInvalidDeviceID
Invalid device ID.
@ HWIODeviceResultDeviceInaccessible
Device inaccessible.
@ HWIODeviceResultServiceUnavailable
Service unavailable.
@ HWIODeviceResultInvalidChannelID
Invalid channel ID.
@ HWIODeviceResultInvalidAssignment
Invalid assignment.
@ HWIODeviceResultUnknownError
Unknown error.
@ HWIODeviceResultInvalidConfiguration
Invalid configuration.
HWIOVideoFrameRate
HWIO video frame rate. Here are more detailed structural descriptions.
Definition IHWIOHelper.h:65
@ HWIOVideoFrameRate60fps
HWIO video frame rate is 60fps.
Definition IHWIOHelper.h:70
@ HWIOVideoFrameRate29_97fps
HWIO video frame rate is 29_97fps.
Definition IHWIOHelper.h:68
@ HWIOVideoFrameRate30fps
HWIO video frame rate is 30fps.
Definition IHWIOHelper.h:69
@ HWIOVideoFrameRate25fps
HWIO video frame rate is 25fps.
Definition IHWIOHelper.h:67
@ HWIOVideoFrameRate59_94fps
HWIO video frame rate is 59_94fps.
Definition IHWIOHelper.h:72
@ HWIOVideoFrameRate50fps
HWIO video frame rate is 50fps.
Definition IHWIOHelper.h:71
@ HWIOVideoFrameRateUnspecified
HWIO video frame rate is unspecified.
Definition IHWIOHelper.h:66
HWIOAudioAssignmentType
HWIO audio assignment type. Here are more detailed structural descriptions.
@ HWIOAudioAssignmentTypeOutputMixedMinus
HWIO audio assignment type is output mixed minus.
@ HWIOAudioAssignmentTypeInputToVirtualInput
HWIO audio assignment type is input to virtual input.
@ HWIOAudioAssignmentTypeUnassigned
HWIO audio assignment type is unspecified.
@ HWIOAudioAssignmentTypeOutputFromUser
HWIO audio assignment type is output from user.
HWIOVideoResolution
HWIO video resolution. Here are more detailed structural descriptions.
Definition IHWIOHelper.h:53
@ HWIOVideoResolutionUnspecified
HWIO video resolution is unspecified.
Definition IHWIOHelper.h:54
@ HWIOVideoResolution720p
HWIO video resolution is 720p.
Definition IHWIOHelper.h:55
@ HWIOVideoResolution1080p
HWIO video resolution is 1080p.
Definition IHWIOHelper.h:56
@ HWIOVideoResolution2160p
HWIO video resolution is 2160p.
Definition IHWIOHelper.h:57
HWIOAudioFormat
HWIO audio format. Here are more detailed structural descriptions.
@ HWIOAudioFormatLinearPCM16BitInterleaved
HWIO audio format is linear PCM 16 bit Interleaved.
@ HWIOAudioFormatUnspecified
HWIO audio format is unspecified.
HWIOChannelModality
HWIO channel modality. Here are more detailed structural descriptions.
Definition IHWIOHelper.h:18
@ HWIOChannelModalityInputAndOutput
HWIO channel modality is input and output.
Definition IHWIOHelper.h:22
@ HWIOChannelModalityInput
HWIO channel modality is input.
Definition IHWIOHelper.h:20
@ HWIOChannelModalityNone
HWIO channel modality is none.
Definition IHWIOHelper.h:19
@ HWIOChannelModalityOutput
HWIO channel modality is output.
Definition IHWIOHelper.h:21
HWIOVideoFormat
HWIO video format. Here are more detailed structural descriptions.
Definition IHWIOHelper.h:80
@ HWIOVideoFormatYUV420Limited
HWIO video format is YUV420 limited.
Definition IHWIOHelper.h:82
@ HWIOVideoFormatYUV422UYVYLimited
HWIO video format is 422UYVY limited.
Definition IHWIOHelper.h:83
@ HWIOVideoFormatUnspecified
HWIO video format is unspecified.
Definition IHWIOHelper.h:81
HWIODeviceConnectionType
HWIO device connection type. Here are more detailed structural descriptions.
@ HWIODeviceConnectionTypeThunderBolt
HWIO device connection type is thunder bolt.
@ HWIODeviceConnectionTypeUnspecified
HWIO device connection type is unspecified.
@ HWIODeviceConnectionTypePcie
HWIO device connection type is PCIe.
@ HWIODeviceConnectionTypeUSB
HWIO device connection type is USB.
HWIOAudioChannels
HWIO audio channels. Here are more detailed structural descriptions.
@ HWIOAudioChannelsMONO
HWIO audio channels is MONO.
@ HWIOAudioChannelsStereo
HWIO audio channels is stereo.
@ HWIOAudioChannelsThirtyTwo
HWIO audio channels is thirty two.
@ HWIOAudioChannelsUnspecified
HWIO audio channels is unspecified.
@ HWIOAudioChannelsFour
HWIO audio channels is four.
@ HWIOAudioChannelsEight
HWIO audio channels is eight.
@ HWIOAudioChannelsSixteen
HWIO audio channels is sixteen.
HWIOChannelActivityStatus
HWIO channel activity status. Here are more detailed structural descriptions.
Definition IHWIOHelper.h:42
@ HWIOChannelActivityStatusOff
HWIO channel is not running.
Definition IHWIOHelper.h:43
@ HWIOChannelActivityStatusOutput
HWIO channel is running for playback/output.
Definition IHWIOHelper.h:44
@ HWIOChannelActivityStatusInput
HWIO channel is running for capture/input.
Definition IHWIOHelper.h:45
HWIODeviceUpdateEventType
HWIO device update event type. Here are more detailed structural descriptions.
@ HWIODeviceUpdateEventTypeDeviceActivityStatus
Device channel activity status updated.
@ HWIODeviceUpdateEventTypeDeviceDetectedInputSignal
Device channel input signal detected.
@ HWIODeviceUpdateEventTypeDeviceChanged
Device changed.
@ HWIODeviceUpdateEventTypeDeviceRemoved
Device removed.
@ HWIODeviceUpdateEventTypeDeviceAdded
Device added.
HWIOChannelConnectorType
HWIO channel connector type. Here are more detailed structural descriptions.
Definition IHWIOHelper.h:30
@ HWIOChannelConnectorTypeHDMI
HWIO channel connector type is HDMI.
Definition IHWIOHelper.h:33
@ HWIOChannelConnectorTypeSDI
HWIO channel connector type is SDI.
Definition IHWIOHelper.h:32
@ HWIOChannelConnectorTypeUnspecified
HWIO channel connector type is unspecified.
Definition IHWIOHelper.h:31
@ HWIOChannelConnectorTypeEthernet
HWIO channel connector type is ethernet.
Definition IHWIOHelper.h:34
HWIOAudioSampleRate
HWIO audio sample rate. Here are more detailed structural descriptions.
Definition IHWIOHelper.h:91
@ HWIOAudioSampleRateUnspecified
HWIO audio sample rate is unspecified.
Definition IHWIOHelper.h:92
@ HWIOAudioSampleRate48000
HWIO audio sample rate is 48000.
Definition IHWIOHelper.h:93
HWIODeviceManufacturer
HWIO device manufacturer. Here are more detailed structural descriptions.
@ HWIODeviceManufacturerDeltacast
HWIO device manufacturer is deltacast.
@ HWIODeviceManufacturerUnspecified
HWIO device manufacturer is unspecified.
@ HWIODeviceManufacturerAJA
HWIO device manufacturer is AJA.
@ HWIODeviceManufacturerMagewell
HWIO device manufacturer is magewell.
@ HWIODeviceManufacturerBlackMagic
HWIO device manufacturer is black magic.
HWIOVideoConvertPreferenceType
HWIO video convert preference type Here are more detailed structural descriptions.
@ HWIOVideoConvertPreferenceTypeDevice
Prefer device hardware for video conversion.
@ HWIOVideoConvertPreferenceTypeZoom
Prefer Zoom software for video conversion.
@ HWIOVideoConvertPreferenceTypeUnknown
Unknown.
HWIOVideoAssignmentType
HWIO video assignment type. Here are more detailed structural descriptions.
@ HWIOVideoAssignmentTypeOutputTestSignal
HWIO video assignment type is output test signal.
@ HWIOVideoAssignmentTypeOutputPinGroup
HWIO video assignment type is output pin group.
@ HWIOVideoAssignmentTypeUnassigned
HWIO video assignment type is unspecified.
@ HWIOVideoAssignmentTypeOutputGalleryView
HWIO video assignment type is output gallery view.
@ HWIOVideoAssignmentTypeOutputFromUser
HWIO video assignment type is output from user.
@ HWIOVideoAssignmentTypeOutputSpotlightGroup
HWIO video assignment type is output spotlight group.
@ HWIOVideoAssignmentTypeOutputActiveSpeaker
HWIO video assignment type is output active speaker.
@ HWIOVideoAssignmentTypeOutputScreenShare
HWIO video assignment type is output screen share.
@ HWIOVideoAssignmentTypeInputToVirtualInput
HWIO video assignment type is input to virtual input.
#define NS_ZRCSDK_END
#define NS_ZRCSDK_BEG
ZRC SDK Types.
ZRCSDKError
SDK error types. Here are more detailed structural descriptions.
Definition ZRCSDKTypes.h:22
HWIO helper interface.
virtual ZRCSDKError SetHWIOInputSignalDetection(const HWIOInputSignalDetection &signalDetection, const std::string &companionZRID="")=0
Set HWIO input signal detection.
virtual ZRCSDKError IsHWIOServiceAvailable(bool &available, const std::string &companionZRID="")=0
Query HWIO service available.
virtual ZRCSDKError SetHWIOVideoConvertPreference(const HWIOVideoConvertPreference &preference, const std::string &companionZRID="")=0
Set HWIO video convert preference.
virtual ~IHWIOHelper()
virtual ZRCSDKError ListHWIODevices(const std::string &companionZRID="")=0
List HWIO devices.
virtual ZRCSDKError DeregisterSink(IHWIOHelperSink *pSink)=0
Deregister meeting HWIO callback sink.
virtual ZRCSDKError AssignHWIODevice(const HWIOAssignDeviceInfo &assignDevice, const std::string &companionZRID="")=0
Assign HWIO device.
virtual ZRCSDKError RegisterSink(IHWIOHelperSink *pSink)=0
Register HWIO helper callback sink.
virtual ZRCSDKError ConfigureHWIODevice(const HWIODeviceConfiguration &configuration, const std::string &companionZRID="")=0
Configure HWIO device.
virtual ZRCSDKError IsHWIOFeatureAllowed(bool &allow)=0
Query HWIO feature status.
HWIO helper event callback.
virtual void OnHWIODeviceUpdated(const HWIODeviceUpdate &deviceUpdate, const std::string &companionZRID)=0
HWIO device update notification.
virtual void OnHWIOConfigureDeviceResult(int32_t result, const HWIODeviceConfiguration &configuration, const std::string &companionZRID)=0
HWIO configure device notification.
virtual void OnHWIOAssignDeviceResult(int32_t result, const HWIOAssignDeviceInfo &assignDeviceInfo, const std::string &companionZRID)=0
HWIO assign device notification.
virtual void OnHWIOSetVideoConvertPreferenceResult(int32_t result, const HWIOVideoConvertPreference &preference, const std::string &companionZRID)=0
HWIO set video convert preference notification.
virtual void OnHWIOListDevicesResult(int32_t result, const HWIOInfo &info, const std::string &companionZRID)=0
HWIO list device notification.
virtual ~IHWIOHelperSink()
virtual void OnHWIOSetInputSignalDetectionResult(int32_t result, const HWIOInputSignalDetection &signalDetection, const std::string &companionZRID)=0
HWIO set input signal detection result notification.
virtual void OnHWIOServiceStatusUpdated(bool isServiceAvailable, bool isFeatureAllowed, const std::string &companionZRID)=0
HWIO service status update notification.
HWIO assign deviceInfo.
int32_t channelID
Assign channel ID. 0 means apply to all channels, positive value means a specific channel.
int32_t deviceID
Assign device ID.
HWIOAssignmentStatus assignmentStatus
Assignment status, see HWIOAssignmentStatus struct.
HWIO assignment status.
HWIOVideoAssignment videoAssignment
HWIO video assignment, see HWIOVideoAssignment struct.
HWIOAudioAssignment audioAssignment
HWIO audio assignment, see HWIOAudioAssignment struct.
HWIO audio assignment.
HWIOAudioAssignmentType type
HWIO audio assignment type, see HWIOAudioAssignmentType enum.
std::string userGuid
User GUID, valid for type is HWIOAudioAssignmentTypeOutputFromUser.
uint32_t virtualInputID
Virtual input ID, 1-indexed, valid for type is HWIOAudioAssignmentTypeInputToVirtualInput.
HWIO audio settings.
HWIOAudioFormat format
HWIO audio format, see HWIOAudioFormat enum.
HWIOAudioChannels channels
HWIO audio channels, see HWIOAudioChannels enum.
HWIOAudioSampleRate sampleRate
HWIO audio sample rate, see HWIOAudioSampleRate enum.
HWIO channel detected input signal.
std::string videoFormat
Video format.
bool videoFormatSupported
Video format supported.
HWIOChannelInfo.
HWIOChannelActivityStatus activityStatus
Channel activity status.
std::string name
Channel name. If empty, use the parent device's name.
HWIOChannelModality modality
Channel modality, see HWIOChannelModality enum.
HWIOAssignmentStatus assignmentStatus
Assignment status, see HWIOAssignmentStatus struct.
uint32_t channelID
Channel ID. 0 means invalid/unused, positive value means a specific channel.
std::vector< HWIOAudioSettings > supportedOutputAudioSettings
Supported output audio setting list, see HWIOAudioSettings struct.
std::vector< HWIOVideoSettings > supportedOutputVideoSettings
Supported output video setting list, see HWIOVideoSettings struct.
std::vector< HWIOAudioSettings > supportedInputAudioSettings
Supported input audio setting list, see HWIOAudioSettings struct.
std::vector< HWIOVideoSettings > supportedInputVideoSettings
Supported input video setting list, see HWIOVideoSettings struct.
HWIOChannelDetectedInputSignal detectedInputSignal
Channel detected input signal. Valid only if input signal detection is enabled for the device.
HWIOChannelConnectorType connectorType
Channel connector type, see HWIOChannelConnectorType enum.
HWIOConfiguration outputConfiguration
Output configuration, see HWIOConfiguration struct.
HWIOConfiguration inputConfiguration
Input configuration, see HWIOConfiguration struct.
HWIOVideoConvertPreferenceType videoConvertPreferenceType
Video convert preference, see HWIOVideoConvertPreferenceType enum.
HWIO configuration.
HWIOVideoSettings videoSettings
HWIO video settings, see HWIOVideoSettings struct.
HWIOAudioSettings audioSettings
HWIO audio settings, see HWIOAudioSettings struct.
HWIO device configuration.
int32_t deviceID
Configuration device ID.
int32_t channelID
Configuration channel ID. 0 means apply to all channels, positive value means a specific channel.
HWIOConfiguration configuration
HWIO configuration, see HWIOConfiguration struct.
HWIOChannelModality modality
HWIO channel modality, see HWIOChannelModality enum.
HWIO device information.
bool inputSignalDetectionSupported
Input signal detection supported.
std::string driverVersion
Driver version.
HWIODeviceManufacturer manufacturer
Device manufacturer, see HWIODeviceManufacturer enum.
std::string internalIdentifier
Internal identifier.
HWIODeviceConnectionType connectionType
Device connection type, see HWIODeviceConnectionType enum.
std::string name
Name, such as "DeckLink Duo 2".
uint32_t deviceID
Device ID.
std::vector< HWIOChannelInfo > channelInfos
Channel info list, see HWIOChannelInfo struct.
bool inputSignalDetectionEnabled
Input signal detection enabled.
HWIO device update.
HWIODeviceInfo deviceInfo
HWIO device info, used for device added, removed or changed events.
int32_t deviceID
Device ID for the updated device.
HWIODeviceUpdateEventType eventType
HWIO device update event type, see HWIODeviceUpdateEventType enum.
HWIOChannelActivityStatus activityStatus
HWIO channel activity status, used for activity status update events.
int32_t channelID
Channel ID for the updated channel. 0 means invalid/unused, positive value means a specific channel.
HWIOChannelDetectedInputSignal detectedInputSignal
HWIO channel detected input signal, used for input signal detection events.
HWIO information.
bool isFeatureAllowed
TRUE indicates the HWIO feature is allowed. Otherwise not.
bool isServiceAvailable
TRUE indicates the HWIO service is enabled. Otherwise not.
std::vector< uint32_t > virtualVideoInputIDs
Virtual video input ID list.
std::vector< HWIODeviceInfo > deviceInfos
Device info list, see HWIODeviceInfo struct.
std::vector< uint32_t > virtualAudioInputIDs
Virtual audio input ID list.
HWIO input signal detection.
bool enable
TRUE indicates the input signal detection is enabled. Otherwise not.
int32_t deviceID
Device ID.
HWIO video assignment.
uint32_t testSignalFrameRGB
Test signal from RGB, valid for type is HWIOVideoAssignmentTypeOutputTestSignal.
uint32_t screenShare
Share screen index, 1-indexed, valid for type is HWIOVideoAssignmentTypeOutputScreenShare.
HWIOVideoAssignmentType type
HWIO video assignment type, see HWIOVideoAssignmentType enum.
std::string userGuid
User GUID, valid for type is HWIOVideoAssignmentTypeOutputFromUser.
uint32_t galleryPage
Gallery page, 1-indexed, valid for type is HWIOVideoAssignmentTypeOutputGalleryView.
uint32_t virtualInputID
Virtual input ID, 1-indexed, valid for type is HWIOVideoAssignmentTypeInputToVirtualInput.
uint32_t pinGroupScreen
Pin group screen index, 1-indexed, valid for type is HWIOVideoAssignmentTypeOutputPinGroup.
GalleryGridSize gridSize
Gallery view grid size, see GalleryGridSize struct, valid for type is HWIOVideoAssignmentTypeOutputGa...
HWIO video convert preference.
HWIOVideoConvertPreferenceType type
Video convert preference type, see HWIOVideoConvertPreferenceType enum.
int32_t channelID
Channel ID. 0 means apply to all channels, positive value means a specific channel.
int32_t deviceID
Device ID.
HWIO video settings.
HWIOVideoResolution resolution
HWIO video resolution, see HWIOVideoResolution enum.
HWIOVideoFormat format
HWIO video frame format, see HWIOVideoFormat enum.
HWIOVideoFrameRate frameRate
HWIO video frame rate, see HWIOVideoFrameRate enum.