Freigeben über


CSourceStream.DoBufferProcessingLoop-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die DoBufferProcessingLoop -Methode generiert Mediendaten und übermittelt sie an den nachgeschalteten Eingabepin.

Syntax

virtual HRESULT DoBufferProcessingLoop();

Parameter

Diese Methode hat keine Parameter.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Mögliche Werte sind die in der folgenden Tabelle gezeigten Werte.

Rückgabecode Beschreibung
S_FALSE
Der Thread hat eine Stop-Anforderung erhalten.
S_OK
Datenstrom beendet oder nachgeschalteter Filter akzeptiert keine Beispiele.

Bemerkungen

Diese Methode implementiert die Standard-Schleife, die Daten verarbeitet und nachgeschaltet übermittelt. Jedes Mal, wenn die -Schleife durchläuft, ruft die -Methode ein leeres Medienbeispiel aus der Zuweisung ab. Das Beispiel wird an die CSourceStream::FillBuffer-Methode übergeben. Die FillBuffer-Methode , die von der abgeleiteten Klasse implementiert werden muss, generiert Mediendaten und platziert sie im Beispielpuffer.

Die Schleife endet, wenn eine der folgenden Aktionen auftritt:

Die DoBufferProcessingLoop -Methode verarbeitet die Benachrichtigung zum Datenstromende. Wenn ein Fehler auftritt, wird ein EC_ERRORABORT-Ereignis an den Filtergraph-Manager gesendet.

Anforderungen

Anforderung Wert
Header
Source.h (include Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CSourceStream-Klasse