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

IConfigInterleaving

COM
IIDbee3d220-157b-11d0-bd23-00a0c911ce86継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IConfigInterleaving インターフェイスは、AVI Mux フィルターがオーディオ サンプルとビデオ サンプルをどのようにインターリーブするかを制御します。

メソッド 4

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

vtbl 3 HRESULT put_Mode(InterleavingMode mode)

put_Mode メソッドは、インターリーブの品質を指定することにより、オーディオ サンプルとビデオ フレームをディスクへどのように書き込むかを設定します。

modeInterleavingModeinInterleavingMode 列挙体で指定するインターリーブ品質の設定。

戻り値

インターフェイスの実装に依存する HRESULT 値を返します。

vtbl 4 HRESULT get_Mode(InterleavingMode* pMode)

get_Mode メソッドは、インターリーブ品質の設定を取得します。

pModeInterleavingMode*outInterleavingMode 列挙体のメンバーとして指定される、インターリーブ品質を受け取ります。

戻り値

インターフェイスの実装に依存する HRESULT 値を返します。

vtbl 5 HRESULT put_Interleaving(LONGLONG* prtInterleave, LONGLONG* prtPreroll)

put_Interleaving メソッドは、AVI ファイルのオーディオ プリロール時間とインターリーブの頻度を設定します。

prtInterleaveLONGLONG*inインターリーブされたオーディオ チャンクまたはビデオ チャンクの各グループのおおよその長さ(100 ナノ秒単位)。 実際のインターリーブ量は、IConfigInterleaving::put_Mode を呼び出して指定するインターリーブ モードによっても影響を受けます。
prtPrerollLONGLONG*in最初のビデオ フレームより前にファイルへ書き込まれるオーディオ データの量(100 ナノ秒単位)。

戻り値

インターフェイスの実装に依存する HRESULT 値を返します。

解説(Remarks)

配布用のファイルを作成する場合は、750 ミリ秒のオーディオ プリロールを推奨します。

このメソッドを呼び出さない場合、prtInterleave の既定値は 1000 ミリ秒です。値が小さいほど、生成されるファイルは大きくなります。

vtbl 6 HRESULT get_Interleaving(LONGLONG* prtInterleave, LONGLONG* prtPreroll)

get_Interleaving メソッドは、AVI ファイルのオーディオ プリロール時間とインターリーブの頻度を取得します。

prtInterleaveLONGLONG*outインターリーブされたオーディオ チャンクまたはビデオ チャンクの各グループのおおよその長さを受け取ります。
prtPrerollLONGLONG*out最初のビデオ フレームより前にファイルへ書き込まれるオーディオ データの量(100 ナノ秒単位)を受け取ります。

戻り値

インターフェイスの実装に依存する HRESULT 値を返します。

解説(Remarks)

詳細については、IConfigInterleaving::put_Interleaving を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IConfigInterleaving "{BEE3D220-157B-11D0-BD23-00A0C911CE86}"
#usecom global IConfigInterleaving IID_IConfigInterleaving "{}"
#comfunc global IConfigInterleaving_put_Mode          3 int
#comfunc global IConfigInterleaving_get_Mode          4 var
#comfunc global IConfigInterleaving_put_Interleaving  5 var,var
#comfunc global IConfigInterleaving_get_Interleaving  6 var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。