IMFSampleOutputStream インターフェイス (mfobjects.h)
メディア サンプルをバイト ストリームに書き込みます。
継承
IMFSampleOutputStream インターフェイスは、IUnknown インターフェイスから継承されます。 IMFSampleOutputStream には、次の種類のメンバーもあります。
メソッド
IMFSampleOutputStream インターフェイスには、これらのメソッドがあります。
IMFSampleOutputStream::BeginWriteSample ストリームにメディア サンプルを書き込む非同期要求を開始します。 |
IMFSampleOutputStream::EndWriteSample ストリームにメディア サンプルを書き込む非同期要求を完了します。 |
解説
書き込み可能なバイト ストリームは、必要に応じてこのインターフェイスを実装できます。
このインターフェイスを使用すると、呼び出し元は、 IMFByteStream::BeginWrite メソッドを使用して型指定されていないデータの BLOB を書き込むのではなく、書き込みのためにメディア サンプルをバイト ストリームに送信できます。 バイト ストリームは、メディア サンプルに含まれる情報を使用して、データの書き込み方法を最適化できます。 たとえば、ネットワーク経由でメディア データを送信するバイト ストリームは、タイム スタンプに基づいて最適化できます。
このインターフェイスへのポインターを取得するには、バイト ストリーム オブジェクトで QueryInterface を呼び出します。
インターフェイスとして IMFSampleOutputStream を公開する IMFByteStream の実装では、次の要件を満たす必要があります。
- いずれかのインターフェイスからの書き込みはすべて、常にまったく同じバイト ストリーム オブジェクトに移動します。
- IMFSampleOutputStream と IMFByteStream の両方の現在の位置は常に同じである必要があります。 たとえば、 IMFSampleOutputStream に書き込むと、 IMFByteStream の現在位置も更新されます。
- BeginWriteSample と EndWriteSample を使用してサンプルを作成する場合は、サンプル内のすべてのバッファーのデータを、バッファーがサンプルに格納されている順序で書き込んで、サンプルをシリアル化する必要があります。 (インデックス値で個々のバッファーを取得するには、 IMFSample::GetBufferByIndex を使用します)。コピーされる合計バイト数は、すべてのバッファーから書き込まれたバイト数でなければなりません。
要件
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mfobjects.h (Mfidl.h を含む) |