Metodo CSourceStream.FillBuffer

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il FillBuffer metodo riempie un campione multimediale con dati.

Sintassi

virtual HRESULT FillBuffer(
   IMediaSample *pSample
) = 0;

Parametri

pSample

Puntatore all'interfaccia IMediaSample dell'esempio.

Valore restituito

Restituisce un valore HRESULT . I valori possibili includono quelli illustrati nella tabella seguente.

Codice restituito Descrizione
S_FALSE
Fine del flusso
S_OK
Operazione riuscita

Commenti

La classe derivata deve implementare questo metodo.

L'esempio multimediale fornito a questo metodo non ha timestamp. La classe derivata deve chiamare il metodo IMediaSample::SetTime per impostare i timestamp. Se appropriato per il tipo di supporto, la classe derivata deve anche impostare i tempi multimediali chiamando il metodo IMediaSample::SetMediaTime . Per altre informazioni, vedere Time and Clocks in DirectShow.

Restituisce S_FALSE alla fine del flusso. In questo modo la classe CSourceStream invia la notifica end-of-stream e interrompe il ciclo di elaborazione del buffer. Per altre informazioni , vedere CSourceStream::D oBufferProcessingLoop .

Requisiti

Requisito Valore
Intestazione
Source.h (include Streams.h)
Libreria
Strmbase.lib (build retail);
Strmbasd.lib (build di debug)

Vedi anche

Classe CSourceStream