Media Sample (IMFSample)

Media Bufferのデータを内包するオブジェクトです。映像データではたいてい1つのフレームを含み、音声データではたいてい複数の音声サンプルを含みます。

MFCreateSample()

空のMedia Sampleを作成できます。

HRESULT MFCreateSample(
  IMFSample **ppIMFSample
);
MFCreateSample function (mfapi.h) | Microsoft Learn

ConvertToContiguousBuffer()

複数のバッファをもつサンプルから、1つのバッファへ変換できます。

HRESULT ConvertToContiguousBuffer(
  IMFMediaBuffer **ppBuffer
);
IMFSample::ConvertToContiguousBuffer (mfobjects.h) | Microsoft Learn

サンプルがバッファを1つだけ含むならば、そのバッファへのポインタが返されます。バッファが複数あるならば、新しいバッファへコピーされた上でそれへのポインタが返されます。

Microsoft Learnから検索