Controls how a byte stream buffers data from a network.
To get a pointer to this interface, call QueryInterface on the byte stream object.
The IMFByteStreamBuffering interface has these methods.
|IMFByteStreamBuffering::EnableBuffering||Enables or disables buffering.|
|IMFByteStreamBuffering::SetBufferingParams||Sets the buffering parameters.|
|IMFByteStreamBuffering::StopBuffering||Stops any buffering that is in progress.|
If a byte stream implements this interface, a media source can use it to control how the byte stream buffers data. This interface is designed for byte streams that read data from a network.
A byte stream that implements this interface should also implement the IMFMediaEventGenerator interface. When the byte stream starts buffering, it sends an MEBufferingStarted event. When it stops buffering, it sends an MEBufferingStopped event.
The byte stream must send a matching MEBufferingStopped event for every MEBufferingStarted event. The byte stream must not send MEBufferingStarted events unless the media source has enabled buffering by calling EnableBuffering with the value TRUE.
- The byte stream finishes buffering data.
- The byte stream reaches the end of the stream.
- The media source calls EnableBuffering with the value FALSE.
- The media source calls StopBuffering.
If buffering is disabled, the byte stream does not send any buffering events. Internally, however, it might still buffer data while it waits for I/O requests to complete. Therefore, IMFByteStream methods might take an indefinite length of time to complete.
After the presentation has started, the media source should forward and MEBufferingStarted and MEBufferingStopped events that it receives while started. The Media Session will pause the presentation clock while buffering is progress and restart the presentation clock when buffering completes. The media source should only forward these events while the presentation is playing. The purpose of sending these events to the Media Session is to pause the presentation time while the source buffers data.
|Minimum supported client||Windows Vista [desktop apps | UWP apps]|
|Minimum supported server||Windows Server 2008 [desktop apps | UWP apps]|