Compartir a través de


Evento MEBufferingStarted

Indica que un origen multimedia ha empezado a almacenar en búfer los datos.

Un origen multimedia puede enviar este evento si el origen almacena en búfer los datos mientras se ejecuta la sesión multimedia. Cuando la sesión multimedia recibe este evento, pausa el reloj de presentación hasta que el origen multimedia envía el evento MEBufferingStopped . La sesión multimedia también reenvía el evento MEBufferingStarted a la aplicación.

Las secuencias de bytes que implementan la interfaz IMFByteStreamBuffering también envían este evento.

Valores de evento

Entre los valores posibles recuperados de IMFMediaEvent::GetValue se incluyen los siguientes.

VARTYPE Descripción
VT_EMPTY
Sin datos del evento.

Comentarios

Si un origen multimedia envía el evento MEBufferingStarted, debe enviar el evento MEBufferingStopped cuando detiene el almacenamiento en búfer de los datos. El origen multimedia debe enviar un evento MEBufferingStopped coincidente para cada evento MEBufferingStarted. El origen multimedia no debe reenviar estos eventos antes de llamar al método IMFMediaSource::Start del origen o después de llamar al método IMFMediaSource::Stop del origen.

Si va a transmitir desde el origen de red de Media Foundation, puede obtener el progreso del almacenamiento en búfer consultando la estadística MFNETSOURCE_BUFFERPROGRESS_ID . Para obtener más información, consulte MFNETSOURCE_STATISTICS_IDS.

Ejemplos

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 Value
Cliente mínimo compatible
Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado
Mfobjects.h (incluya Mfidl.h)

Consulte también

Eventos de Media Foundation

Redes en Media Foundation