Evento MEBufferingStarted

Sinaliza que uma fonte de mídia começou a buffer de dados.

Uma fonte de mídia pode enviar esse evento se a origem em buffer de dados enquanto a Sessão de Mídia está 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.

Fluxos de byte 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 _ VAZIO
Nenhum dado do evento.

Comentários

Se uma fonte de mídia enviar o evento MEBufferingStarted, ela deverá enviar o evento MEBufferingStopped quando parar de buffer de dados. 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 Media Foundation rede, poderá obter o progresso do buffer consultando a estatística de _ _ ID BUFFERPROGRESS do MFNETSOURCE. 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 Somente [ aplicativos da área de trabalho do Vista]
Servidor mínimo com suporte
Windows Somente aplicativos da área de trabalho server 2008 []
Cabeçalho
Mfobjects.h (inclua Mfidl.h)

Confira também

Media Foundation eventos

Rede em Media Foundation