Interfaz IMFByteStreamBuffering (mfidl.h)
Controla cómo un flujo de bytes almacena en búfer los datos de una red.
Para obtener un puntero a esta interfaz, llame a QueryInterface en el objeto de secuencia de bytes.
Herencia
La interfaz IMFByteStreamBuffering hereda de la interfaz IUnknown . IMFByteStreamBuffering también tiene estos tipos de miembros:
Métodos
La interfaz IMFByteStreamBuffering tiene estos métodos.
IMFByteStreamBuffering::EnableBuffering Habilita o deshabilita el almacenamiento en búfer. |
IMFByteStreamBuffering::SetBufferingParams Establece los parámetros de almacenamiento en búfer. |
IMFByteStreamBuffering::StopBuffering Detiene cualquier almacenamiento en búfer que esté en curso. |
Comentarios
Si una secuencia de bytes implementa esta interfaz, un origen multimedia puede usarlo para controlar cómo el flujo de bytes almacena en búfer los datos. Esta interfaz está diseñada para flujos de bytes que leen datos de una red.
Una secuencia de bytes que implementa esta interfaz también debe implementar la interfaz IMFMediaEventGenerator . Cuando la secuencia de bytes inicia el almacenamiento en búfer, envía un evento MEBufferingStarted . Cuando detiene el almacenamiento en búfer, envía un evento MEBufferingStopped .
La secuencia de bytes debe enviar un evento MEBufferingStopped coincidente para cada evento MEBufferingStarted . La secuencia de bytes no debe enviar eventos MEBufferingStarted a menos que el origen multimedia haya habilitado el almacenamiento en búfer llamando a EnableBuffering con el valor TRUE.
Una vez que la secuencia de bytes envía un evento MEBufferingStarted , debe enviar MEBufferingStopped si se produce alguna de las siguientes acciones:
- El flujo de bytes termina de almacenar en búfer los datos.
- La secuencia de bytes alcanza el final de la secuencia.
- El origen multimedia llama a EnableBuffering con el valor FALSE.
- El origen multimedia llama a StopBuffering.
Si el almacenamiento en búfer está deshabilitado, la secuencia de bytes no envía ningún evento de almacenamiento en búfer. Sin embargo, internamente, podría seguir almacenando en búfer los datos mientras espera a que se completen las solicitudes de E/S. Por lo tanto, los métodos IMFByteStream pueden tardar un tiempo indefinido en completarse.
Si el flujo de bytes almacena en búfer los datos internamente y el origen multimedia llama a EnableBuffering con el valor TRUE, la secuencia de bytes puede enviar MEBufferingStarted inmediatamente.
Una vez iniciada la presentación, el origen multimedia debe reenviar y los eventos MEBufferingStarted y MEBufferingStopped que recibe mientras se inicia. La sesión multimedia pausará el reloj de presentación mientras el almacenamiento en búfer está en curso y reiniciará el reloj de presentación cuando se complete el almacenamiento en búfer. El origen multimedia solo debe reenviar estos eventos mientras se reproduce la presentación. El propósito de enviar estos eventos a la sesión multimedia es pausar el tiempo de presentación mientras el origen almacena en búfer los datos.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | mfidl.h |