Evento MEBufferingStarted
Sinaliza que uma fonte de mídia começou a armazenar dados em buffer.
Uma fonte de mídia poderá enviar esse evento se a origem armazenar dados em buffer enquanto a Sessão de Mídia estiver em execução. Quando a Sessão de Mídia recebe esse evento, ela pausa o relógio de apresentação até que a fonte de mídia envie o evento MEBufferingStopped . A Sessão de Mídia também encaminha o evento MEBufferingStarted para o aplicativo.
Os fluxos de bytes que implementam a interface IMFByteStreamBuffering também enviam esse evento.
Valores de evento
Os valores possíveis recuperados de IMFMediaEvent::GetValue incluem o seguinte.
VARTYPE | Descrição |
---|---|
VT_EMPTY |
Nenhum dado do evento. |
Comentários
Se uma fonte de mídia enviar o evento MEBufferingStarted, ele deverá enviar o evento MEBufferingStopped quando parar de armazenar dados em buffer. A fonte de mídia deve enviar um evento MEBufferingStopped correspondente para cada evento MEBufferingStarted. A fonte de mídia não deve encaminhar esses eventos antes que o método IMFMediaSource::Start da origem seja chamado ou depois que o método IMFMediaSource::Stop da origem for chamado.
Se você estiver transmitindo da fonte de rede do Media Foundation, poderá obter o progresso do buffer consultando a estatística de MFNETSOURCE_BUFFERPROGRESS_ID . Para obter mais informações, consulte MFNETSOURCE_STATISTICS_IDS.
Exemplos
HRESULT GetBufferProgress(IMFMediaSession *pSession, DWORD *pProgress)
{
IPropertyStore *pProp = NULL;
PROPVARIANT var;
// Get the property store from the media session.
HRESULT hr = MFGetService(
pSession,
MFNETSOURCE_STATISTICS_SERVICE,
IID_PPV_ARGS(&pProp)
);
if (SUCCEEDED(hr))
{
PROPERTYKEY key;
key.fmtid = MFNETSOURCE_STATISTICS;
key.pid = MFNETSOURCE_BUFFERPROGRESS_ID;
hr = pProp->GetValue(key, &var);
}
if (SUCCEEDED(hr))
{
*pProgress = var.lVal;
}
PropVariantClear(&var);
SafeRelease(&pProp);
return hr;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2008 [somente aplicativos da área de trabalho] |
Cabeçalho |
|
Confira também