次の方法で共有


IMFSampleOutputStream インターフェイス (mfobjects.h)

メディア サンプルをバイト ストリームに書き込みます。

継承

IMFSampleOutputStream インターフェイスは、IUnknown インターフェイスから継承されます。 IMFSampleOutputStream には、次の種類のメンバーもあります。

メソッド

IMFSampleOutputStream インターフェイスには、これらのメソッドがあります。

 
IMFSampleOutputStream::BeginWriteSample

ストリームにメディア サンプルを書き込む非同期要求を開始します。
IMFSampleOutputStream::EndWriteSample

ストリームにメディア サンプルを書き込む非同期要求を完了します。

解説

書き込み可能なバイト ストリームは、必要に応じてこのインターフェイスを実装できます。

このインターフェイスを使用すると、呼び出し元は、 IMFByteStream::BeginWrite メソッドを使用して型指定されていないデータの BLOB を書き込むのではなく、書き込みのためにメディア サンプルをバイト ストリームに送信できます。 バイト ストリームは、メディア サンプルに含まれる情報を使用して、データの書き込み方法を最適化できます。 たとえば、ネットワーク経由でメディア データを送信するバイト ストリームは、タイム スタンプに基づいて最適化できます。

このインターフェイスへのポインターを取得するには、バイト ストリーム オブジェクトで QueryInterface を呼び出します。

インターフェイスとして IMFSampleOutputStream を公開する IMFByteStream の実装では、次の要件を満たす必要があります。

  • いずれかのインターフェイスからの書き込みはすべて、常にまったく同じバイト ストリーム オブジェクトに移動します。
  • IMFSampleOutputStreamIMFByteStream の両方の現在の位置は常に同じである必要があります。 たとえば、 IMFSampleOutputStream に書き込むと、 IMFByteStream の現在位置も更新されます。
  • BeginWriteSampleEndWriteSample を使用してサンプルを作成する場合は、サンプル内のすべてのバッファーのデータを、バッファーがサンプルに格納されている順序で書き込んで、サンプルをシリアル化する必要があります。 (インデックス値で個々のバッファーを取得するには、 IMFSample::GetBufferByIndex を使用します)。コピーされる合計バイト数は、すべてのバッファーから書き込まれたバイト数でなければなりません。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfobjects.h (Mfidl.h を含む)

関連項目

メディア ファンデーション インターフェイス