Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Una topologia è un oggetto che rappresenta il flusso dei dati nella pipeline. Un'applicazione crea una topologia per descrivere il percorso che ogni flusso segue dall'origine multimediale a una destinazione multimediale. L'applicazione passa la topologia alla sessione multimediale e la sessione multimediale usa la topologia per controllare il flusso di dati.
I componenti di elaborazione dati nella pipeline (origini multimediali, trasformazioni e sink multimediali) sono rappresentati nella topologia come nodi . Il flusso di dati da un componente a un altro è rappresentato da una connessione tra i nodi. Sono definiti i tipi di nodo seguenti:
- Nodo di origine: rappresenta un flusso multimediale in un'origine multimediale.
- Nodo di trasformazione: rappresenta un nodo di trasformazione di Media Foundation (MFT).
- Nodo di output: rappresenta un sink di flusso in un sink multimediale.
- Nodo Tee: rappresenta una biforcazione nel flusso. I nodi tee sono un'eccezione alla regola che un nodo rappresenta un oggetto pipeline. A differenza di altri tipi di nodo, il nodo tee indirizza semplicemente il flusso di dati.
Una topologia funzionante deve contenere almeno un nodo di origine connesso a un nodo di output, possibilmente tramite uno o più nodi di trasformazione. Ad esempio, il diagramma seguente mostra una topologia semplice con un flusso.
Per la riproduzione di file, il nodo di trasformazione potrebbe rappresentare un decodificatore e il nodo di output rappresenterebbe il renderer audio o video. Per la codifica dei file, il nodo di trasformazione rappresenta un codificatore e il nodo di output rappresenta un sink di archivio, ad esempio il sink del file ASF.
Se due nodi sono connessi, il nodo che produce dati viene chiamato nodo upstream e il nodo che riceve i dati viene chiamato nodo downstream. Nel diagramma precedente, ad esempio, il nodo di origine è upstream dal nodo di trasformazione.
In una coppia di nodi connessi, il punto di connessione nel nodo upstream viene chiamato output . Il punto di connessione nel nodo downstream viene chiamato input . Il diagramma seguente mostra una coppia di nodi con i relativi punti di connessione e il flusso di dati tra di essi. I punti di connessione non sono rappresentati come oggetti separati nella topologia. Vengono specificati dal valore di indice nell'oggetto nodo.
Un nodo di origine non può avere input. Di conseguenza, non possono essere presenti nodi upstream da un nodo di origine. Analogamente, un nodo di output non può avere output e non può essere presente alcun nodo downstream da un nodo di output. Una catena di nodi da un nodo di origine a un nodo di output viene chiamata ramo della topologia. Il primo diagramma di questo argomento illustra una topologia con un singolo ramo. In genere è presente un ramo per flusso. Per riprodurre un file con un flusso audio e un flusso video, ad esempio, richiede una topologia con due rami.
Topologie parziali
Una topologia completa o piena contiene un nodo per ogni oggetto della pipeline necessario. Tuttavia, l'applicazione non deve sempre creare una topologia completa. Crea invece una topologia parziale che omette uno o più nodi di trasformazione.
La sessione multimediale completa la topologia usando un oggetto denominato caricatore della topologia . Il caricatore della topologia converte le topologie parziali in topologie complete inserendo le trasformazioni necessarie. Il processo di conversione viene chiamato risoluzione della topologia.
Ad esempio, per riprodurre un flusso audio codificato, la topologia deve avere un decodificatore tra i nodi di origine e di output. L'applicazione crea una topologia parziale che connette il nodo di origine direttamente al nodo di output, senza il decodificatore. Il caricatore della topologia esamina i formati di flusso, trova il decodificatore corretto e inserisce un nodo di trasformazione nella topologia.
Il diagramma seguente illustra la topologia parziale creata dall'applicazione.
Il diagramma seguente mostra la topologia completa dopo che viene risolta dal caricatore della topologia. In questo esempio il caricatore della topologia ha inserito un nodo di trasformazione per il decodificatore.
Nella versione corrente di Media Foundation il caricatore della topologia supporta le topologie per la riproduzione. Per la codifica dei file e altri scenari, l'applicazione deve costruire una topologia completa.
Le applicazioni possono anche creare il caricatore della topologia e usarlo direttamente. Ad esempio, è possibile usare il caricatore della topologia per risolvere una topologia parziale e quindi modificare la topologia completa prima di assegnarla alla sessione multimediale. Per creare il caricatore della topologia, chiamare MFCreateTopoLoader.
Argomenti correlati