Zoom Rooms Controller SDK Reference 6.5.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{
47};
48
54{
62};
63
69{
73};
74
80{
83};
84
90{
98};
99
105{
109
115{
126
132{
138
144{
151
157{
163
169{
174
180{
189
192
198{
203
204
208{
212};
213
217{
221};
222
226{
229};
230
234{
236 int32_t deviceID = 0;
237 int32_t channelID = -1;
239};
240
244{
245 uint32_t maxRows = 0;
246 uint32_t maxColumns = 0;
247};
248
252{
254 std::string userGuid;
255 uint32_t virtualInputID = 0;
256 uint32_t testSignalFrameRGB = 0;
257 uint32_t screenShare = 0;
258 uint32_t pinGroupScreen = 0;
259 uint32_t galleryPage = 0;
261};
262
266{
268 std::string userGuid;
269 uint32_t virtualInputID = 0;
270};
271
275{
278};
279
283{
284 int32_t deviceID = 0;
285 int32_t channelID = -1;
287};
288
292{
293 uint32_t channelID = 0;
299 std::vector<HWIOVideoSettings> supportedInputVideoSettings;
300 std::vector<HWIOVideoSettings> supportedOutputVideoSettings;
301 std::vector<HWIOAudioSettings> supportedInputAudioSettings;
302 std::vector<HWIOAudioSettings> supportedOutputAudioSettings;
303 std::string name;
305};
306
310{
311 uint32_t deviceID = 0;
314 std::string name;
315 std::string internalIdentifier;
316 std::string driverVersion;
317 std::vector<HWIOChannelInfo> channelInfos;
318};
319
323{
324 std::vector<uint32_t> virtualVideoInputIDs;
325 std::vector<uint32_t> virtualAudioInputIDs;
326 std::vector<HWIODeviceInfo> deviceInfos;
327 bool isServiceAvailable = false;
328 bool isFeatureAllowed = false;
329};
330
334{
337};
338
342{
343 int32_t deviceID = 0;
344 int32_t channelID = -1;
346};
347
351{
352public:
353 virtual ~IHWIOHelperSink() {}
354
364 virtual void OnHWIOListDevicesResult(int32_t result, const HWIOInfo& info) = 0;
365
375 virtual void OnHWIOConfigureDeviceResult(int32_t result, const HWIODeviceConfiguration& configuration) = 0;
376
386 virtual void OnHWIOAssignDeviceResult(int32_t result, const HWIOAssignDeviceInfo& assignDeviceInfo) = 0;
387
396 virtual void OnHWIODeviceUpdated(const HWIODeviceUpdate& deviceUpdate) = 0;
397
406 virtual void OnHWIOServiceStatusUpdated(bool isServiceAvailable) = 0;
407
417 virtual void OnHWIOSetVideoConvertPreferenceResult(int32_t result, const HWIOVideoConvertPreference& preference) = 0;
418};
419
423{
424public:
425
426 virtual ~IHWIOHelper() {}
427
439
451
462
473 virtual ZRCSDKError ConfigureHWIODevice(const HWIODeviceConfiguration& configuration) = 0;
474
485 virtual ZRCSDKError AssignHWIODevice(const HWIOAssignDeviceInfo& assignDevice) = 0;
486
497 virtual ZRCSDKError IsHWIOServiceAvailable(bool& available) = 0;
498
510};
511
513
514#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:54
@ HWIOVideoFrameRate60fps
HWIO video frame rate is 60fps.
Definition IHWIOHelper.h:59
@ HWIOVideoFrameRate29_97fps
HWIO video frame rate is 29_97fps.
Definition IHWIOHelper.h:57
@ HWIOVideoFrameRate30fps
HWIO video frame rate is 30fps.
Definition IHWIOHelper.h:58
@ HWIOVideoFrameRate25fps
HWIO video frame rate is 25fps.
Definition IHWIOHelper.h:56
@ HWIOVideoFrameRate59_94fps
HWIO video frame rate is 59_94fps.
Definition IHWIOHelper.h:61
@ HWIOVideoFrameRate50fps
HWIO video frame rate is 50fps.
Definition IHWIOHelper.h:60
@ HWIOVideoFrameRateUnspecified
HWIO video frame rate is unspecified.
Definition IHWIOHelper.h:55
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:42
@ HWIOVideoResolutionUnspecified
HWIO video resolution is unspecified.
Definition IHWIOHelper.h:43
@ HWIOVideoResolution720p
HWIO video resolution is 720p.
Definition IHWIOHelper.h:44
@ HWIOVideoResolution1080p
HWIO video resolution is 1080p.
Definition IHWIOHelper.h:45
@ HWIOVideoResolution2160p
HWIO video resolution is 2160p.
Definition IHWIOHelper.h:46
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:69
@ HWIOVideoFormatYUV420Limited
HWIO video format is YUV420 limited.
Definition IHWIOHelper.h:71
@ HWIOVideoFormatYUV422UYVYLimited
HWIO video format is 422UYVY limited.
Definition IHWIOHelper.h:72
@ HWIOVideoFormatUnspecified
HWIO video format is unspecified.
Definition IHWIOHelper.h:70
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.
Definition IHWIOHelper.h:90
@ HWIOAudioChannelsMONO
HWIO audio channels is MONO.
Definition IHWIOHelper.h:92
@ HWIOAudioChannelsStereo
HWIO audio channels is stereo.
Definition IHWIOHelper.h:93
@ HWIOAudioChannelsThirtyTwo
HWIO audio channels is thirty two.
Definition IHWIOHelper.h:97
@ HWIOAudioChannelsUnspecified
HWIO audio channels is unspecified.
Definition IHWIOHelper.h:91
@ HWIOAudioChannelsFour
HWIO audio channels is four.
Definition IHWIOHelper.h:94
@ HWIOAudioChannelsEight
HWIO audio channels is eight.
Definition IHWIOHelper.h:95
@ HWIOAudioChannelsSixteen
HWIO audio channels is sixteen.
Definition IHWIOHelper.h:96
HWIODeviceUpdateEventType
HWIO device update event type. Here are more detailed structural descriptions.
@ HWIODeviceUpdateEventTypeDeviceChanged
HWIO device update event type is device changed.
@ HWIODeviceUpdateEventTypeDeviceRemoved
HWIO device update event type is device removed.
@ HWIODeviceUpdateEventTypeDeviceAdded
HWIO device update event type is add.
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:80
@ HWIOAudioSampleRateUnspecified
HWIO audio sample rate is unspecified.
Definition IHWIOHelper.h:81
@ HWIOAudioSampleRate48000
HWIO audio sample rate is 48000.
Definition IHWIOHelper.h:82
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 ListHWIODevices()=0
List HWIO devices.
virtual ZRCSDKError ConfigureHWIODevice(const HWIODeviceConfiguration &configuration)=0
Configure HWIO device.
virtual ZRCSDKError IsHWIOServiceAvailable(bool &available)=0
Query HWIO service available.
virtual ZRCSDKError AssignHWIODevice(const HWIOAssignDeviceInfo &assignDevice)=0
Assign HWIO device.
virtual ~IHWIOHelper()
virtual ZRCSDKError DeregisterSink(IHWIOHelperSink *pSink)=0
Deregister meeting HWIO callback sink.
virtual ZRCSDKError SetHWIOVideoConvertPreference(const HWIOVideoConvertPreference &preference)=0
Set HWIO video convert preference.
virtual ZRCSDKError RegisterSink(IHWIOHelperSink *pSink)=0
Register HWIO helper callback sink.
HWIO helper event callback.
virtual void OnHWIOListDevicesResult(int32_t result, const HWIOInfo &info)=0
HWIO list device notification.
virtual void OnHWIOConfigureDeviceResult(int32_t result, const HWIODeviceConfiguration &configuration)=0
HWIO configure device notification.
virtual void OnHWIOServiceStatusUpdated(bool isServiceAvailable)=0
HWIO service status update notification.
virtual void OnHWIOAssignDeviceResult(int32_t result, const HWIOAssignDeviceInfo &assignDeviceInfo)=0
HWIO assign device notification.
virtual void OnHWIOSetVideoConvertPreferenceResult(int32_t result, const HWIOVideoConvertPreference &preference)=0
HWIO set video convert preference notification.
virtual ~IHWIOHelperSink()
virtual void OnHWIODeviceUpdated(const HWIODeviceUpdate &deviceUpdate)=0
HWIO device update notification.
HWIOAssignDeviceInfo.
int32_t channelID
Assign channel ID.
int32_t deviceID
Assign device ID.
HWIOAssignmentStatus assignmentStatus
Assignment status, see HWIOAssignmentStatus struct.
HWIOAssignmentStatus.
HWIOVideoAssignment videoAssignment
HWIO video assignment, see HWIOVideoAssignment struct.
HWIOAudioAssignment audioAssignment
HWIO audio assignment, see HWIOAudioAssignment struct.
HWIOAudioAssignment.
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.
HWIOAudioSettings.
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.
HWIOChannelInfo.
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.
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.
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.
HWIOConfiguration.
HWIOVideoSettings videoSettings
HWIO video settings, see HWIOVideoSettings struct.
HWIOAudioSettings audioSettings
HWIO audio settings, see HWIOAudioSettings struct.
HWIOConfiguration.
int32_t deviceID
Configuration device ID.
int32_t channelID
Configuration channel ID.
HWIOConfiguration configuration
HWIO configuration, see HWIOConfiguration struct.
HWIOChannelModality modality
HWIO channel modality, see HWIOChannelModality enum.
HWIODeviceInfo.
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.
HWIODeviceUpdate.
HWIODeviceInfo deviceInfo
HWIO device info, see HWIODeviceInfo struct.
HWIODeviceUpdateEventType eventType
HWIO device update event type, see HWIODeviceUpdateEventType enum..
HWIOGridSize.
uint32_t maxRows
Gallery view max grid rows.
uint32_t maxColumns
Gallery view max grid columns.
HWIOInfo.
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.
HWIOVideoAssignment.
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.
HWIOGridSize gridSize
Gallery view grid size, see HWIOGridSize struct, valid for type is HWIOVideoAssignmentTypeOutputGalle...
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.
HWIOVideoConvertPreference.
HWIOVideoConvertPreferenceType type
Video convert preference type, see HWIOVideoConvertPreferenceType enum.
int32_t channelID
Channel ID.
int32_t deviceID
Device ID.
HWIOVideoSettings.
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.