MEBufferingStarted-Ereignis

Signalisiert, dass eine Medienquelle begonnen hat, Daten zu puffern.

Eine Medienquelle kann dieses Ereignis senden, wenn die Quelle Daten puffert, während die Mediensitzung ausgeführt wird. Wenn die Mediensitzung dieses Ereignis empfängt, wird die Präsentationsuhr angehalten, bis die Medienquelle das MEBufferingStopped-Ereignis sendet. Die Mediensitzung leitet auch das MEBufferingStarted-Ereignis an die Anwendung weiter.

Bytestreams, die die INTERFACESByteStreamBuffering-Schnittstelle implementieren, senden auch dieses Ereignis.

Ereigniswerte

Mögliche Werte, die von DERMEDIAEVENT::GetValue abgerufen werden, sind:

VARTYPE Beschreibung
VT _ EMPTY
Keine Ereignisdaten.

Hinweise

Wenn eine Medienquelle das MEBufferingStarted-Ereignis sendet, muss sie das MEBufferingStopped-Ereignis senden, wenn das Puffern von Daten beendet wird. Die Medienquelle muss für jedes MEBufferingStarted-Ereignis ein entsprechendes MEBufferingStopped-Ereignis senden. Diese Ereignisse sollten von der Medienquelle nicht weitergeleitet werden, bevor die METHODE "CSVMediaSource::Start" der Quelle aufgerufen wird oder nachdem die METHODE "WFMediaSource::Stop" der Quelle aufgerufen wurde.

Wenn Sie von der Media Foundation Netzwerkquelle streamen, können Sie den Pufferfortschritt abrufen, indem Sie die STATISTIK MFNETSOURCE _ BUFFERPROGRESS _ ID abfragen. Weitere Informationen finden Sie unter MFNETSOURCE _ STATISTICS _ IDS.

Beispiele

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;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows [Nur Vista-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2008-Desktop-Apps]
Header
Mfobjects.h (include Mfidl.h)

Siehe auch

Media Foundation Ereignisse

Netzwerk in Media Foundation