Metodo CDynamicOutputPin.ChangeOutputFormat
[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 ChangeOutputFormat
metodo modifica dinamicamente il tipo di supporto per la connessione e fornisce nuove informazioni sui segmenti. La modifica può verificarsi durante l'esecuzione del grafico dei filtri. Una volta chiamato questo metodo, non è possibile recapitare campioni con il tipo di supporto precedente. Il chiamante deve assicurarsi che nessun campione precedente sia in sospeso.
Sintassi
HRESULT ChangeOutputFormat(
const AM_MEDIA_TYPE *pmt,
REFERENCE_TIME tSegmentStart,
REFERENCE_TIME tSegmentStop,
double dSegmentRate
);
Parametri
-
Pmt
-
Puntatore a una struttura AM_MEDIA_TYPE che specifica il tipo di supporto.
-
tSegmentStart
-
Ora di inizio del segmento.
-
tSegmentStop
-
Ora di arresto del segmento.
-
dSegmentRate
-
Frequenza segmento.
Valore restituito
Restituisce un valore HRESULT . I valori possibili includono quelli illustrati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
Esito negativo. Probabilmente il filtro proprietario non ha chiamato CDynamicOutputPin::SetConfigInfo. |
|
Il pin non è connesso. |
Commenti
Questo metodo modifica il tipo di formato durante l'esecuzione del filtro. Se il pin downstream accetta il nuovo formato, non è necessaria alcuna riconnessione. In caso contrario, il metodo tenta di riconnettere il pin. Se il metodo modifica correttamente il formato, fornisce le nuove informazioni sul segmento. Questo metodo chiama il metodo CDynamicOutputPin::ChangeMediaType per eseguire la modifica del formato.
È necessario chiamare il metodo CDynamicOutputPin::StartUsingOutputPin prima di chiamare questo metodo.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|