Lettore di origine

Il lettore di origine è un'alternativa all'uso della sessione multimediale e della pipeline di Microsoft Media Foundation per elaborare i dati multimediali.

Perché usare il lettore di origine?

Media Foundation fornisce una pipeline ottimizzata per la riproduzione. La pipeline è end-to-end, ovvero gestisce il flusso di dati dall'origine (ad esempio un file video) fino alla destinazione (ad esempio la visualizzazione grafica). Tuttavia, se si vogliono leggere o modificare i dati mentre passano attraverso la pipeline, è necessario scrivere un plug-in personalizzato. Ciò richiede una conoscenza abbastanza approfondita della pipeline di Media Foundation. Per determinate attività, la creazione di un nuovo plug-in è troppo sovraccarico. Il lettore di origine è progettato per questo tipo di situazione, quando si desidera ottenere i dati non elaborati da un'origine senza l'overhead dell'intera pipeline.

Internamente, il lettore di origine contiene un puntatore a un'origine multimediale. Un'origine multimediale è un oggetto Media Foundation che genera dati multimediali da un'origine esterna, ad esempio un file multimediale o un dispositivo di acquisizione video. Il lettore di origine gestisce tutte le chiamate al metodo all'origine multimediale. Per altre informazioni sulle origini multimediali, vedere Origini multimediali.

Se l'origine multimediale fornisce dati compressi, è possibile usare il lettore di origine per decodificare i dati. In tal caso, il lettore di origine caricherà il decodificatore corretto e gestirà il flusso di dati tra l'origine multimediale e il decodificatore. Il lettore di origine può anche eseguire un'elaborazione video limitata: conversione di colori da YUV a RGB-32 e denterlacing software, anche se queste operazioni non sono consigliate per il rendering di video in tempo reale. L'immagine seguente illustra questo processo.

diagramma del lettore di origine

Il lettore di origine non invia i dati a una destinazione; spetta all'applicazione utilizzare i dati. Ad esempio, il lettore di origine può leggere un file video, ma non eseguirà il rendering del video sullo schermo. Inoltre, il lettore di origine non gestisce un orologio di presentazione, gestisce i problemi di temporizzazione o sincronizza il video con l'audio.

È consigliabile usare il lettore di origine quando:

  • Si vogliono ottenere dati da un file multimediale senza doversi preoccupare della struttura di file sottostante.
  • Si vogliono ottenere dati da un dispositivo di acquisizione audio o video.
  • Le attività di elaborazione dati non sono sensibili al tempo o non è necessario un orologio di presentazione.
  • Si dispone già di una pipeline multimediale non basata su Media Foundation e si vuole incorporare le origini multimediali di Media Foundation nella propria pipeline.

Il lettore di origine non è consigliato nelle situazioni seguenti:

  • Per il contenuto protetto. Il lettore di origine non supporta digital rights management (DRM).
  • Se si desiderano conoscere i dettagli della struttura di file sottostante. Il lettore di origine nasconde quel tipo di dettaglio.

Contenuto della sezione

Argomento Descrizione
Uso del lettore di origine per elaborare i dati multimediali
In questo argomento viene descritto come usare il lettore di origine per elaborare i dati multimediali.
Uso del lettore di origine in modalità asincrona
In questo argomento viene descritto come usare il lettore di origine in modalità asincrona.
Esercitazione: Decodifica dell'audio
Questa esercitazione illustra come usare il lettore di origine per decodificare l'audio da un file multimediale e scrivere l'audio in un file WAVE.

 

Architettura di Media Foundation

Guida alla programmazione di Media Foundation

IMFSourceReader