次の方法で共有


KSPROPERTY_CAMERACONTROL_EXTENDED_FRAMERATE_THROTTLE

KSPROPERTY_CAMERACONTROL_EXTENDED_FRAMERATE_THROTTLE は、ビデオのフレーム レートを元のフレーム レートのスケール係数で減らす動的コントロールです。

使用状況の概要表

取得 設定 対象 プロパティ記述子の種類 プロパティ値の種類
はい はい フィルター KSPROPERTY KSCAMERA_EXTENDEDPROP_HEADER

プロパティ値 (操作データ) には、KSCAMERA_EXTENDEDPROP_HEADER 構造体と KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 構造体が含まれています。

プロパティ データの合計サイズは、sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) です。 KSCAMERA_EXTENDEDPROP_HEADERSize メンバーは、このプロパティ データの合計サイズに設定されます。

KSCAMERA_EXTENDEDPROP_HEADERCapability メンバーには、次のいずれかの値が含まれます。

フレームレートスロットル制御 説明
KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF フレームレートスロットルは無効です。
KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON フレームレートスロットルが有効になっています。

KSCAMERA_EXTENDEDPROP_HEADERFlags メンバーには、カメラ用に現在設定されているフラグが含まれています。 KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF がデフォルトになります。

このプロパティ コントロールは同期的であり、取り消し可能ではありません。

このコントロールは、カメラがアクティブにストリーミングしている間にのみ適用されます。 アクティブにストリーミングするということは、プレビュー ピンまたはレコード ピンが KSSTATE_RUN の状態にあり、フレームを配信できる状態にあることを意味します。 セットでストリームがアクティブでない場合、このコントロールは STATUS_INVALID_DEVICE_STATE を返す必要があります。 これはフィルター スコープ コントロールですが、フォト ピンや IR/深度などの非 RGB ストリームには影響しません。

解説

物件を取得する

KSPROPERTY_TYPE_GET 要求に応答する際、ドライバーは KSCAMERA_EXTENDEDPROP_HEADER のメンバーを次のように設定します。

メンバー
バージョン 1
PinId KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF)
サイズ sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) である必要があります。
結果 0 を指定する必要があります。 このフィールドは、最後の SET 操作の結果を返すために使用されます。
機能 KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON または 0x1
フラグ これは、KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON または KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF のいずれかになります。

フレームレート スロットル フラグが以前に設定されていない場合、ドライバーは Flagsを KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF に設定します。 KSCAMERA_EXTENDEDPROP_HEADER に続く KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 構造体のメンバは、フレームレート スロットル モードの要件に従って設定されます。

プロパティを設定する

プロパティが設定されている場合、KSPROPERTY_TYPE_SET 要求では、KSCAMERA_EXTENDEDPROP_HEADERFlags メンバーに設定するフレームレート スロットル モードが含まれます。 Flags に KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF フラグが含まれている場合、KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTINGVideoProc.Value メンバーは無視する必要があります。

ペイロードの構造

次の表には、フレームレート スロットル DDI の KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 構造フィールドの説明と要件が含まれています。 この構造体は ksmedia.h で定義されています。

メンバー 説明
モード これは使用されず、0 である必要があります。
Min/Max/Step 最大値は 100 である必要があります。これは、フレーム レートに変化がないことを示します。 ステップは、Max % Step == 0 となるように 100 の係数にする必要があります。 Min は少なくとも 1 つのステップ サイズまたはステップ サイズの倍数に等しくなければなりません。 最小値は 0 にできません。
VideoProc VideoProc.Value.ul では、このコントロールのスケール係数のパーセンテージを指定する必要があります。 この値は Min と Max の範囲内で、Step 値の倍数に設定する必要があります。
この値を適切に設定することで、アプリケーションは新しいフレーム レートが元の値を超えたり、ゼロになったりしないようにすることができます。 たとえば、値を 80 に設定すると、元のフレーム レートの 80% のフレーム レートが生成されます。
予約済み これは使用されません。 これはドライバーで無視する必要があります。

要件

サポートされている最小クライアント: Windows 11、バージョン 24H2

ヘッダー: ksmedia.h (Ksmedia.h を含む)

関連項目

KSCAMERA_EXTENDEDPROP_HEADER

KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING