Win32 API 日本語リファレンス
ホームMedia.DirectShow › IQualProp

IQualProp

COM
IID1bd0ecb0-f8e2-11ce-aac6-0020af0b99a3継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IQualProp インターフェイスは、ビデオレンダラーからパフォーマンス情報を取得するためのメソッドを提供します。

メソッド 6

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT get_FramesDroppedInRenderer(INT* pcFrames)

get_FramesDroppedInRenderer メソッドは、レンダラーがドロップしたフレーム数を取得します。

pcFramesINT*outレンダラーがドロップしたフレーム数へのポインター。

戻り値

HRESULT 値を返します。

解説(Remarks)

プロパティ ページは、このメソッドを使用してレンダラーからデータを取得します。

vtbl 4 HRESULT get_FramesDrawn(INT* pcFramesDrawn)

get_FramesDrawn メソッドは、ストリーミング開始以降に実際に描画されたフレーム数を取得します。

pcFramesDrawnINT*outストリーミング開始以降に描画されたフレーム数へのポインター。

戻り値

HRESULT 値を返します。

vtbl 5 HRESULT get_AvgFrameRate(INT* piAvgFrameRate)

get_AvgFrameRate メソッドは、ストリーミング開始以降の実際の平均フレームレートを取得します。

piAvgFrameRateINT*out1 秒あたりの実際のフレーム数を 100 倍した値を受け取る変数へのポインター。たとえば、平均フレームレートが 1 秒あたり 30 フレームの場合は 3000 として表されます。

戻り値

HRESULT 値を返します。

解説(Remarks)

再生中の実際のフレームレートは、オーサリング時のフレームレートより低くなる場合があります。実際のフレームレートとオーサリング時のフレームレートの詳細については、VIDEOINFOHEADER 構造体の「解説」セクションを参照してください。

vtbl 6 HRESULT get_Jitter(INT* iJitter)

get_Jitter メソッドは、ビデオレンダラーに送られる連続するフレーム間のジッター(時間のばらつき)を取得します。

iJitterINT*outフレーム間時間の標準偏差をミリ秒単位で受け取ります。

戻り値

HRESULT 値を返します。

vtbl 7 HRESULT get_AvgSyncOffset(INT* piAvg)

get_AvgSyncOffset メソッドは、ビデオフレームが表示されるべきだった時刻と実際に表示された時刻との平均時間差を取得します。

piAvgINT*out時間差へのポインター(ミリ秒単位)。

戻り値

HRESULT 値を返します。

vtbl 8 HRESULT get_DevSyncOffset(INT* piDev)

get_DevSyncOffset メソッドは、ビデオフレームが表示されるべきだった時刻と実際に表示された時刻との平均時間差を取得します。

piDevINT*out表示されるビデオフレームの精度を示す値へのポインター。

戻り値

HRESULT 値を返します。

解説(Remarks)

ネットワークからビデオを再生する場合、ネットワークの不具合によって再生が乱れることがよくあります。このため、ビデオフレームの精度を単純な平均で表すのは適切ではありません。標準偏差を見ることで、全体的な精度をより的確に把握できます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IQualProp "{1BD0ECB0-F8E2-11CE-AAC6-0020AF0B99A3}"
#usecom global IQualProp IID_IQualProp "{}"
#comfunc global IQualProp_get_FramesDroppedInRenderer  3 var
#comfunc global IQualProp_get_FramesDrawn              4 var
#comfunc global IQualProp_get_AvgFrameRate             5 var
#comfunc global IQualProp_get_Jitter                   6 var
#comfunc global IQualProp_get_AvgSyncOffset            7 var
#comfunc global IQualProp_get_DevSyncOffset            8 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。