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)

另请参阅

媒体基础接口