Metodo CTransInPlaceFilter.DecideBufferSize

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine 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, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il DecideBufferSize metodo imposta i requisiti del buffer del pin di output.

Sintassi

HRESULT DecideBufferSize(
   IMemAllocator        *pAlloc,
   ALLOCATOR_PROPERTIES *pProperties
);

Parametri

pAlloc

Puntatore all'oggetto IMemAllocator usato dal pin di output.

pProperties

Puntatore alle proprietà dell'allocatore richieste per conteggio, dimensioni e allineamento, come specificato dalla struttura ALLOCATOR_PROPERTIES .

Valore restituito

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

Codice restituito Descrizione
S_OK
Operazione riuscita
E_FAIL
Operazioni non riuscite

Commenti

Questo metodo viene chiamato quando la classe CTransInPlaceFilter deve fornire una dimensione del buffer al filtro downstream. Se il filtro CTransInPlaceFilter è già connesso a upstream, usa le proprietà allocator nella connessione pin upstream. In caso contrario, imposta le dimensioni del buffer su 1 byte come valore temporaneo del segnaposto. Quando il filtro upstream si connette, la classe CTransInPlaceFilter rinegotizza l'allocatore downstream. Per altre informazioni sul processo di connessione pin in questa classe, vedere Classe CTransInPlaceFilter.

Requisiti

Requisito Valore
Intestazione
Transip.h (include Streams.h)
Libreria
Strmbase.lib (build al dettaglio);
Strmbasd.lib (build di debug)

Vedi anche

Classe CTransInPlaceFilter