KSPROPERTY_CAMERACONTROL_EXTENDED_VFR

KSPROPERTY_CAMERACONTROL_EXTENDED_VFR is a property ID that will be used to specify whether variable frame rate is desired on the driver. This is a pin level control for video pin only. For preview and photo, the frame rate variability is entirely up to the driver and is not controllable by the client.

Usage summary table

Scope Control Type

Version 1

Pin

Synchronous

The following flags can be placed in the KSCAMERA_EXTENDEDPROP_HEADER.Flags field, which are used to turn on and off variable frame rate for video. The default is up to the driver.

#define KSCAMERA_EXTENDEDPROP_VFR_OFF   0x0000000000000000  
#define KSCAMERA_EXTENDEDPROP_VFR_ON    0x0000000000000001

If set to VFR_OFF, driver shall deliver fixed frame rate for the video pin.

If set to VFR_ON, the frame rate is automatically determined by the driver and can vary based on the capture condition and scenario for the video pin. When VFR_ON is set, the maximum frame rate allowed is further determined by the fixed frame rate embedded in the media type selected for video recording.

If the driver does not support variable frame rate for video, the driver should not implement this control, and fixed frame rate will be implied.

This control has no effect during the video recording for the driver that doesn’t support on the fly toggling of the VFR settings. The driver shall ignore the control received during an active video recording in that case.

This is a synchronous control and not cancelable. There are no capabilities defined for this control.

The following table contains the descriptions and requirements for the KSCAMERA_EXTENDEDPROP_HEADER structure fields when using the control.

Member Description

Version

This must be 1.

PinId

This must be the Pin ID associated with the video pin.

Size

This must be sizeof(KSCAMERA_EXTENDEDPROP_HEADER)+ sizeof(KSCAMERA_EXTENDEDPROP_VALUE).

Result

Indicates the error results of the last SET operation. If no SET operation has taken place, this must be 0.

Capability

This must be 0.

Flags

This is a read/write field. This can be any one of the flags defined above.

Requirements

Header

Ksmedia.h