KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW
KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW is a property ID that specifies the field of view and zoom of the camera while the camera is streaming.
This control is a potential substitute for pan, tilt and zoom. This control only applies while the camera is actively streaming. To be actively streaming means a preview or record pin must be in KSSTATE_RUN, ready and able to deliver frames.
On SET, if a stream is not active, this controls returns STATUS_INVALID_DEVICE_STATE.
Examples of setting KSPROPERTY controls can be found in the AVStream Camera Sample Driver on GitHub.
Usage summary table
Scope | Control | Type |
---|---|---|
Version 1 | Filter | Synchronous |
The following bit flags control the property ID in the driver:
#define KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_MANUAL 0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING 0x0000000000000001
Capability description
The following flags can be placed in the KSCAMERA_EXTENDEDPROP_HEADER.Flags and KSCAMERA_EXTENDEDPROP_HEADER.Capability fields.
Flag | Description |
---|---|
KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_MANUAL | The Digital Window is controlled manually by the application. |
KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING | The camera automatically adjusts the Digital Window to focus on the dominate face in view. |
KSCAMERA_EXTENDEDPROP_DIGITALWINDOW is always a synchronous control.
The following table contains the requirements for the KSCAMERA_EXTENDEDPROP_HEADER structure fields when using the metadata control.
Member | Description |
---|---|
Version | Must be 1. |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) |
Size | Must be sizeof(KSCAMERA_EXTENDEDPROP_HEADER)+ sizeof(KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING) |
Result | Must contain 0. This field is only used to return the result of the last asynchronous SET operation. |
Capability | Must support KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_MANUAL. May optionally support KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING. |
Flags | Must be KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_MANUAL or KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING. |
KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING
These parameters are read-only if KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING is set in the Flags field. If KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING is set during a SET operation, the following parameters are ignored.
Parameter | Description |
---|---|
OriginX | The origin of the digital window along the X-axis in Q24 format. Must default to 0. OriginX may not be less than PorchLeft nor greater than PorchRight – WindowSize. |
OriginY | The origin of the digital window along the X-axis in Q24 format. Must default to 0. OriginX may not be less than PorchLeft nor greater than PorchRight – WindowSize. |
WindowSize | The size of the digital window along both axis in Q24 format. This is the fraction of the full view visible along both the x and y axis. WindowSize must default to 0x01000000 (1.0 in Q24). WindowSize may not be less than MinWindowSize nor larger than MaxWindowSize. In addition, WindowSize plus OriginX may not be greater than PorchRight; WindowsSize plus OriginY may not be greater than PorchBottom. |
Reserved | Set to 0. |
Requirements
Minimum supported client: Windows 11
Header: ksmedia.h (include Ksmedia.h)
See also
KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS
KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER