Compartilhar via


Interface IMFByteStreamBuffering (mfidl.h)

Controla como um fluxo de bytes armazena dados de uma rede.

Para obter um ponteiro para essa interface, chame QueryInterface no objeto de fluxo de bytes.

Herança

A interface IMFByteStreamBuffering herda da interface IUnknown . IMFByteStreamBuffering também tem estes tipos de membros:

Métodos

A interface IMFByteStreamBuffering tem esses métodos.

 
IMFByteStreamBuffering::EnableBuffering

Habilita ou desabilita o buffer.
IMFByteStreamBuffering::SetBufferingParams

Define os parâmetros de buffer.
IMFByteStreamBuffering::StopBuffering

Interrompe qualquer buffer em andamento.

Comentários

Se um fluxo de bytes implementar essa interface, uma fonte de mídia poderá usá-la para controlar como o fluxo de bytes armazena dados em buffers. Essa interface foi projetada para fluxos de bytes que leem dados de uma rede.

Um fluxo de bytes que implementa essa interface também deve implementar a interface IMFMediaEventGenerator . Quando o fluxo de bytes inicia o buffer, ele envia um evento MEBufferingStarted . Quando ele para de armazenar em buffer, ele envia um evento MEBufferingStopped .

O fluxo de bytes deve enviar um evento MEBufferingStopped correspondente para cada evento MEBufferingStarted . O fluxo de bytes não deve enviar eventos MEBufferingStarted, a menos que a fonte de mídia tenha habilitado o buffer chamando EnableBuffering com o valor TRUE.

Depois que o fluxo de bytes enviar um evento MEBufferingStarted , ele deverá enviar MEBufferingStopped se ocorrer um destes procedimentos:

  • O fluxo de bytes conclui o buffer de dados.
  • O fluxo de bytes atinge o final do fluxo.
  • A fonte de mídia chama EnableBuffering com o valor FALSE.
  • A fonte de mídia chama StopBuffering.
O fluxo de bytes não deve enviar mais eventos de buffer depois de atingir o final do arquivo.

Se o buffer estiver desabilitado, o fluxo de bytes não enviará nenhum evento de buffer. Internamente, no entanto, ele ainda pode armazenar dados em buffer enquanto aguarda a conclusão das solicitações de E/S. Portanto, os métodos IMFByteStream podem levar um período indefinido para serem concluídos.

Se o fluxo de bytes estiver armazenando dados em buffer internamente e a fonte de mídia chamar EnableBuffering com o valor TRUE, o fluxo de bytes poderá enviar MEBufferingStarted imediatamente.

Depois que a apresentação for iniciada, a fonte de mídia deverá encaminhar e os eventos MEBufferingStarted e MEBufferingStopped que ele recebe quando iniciado. A Sessão de Mídia pausará o relógio de apresentação enquanto o buffer estiver em andamento e reiniciará o relógio de apresentação quando o buffer for concluído. A fonte de mídia só deve encaminhar esses eventos enquanto a apresentação estiver sendo reproduzida. A finalidade de enviar esses eventos para a Sessão de Mídia é pausar o tempo de apresentação enquanto os dados de buffers de origem.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho mfidl.h

Confira também

IMFByteStream

IMFByteStreamCacheControl

Media Foundation Interfaces