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 |
|
Consulte también