IMediaSample インターフェイス

IMediaSample インターフェイスは、メディア サンプルのプロパティを設定および取得する。メディア サンプルは COM オブジェクトであり、メディア データのブロックが格納される。メディア サンプルはフィルタ間の共有メモリ バッファの使用をサポートする。

通常、このインターフェイスのメソッドを、アプリケーションから呼び出すことはない。フィルタでは、このインターフェイスを使って、サンプルのプロパティを設定し、ダウンストリーム フィルタにサンプルを渡す。そのダウンストリーム フィルタでは、このインターフェイスを使って、プロパティを取得し、データを読み取る。フィルタは、データを直接修正するか、またはサンプルをコピーしてから変更し、ダウンストリームへ渡す。

IMediaSample2 インターフェイスは、このインターフェイスを継承する。

IMediaSample インターフェイスは、IUnknown から継承するメソッド以外に以下のメソッドも公開する。

メソッド 説明
GetActualDataLength バッファ内の有効なデータの長さを取得する。
GetMediaTime このサンプルのメディア タイムを取得する。
GetMediaType メディア タイプが前のサンプルと異なる場合は、メディア タイプを取得する。
GetPointer このバッファのメモリへの読み取り/書き込みポインタを取得する。
GetSize バッファのサイズを取得する。
GetTime このサンプルが開始および終了すべきストリーム タイムを取得する。
IsDiscontinuity このサンプルがデータ ストリーム内の不連続を表すかどうかを確認する。
IsPreroll このサンプルがプリロール サンプルかどうかを確認する。
IsSyncPoint このサンプルの始まりが同期ポイントかどうかを判断する。
SetActualDataLength バッファ内の有効なデータの長さを設定する。
SetDiscontinuity このサンプルがデータ ストリーム内の不連続を表すかどうかを指定する。
SetMediaTime このサンプルのメディア タイムを設定する。
SetMediaType サンプルのメディア タイプを設定する。
SetPreroll このサンプルがプリロール サンプルかどうかを指定する。
SetSyncPoint このサンプルの始まりが同期ポイントかどうかを指定する。
SetTime このサンプルが開始および終了すべきストリーム タイムを設定する。