Metodo CDynamicOutputPin.ChangeMediaType
[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 ChangeMediaType
metodo modifica dinamicamente il tipo di supporto per la connessione. La modifica può verificarsi durante l'esecuzione del grafico del filtro. Una volta chiamato questo metodo, non è possibile recapitare esempi con il tipo di supporto precedente. Il chiamante deve assicurarsi che nessun campione precedente sia in sospeso.
Sintassi
HRESULT ChangeMediaType(
const CMediaType *pmt
);
Parametri
-
Pmt
-
Puntatore a una struttura AM_MEDIA_TYPE che specifica il tipo di supporto.
Valore restituito
Restituisce un valore HRESULT . I valori possibili includono quelli visualizzati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
Esito negativo. Probabilmente il filtro proprietario non ha chiamato CDynamicOutputPin::SetConfigInfo. |
|
Il pin non è connesso. |
Commenti
Chiamare il metodo CDynamicOutputPin::StartUsingOutputPin prima di chiamare questo metodo.
Questo metodo controlla innanzitutto se il pin di input downstream può accettare il nuovo formato senza riconnettersi. Esegue una query sul pin di input per l'interfaccia IPinConnection . Se il pin di input supporta IPinConnection, il metodo chiama il metodo IPinConnection::D ynamicQueryAccept con il tipo di supporto proposto. Se il pin di input accetta il nuovo tipo di supporto, il metodo chiama il metodo IPin::ReceiveConnection e rinegozia i requisiti dell'allocatore.
Se il pin downstream non supporta IPinConnection o se rifiuta il nuovo tipo di supporto, il metodo chiama il metodo CDynamicOutputPin::D ynamicReconnect per eseguire una riconnessione dinamica.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|