IMFByteStreamBuffering 接口 (mfidl.h)

控制字节流如何缓冲来自网络的数据。

若要获取指向此接口的指针,请对字节流对象调用 QueryInterface

继承

IMFByteStreamBuffering 接口继承自 IUnknown 接口。 IMFByteStreamBuffering 还具有以下类型的成员:

方法

IMFByteStreamBuffering 接口具有这些方法。

 
IMFByteStreamBuffering::EnableBuffering

启用或禁用缓冲。
IMFByteStreamBuffering::SetBufferingParams

设置缓冲参数。
IMFByteStreamBuffering::StopBuffering

停止正在进行的任何缓冲。

注解

如果字节流实现此接口,媒体源可以使用它来控制字节流如何缓冲数据。 此接口适用于从网络读取数据的字节流。

实现此接口的字节流还应实现 IMFMediaEventGenerator 接口。 当字节流开始缓冲时,它会发送 MEBufferingStarted 事件。 停止缓冲时,会发送 MEBufferingStopped 事件。

字节流必须为每个 MEBufferingStarted 事件发送匹配 的 MEBufferingStopped 事件。 字节流不得发送 MEBufferingStarted 事件,除非媒体源通过调用值为 TRUEEnableBuffering 启用了缓冲。

字节流发送 MEBufferingStarted 事件后,如果发生以下任一情况,它应发送 MEBufferingStopped

字节流在到达文件末尾后不应再发送任何缓冲事件。

如果禁用缓冲,则字节流不会发送任何缓冲事件。 但是,在内部,它可能会在等待 I/O 请求完成时缓冲数据。 因此, IMFByteStream 方法可能需要无限长的时间才能完成。

如果字节流在内部缓冲数据,并且媒体源调用值为 TRUEEnableBuffering,则字节流可以立即发送 MEBufferingStarted

开始演示后,媒体源应转发并在启动时收到的 MEBufferingStartedMEBufferingStopped 事件。 媒体会话将在缓冲正在进行时暂停演示时钟,并在缓冲完成时重启演示时钟。 媒体源应仅在播放演示文稿时转发这些事件。 将这些事件发送到媒体会话的目的是在源缓冲数据时暂停演示时间。

要求

要求
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 mfidl.h

另请参阅

IMFByteStream

IMFByteStreamCacheControl

媒体基础接口