Share via


Sink multimediali ASF

Il sink multimediale ASF è il componente finale della pipeline di codifica che consente a un'applicazione di scrivere un file ASF.

Media Foundation offre due tipi di sink multimediali ASF:

  • Il sink di file ASF viene usato per archiviare i dati multimediali ASF in un file.
  • Il sink di streaming ASF viene usato per scrivere contenuto ASF in un flusso di byte che può essere trasmesso attraverso la rete.

I sink multimediali ASF contengono uno o più sink di flusso, che rappresenta i dati da scrivere per ogni flusso nel file ASF di output. Per le applicazioni di codifica eseguite in Windows Vista, è necessario configurare manualmente la topologia di codifica creando e configurando il sink multimediale ASF e quindi aggiungerlo alla topologia. In Windows 7, se si usano gli oggetti transcode veloci per creare la topologia, non si dispone del sink multimediale direttamente e l'applicazione non chiama alcun metodo nel sink multimediale o in uno dei sink di flusso. Gli oggetti transcode veloci creano un'istanza dei sink multimediali necessari e lo aggiungono alla topologia prima di restituire un riferimento all'applicazione chiamante. Tuttavia, per gli oggetti transcode veloci, esistono alcune restrizioni che si applicano a seconda del tipo di codifica.

Modello a oggetti sink multimediale ASF

I sink multimediali ASF implementano l'interfaccia FMMediaSink ed espongono le interfacce seguenti. Un'applicazione può ottenere un riferimento a queste interfacce chiamando QueryInterface nel sink multimediale ASF che usa per generare esempi di output.

Interfaccia Descrizione
FMMediaSink Obbligatorio per tutti i sink multimediali.
FMFinalizableMediaSink Implementato dal sink di file ASF che scrive il contenuto multimediale generato in un file. È possibile usare i metodi in questa interfaccia per scaricare i dati e aggiornare l'oggetto intestazione ASF del file di output finale.
FMClockStateSink Riceve notifiche di modifica dello stato dall'orologio della presentazione.
IMFASFContentInfo L'oggetto ASF ContentInfo è un oggetto a livello WMContainer che archivia principalmente le informazioni sull'oggetto intestazione ASF. Viene usato per creare sink multimediali ASF.
FMMetadata Usato per descrivere i metadati per il file ASF.
FMMetadataProvider Recupera una raccolta di metadati, per un'intera presentazione o per un flusso nella presentazione.

 

ASF File Sink

Il sink di file ASF è un'implementazione di FMMediaSink fornita da Media Foundation che un'applicazione può usare per archiviare i dati multimediali ASF in un file.

È necessario creare, configurare e chiamare i metodi nel sink di file o in uno dei relativi sink di flusso se si usano gli oggetti del livello della pipeline per scrivere un nuovo file ASF. Dopo aver configurato il sink di file, è possibile aggiungerlo alla pipeline di codifica.

Ecco i passaggi generali per l'uso del sink di file ASF:

  1. Creare il sink di file in-process o out-of-process.
  2. Configurare il sink di file con tutti i flussi, le proprietà di codifica e le informazioni sui metadati.
  3. Associare il sink di file al nodo della topologia di output enumerando i sink di flusso o tenendo traccia dei numeri di flusso con nel sink.

Gli argomenti seguenti contengono informazioni dettagliate sull'uso del sink di file ASF:

Componenti del livello di pipeline ASF

Supporto asF in Media Foundation