[channels,rdpecam] fix PROPERTY_DESCRIPTION parsing

* The Capabilities field is a mask, so allow combination of all valid
  values.
* Adjust header to hold a mask
* Use enum to define constants for parsed values
This commit is contained in:
akallabeth
2026-01-28 08:33:50 +01:00
parent c8e4d8e5b0
commit 067524438a
3 changed files with 40 additions and 44 deletions

View File

@@ -269,35 +269,41 @@ typedef struct
typedef enum
{
CAM_PROPERTY_SET_CameraControl = 0x01,
CAM_PROPERTY_SET_VideoProcAmp = 0x02,
CAM_PROPERTY_SET_VideoProcAmp = 0x02
} CAM_PROPERTY_SET;
/* CameraControl properties */
#define CAM_PROPERTY_ID_CAMERA_CONTROL_Exposure 0x01
#define CAM_PROPERTY_ID_CAMERA_CONTROL_Focus 0x02
#define CAM_PROPERTY_ID_CAMERA_CONTROL_Pan 0x03
#define CAM_PROPERTY_ID_CAMERA_CONTROL_Roll 0x04
#define CAM_PROPERTY_ID_CAMERA_CONTROL_Tilt 0x05
#define CAM_PROPERTY_ID_CAMERA_CONTROL_Zoom 0x06
typedef enum
{
CAM_PROPERTY_ID_CAMERA_CONTROL_Exposure = 0x01,
CAM_PROPERTY_ID_CAMERA_CONTROL_Focus = 0x02,
CAM_PROPERTY_ID_CAMERA_CONTROL_Pan = 0x03,
CAM_PROPERTY_ID_CAMERA_CONTROL_Roll = 0x04,
CAM_PROPERTY_ID_CAMERA_CONTROL_Tilt = 0x05,
CAM_PROPERTY_ID_CAMERA_CONTROL_Zoom = 0x06
} CAM_PROPERTY_ID;
/* VideoProcAmp properties */
#define CAM_PROPERTY_ID_VIDEO_PROC_AMP_BacklightCompensation 0x01
#define CAM_PROPERTY_ID_VIDEO_PROC_AMP_Brightness 0x02
#define CAM_PROPERTY_ID_VIDEO_PROC_AMP_Contrast 0x03
#define CAM_PROPERTY_ID_VIDEO_PROC_AMP_Hue 0x04
#define CAM_PROPERTY_ID_VIDEO_PROC_AMP_WhiteBalance 0x05
typedef enum
{
CAM_PROPERTY_ID_VIDEO_PROC_AMP_BacklightCompensation = 0x01,
CAM_PROPERTY_ID_VIDEO_PROC_AMP_Brightness = 0x02,
CAM_PROPERTY_ID_VIDEO_PROC_AMP_Contrast = 0x03,
CAM_PROPERTY_ID_VIDEO_PROC_AMP_Hue = 0x04,
CAM_PROPERTY_ID_VIDEO_PROC_AMP_WhiteBalance = 0x05
} CAM_PROPERTY_ID_VIDEO;
typedef enum
{
CAM_PROPERTY_CAPABILITY_Manual = 0x01,
CAM_PROPERTY_CAPABILITY_Auto = 0x02,
CAM_PROPERTY_CAPABILITY_Manual = 0x01u,
CAM_PROPERTY_CAPABILITY_Auto = 0x02u
} CAM_PROPERTY_CAPABILITIES;
typedef struct
{
CAM_PROPERTY_SET PropertySet;
BYTE PropertyId;
CAM_PROPERTY_CAPABILITIES Capabilities;
UINT32 Capabilities;
INT32 MinValue;
INT32 MaxValue;
INT32 Step;