IMediaSample インターフェイス
IMediaSample インターフェイスは、メディア サンプルのプロパティを設定および取得する。メディア サンプルは COM オブジェクトであり、メディア データのブロックが格納される。メディア サンプルはフィルタ間の共有メモリ バッファの使用をサポートする。
通常、このインターフェイスのメソッドを、アプリケーションから呼び出すことはない。フィルタでは、このインターフェイスを使って、サンプルのプロパティを設定し、ダウンストリーム フィルタにサンプルを渡す。そのダウンストリーム フィルタでは、このインターフェイスを使って、プロパティを取得し、データを読み取る。フィルタは、データを直接修正するか、またはサンプルをコピーしてから変更し、ダウンストリームへ渡す。
IMediaSample2 インターフェイスは、このインターフェイスを継承する。
IMediaSample インターフェイスは、IUnknown から継承するメソッド以外に以下のメソッドも公開する。
メソッド | 説明 |
GetActualDataLength | バッファ内の有効なデータの長さを取得する。 |
GetMediaTime | このサンプルのメディア タイムを取得する。 |
GetMediaType | メディア タイプが前のサンプルと異なる場合は、メディア タイプを取得する。 |
GetPointer | このバッファのメモリへの読み取り/書き込みポインタを取得する。 |
GetSize | バッファのサイズを取得する。 |
GetTime | このサンプルが開始および終了すべきストリーム タイムを取得する。 |
IsDiscontinuity | このサンプルがデータ ストリーム内の不連続を表すかどうかを確認する。 |
IsPreroll | このサンプルがプリロール サンプルかどうかを確認する。 |
IsSyncPoint | このサンプルの始まりが同期ポイントかどうかを判断する。 |
SetActualDataLength | バッファ内の有効なデータの長さを設定する。 |
SetDiscontinuity | このサンプルがデータ ストリーム内の不連続を表すかどうかを指定する。 |
SetMediaTime | このサンプルのメディア タイムを設定する。 |
SetMediaType | サンプルのメディア タイプを設定する。 |
SetPreroll | このサンプルがプリロール サンプルかどうかを指定する。 |
SetSyncPoint | このサンプルの始まりが同期ポイントかどうかを指定する。 |
SetTime | このサンプルが開始および終了すべきストリーム タイムを設定する。 |