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) |