Zoom Rooms Controller SDK Reference 6.6.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
393 virtual void OnHWIOListDevicesResult(int32_t result, const HWIOInfo& info) = 0;
394
404 virtual void OnHWIOConfigureDeviceResult(int32_t result, const HWIODeviceConfiguration& configuration) = 0;
405
415 virtual void OnHWIOAssignDeviceResult(int32_t result, const HWIOAssignDeviceInfo& assignDeviceInfo) = 0;
416
430 virtual void OnHWIODeviceUpdated(const HWIODeviceUpdate& deviceUpdate) = 0;
431
444 virtual void OnHWIOServiceStatusUpdated(bool isServiceAvailable, bool isFeatureAllowed) = 0;
445
455 virtual void OnHWIOSetVideoConvertPreferenceResult(int32_t result, const HWIOVideoConvertPreference& preference) = 0;
456
466 virtual void OnHWIOSetInputSignalDetectionResult(int32_t result, const HWIOInputSignalDetection& signalDetection) = 0;
467};
468
472{
473public:
474
475 virtual ~IHWIOHelper() {}
476
488
500
511
522 virtual ZRCSDKError ConfigureHWIODevice(const HWIODeviceConfiguration& configuration) = 0;
523
534 virtual ZRCSDKError AssignHWIODevice(const HWIOAssignDeviceInfo& assignDevice) = 0;
535
546 virtual ZRCSDKError IsHWIOServiceAvailable(bool& available) = 0;
547
559 virtual ZRCSDKError IsHWIOFeatureAllowed(bool& allow) = 0;
560
572
584};
585
587
588#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 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 ZRCSDKError SetHWIOInputSignalDetection(const HWIOInputSignalDetection &signalDetection)=0
Set HWIO input signal detection.
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.
virtual ZRCSDKError IsHWIOFeatureAllowed(bool &allow)=0
Query HWIO feature status.
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 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 void OnHWIOSetInputSignalDetectionResult(int32_t result, const HWIOInputSignalDetection &signalDetection)=0
HWIO set input signal detection result notification.
virtual ~IHWIOHelperSink()
virtual void OnHWIOServiceStatusUpdated(bool isServiceAvailable, bool isFeatureAllowed)=0
HWIO service status update notification.
virtual void OnHWIODeviceUpdated(const HWIODeviceUpdate &deviceUpdate)=0
HWIO device 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.