Compilazione avanzata della topologia

Questa sezione descrive alcune tecniche avanzate per la creazione di topologie. È possibile usare queste tecniche se si vuole più controllo sulle topologie inviate alla sessione multimediale.

Poiché queste tecniche sono destinate a scenari che superano la funzionalità fornita dal caricatore della topologia standard, molti dei dettagli dipendono dai requisiti specifici dell'applicazione. Pertanto, questa sezione è organizzata in modo libero intorno a sottotask più piccoli, anziché scenari completi e end-to-end.

L'applicazione di riproduzione tipica segue questa procedura:

  1. L'applicazione compila una topologia parziale e la accoda nella sessione multimediale.
  2. La sessione multimediale richiama il caricatore della topologia per risolvere la topologia.

Se si vuole superare le funzionalità del caricatore della topologia, sono disponibili tre approcci generali:

  • Compilare una topologia completa. Quando si accoda la topologia nella sessione multimediale, chiamare IMFMediaSession::SetTopology con il flag di MFSESSION_SETTOPOLOGY_NORESOLUTION. Questo flag impedisce alla sessione multimediale di tentare di risolvere la topologia.

  • Richiamare direttamente il caricatore della topologia per risolvere la topologia. È quindi possibile modificare la topologia completa prima di accodarla nella sessione multimediale.

  • Implementare un caricatore della topologia personalizzato. Con questo approccio, si accoda una topologia parziale, ma la sessione multimediale richiama il caricatore personalizzato anziché l'implementazione standard di Media Foundation. Un vantaggio di questo approccio è che è possibile eseguire la compilazione di topologie personalizzate all'interno dell'ambiente protetto. In questo caso, tuttavia, il caricatore della topologia deve essere un componente attendibile. Per altre informazioni, vedere Percorso multimediale protetto.

In questa sezione vengono trattati gli argomenti seguenti.

Argomento Descrizione
Caricatori di topologie personalizzati Come fornire un'implementazione personalizzata di IMFTopoLoader per la sessione multimediale.
Associazione di nodi di output a sink multimediali Come preparare i nodi di output in una topologia se si usa il caricatore della topologia all'esterno della sessione multimediale.
Aggiunta di un decodificatore a una topologia Come selezionare manualmente un decodificatore e aggiungerlo a una topologia.

 

Topologie