ホーム › Media.DirectShow.Tv › IStreamBufferMediaSeeking2
IStreamBufferMediaSeeking2
COM公式ドキュメント
IStreamBufferMediaSeeking2 インターフェースは Stream Buffer Source フィルターによって公開されます。早送り再生(「トリックモード」)中のフレームレートを制御するメソッドを提供します。
解説(Remarks)
このインターフェースのインターフェース識別子(IID)を宣言するには、__uuidof 演算子を使用します: __uuidof(IStreamBufferMediaSeeking2)。
メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
。
| dRate | DOUBLE | in | 再生レート。有効な範囲は (dRate >= 0.1 || dRate <= -0.1) です。 |
| dwFramesPerSec | DWORD | in | 早送り再生の 1 秒あたりのフレーム数。ゼロにはできません。詳細は「解説」を参照してください。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
高いフレームレートでは、Stream Buffer Engine はデルタフレームを破棄し、一部のキーフレームをスキップすることがあります。この動作は IStreamBufferConfigure2::SetFFTransitionRates メソッドによって決まります。再生レートがそのメソッドの dwMaxNonSkippingRate パラメーターで指定された値を超えると、Stream Buffer Engine はキーフレームのスキップを開始します。スキップされるキーフレームの数は再生レートによって決まります。スキップされるキーフレームの数を制御するには、SetRateEx メソッドを使用します:
- 再生レートが dwMaxNonSkippingRate 以下の場合、dwFramesPerSec パラメーターは無視されます。
- 再生レートが dwMaxNonSkippingRate を超える場合、Stream Buffer Engine は dwFramesPerSec で指定されたフレームレートを維持し、必要に応じてキーフレームを破棄します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IStreamBufferMediaSeeking2 "{3A439AB0-155F-470A-86A6-9EA54AFD6EAF}"
#usecom global IStreamBufferMediaSeeking2 IID_IStreamBufferMediaSeeking2 "{}"
#comfunc global IStreamBufferMediaSeeking2_SetRateEx 20 double,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。