Freigeben über


CSourceStream.FillBuffer-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 FillBuffer -Methode füllt ein Medienbeispiel mit Daten.

Syntax

virtual HRESULT FillBuffer(
   IMediaSample *pSample
) = 0;

Parameter

pSample

Zeiger auf die IMediaSample-Schnittstelle des Beispiels.

Rückgabewert

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

Rückgabecode Beschreibung
S_FALSE
Ende des Datenstroms
S_OK
Erfolgreich

Bemerkungen

Die abgeleitete Klasse muss diese Methode implementieren.

Das Medienbeispiel für diese Methode weist keine Zeitstempel auf. Die abgeleitete Klasse sollte die IMediaSample::SetTime-Methode aufrufen, um die Zeitstempel festzulegen. Falls für den Medientyp geeignet, sollte die abgeleitete Klasse auch die Medienzeiten festlegen, indem die IMediaSample::SetMediaTime-Methode aufgerufen wird. Weitere Informationen finden Sie unter Zeit und Uhren in DirectShow.

Gibt S_FALSE am Ende des Datenstroms zurück. Dies bewirkt, dass die CSourceStream-Klasse die Benachrichtigung zum Datenstromende sendet und die Pufferverarbeitungsschleife anhält. Weitere Informationen finden Sie unter CSourceStream::D oBufferProcessingLoop .

Anforderungen

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

Siehe auch

CSourceStream-Klasse