Condividi tramite


Sink multimediali ASF

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

Media Foundation offre due tipi di sink multimediali ASF:

  • sink di file ASF viene usato per archiviare dati multimediali ASF in un file.
  • 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 aggiungendolo alla topologia. In Windows 7, se usi gli oggetti transcodifica veloci per creare la topologia, non hai creato direttamente il sink multimediale e l'applicazione non chiama alcun metodo nel sink multimediale o in uno dei sink di flusso. Gli oggetti transcodifica 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 transcodifica veloci, esistono alcune restrizioni che si applicano a seconda del tipo di codifica.

Modello a oggetti del sink multimediale ASF

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

Interfaccia Descrizione
IMFMediaSink Obbligatorio per tutti i sink multimediali.
IMFFinalizableMediaSink 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.
IMFClockStateSink 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.
IMFMetadata Usato per descrivere i metadati per il file ASF.
IMFMetadataProvider 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 IMFMediaSink fornita da Media Foundation che un'applicazione può usare per archiviare dati multimediali ASF in un file.

È necessario creare, configurare e chiamare metodi nel sink di file o in uno dei relativi sink di flusso se si usano gli oggetti livello 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 del file ASF:

componenti ASF del livello pipeline

supporto asf in Media Foundation