Metodo IVMRFilterConfig::SetNumberOfStreams (strmif.h)

[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 SetNumberOfStreams metodo imposta il numero di flussi da miscelare e indica a VMR di passare in modalità mixer.

Sintassi

HRESULT SetNumberOfStreams(
  [in] DWORD dwMaxStreams
);

Parametri

[in] dwMaxStreams

Parola doppia contenente il numero massimo di flussi di input necessari per combinare vmR. Non deve essere maggiore di MAX_MIXER_STREAMS (16).

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se ha esito negativo, viene restituito un codice di errore.

Codice restituito Descrizione
E_FAIL
Il mixer è già configurato.
E_INVALIDARG
È stato effettuato un tentativo di configurare il mixer per più di 16 flussi di input.
E_OUTOFMEMORY
Impossibile allocare memoria per gestire i flussi.

Commenti

dwMaxStreams deve essere uguale al numero di pin di input necessari. Non è possibile aggiungere o rimuovere pin dopo la connessione di VMR. Se non si conosce in anticipo il numero di flussi di input necessari, impostare dxMaxStreams sul numero massimo che potrebbe essere necessario. Il valore 1 è valido per dwMaxStreams. Questo valore non causa la creazione di alcun pin aggiuntivo, ma forza la macchina virtuale a passare in modalità "mixer". Pertanto, una volta chiamato questo metodo, non è possibile chiamare SetRenderingMode per impostare la modalità su VMRMode_Renderless

VmR crea il numero di pin di input specificati senza tentare di determinare se esiste una memoria video sufficiente per supportarli tutti. Ciò è dovuto al fatto che non ha modo di conoscere il tipo di supporto o le dimensioni del rettangolo in questo momento. Successivamente, quando un filtro upstream tenta di connettersi a un pin, a quel punto il tipo di supporto è noto e vmR esaminerà la memoria video e avrà esito negativo sulla connessione se non è sufficiente elaborare il flusso.

Nota Anche se vmR supporta più flussi, condividono tutti un singolo orologio e pertanto non è possibile cercare un flusso indipendentemente dagli altri. Se è necessario cercare i flussi di input in modo indipendente, è necessario usare una tecnica diversa. Per altre informazioni, vedere l'esempio VMRMulti.
 

Requisiti

Requisito Valore
Client minimo supportato Windows XP con SP1 [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione strmif.h (include Dshow.h)
Libreria Strmiids.lib

Vedi anche

Codici errore e esito positivo

Interfaccia IVMRFilterConfig

IVMRFilterConfig::GetNumberOfStreams

Uso del renderer di mix video