ASF-Mediensenken

Die ASF-Mediensenke ist die letzte Komponente in der Codierungspipeline, die es einer Anwendung ermöglicht, eine ASF-Datei zu schreiben.

Media Foundation bietet zwei Arten von ASF-Mediensenken:

  • Die ASF-Dateisenke wird verwendet, um ASF-Mediendaten in einer Datei zu archivieren.
  • Die ASF-Streamingsenke wird verwendet, um ASF-Inhalte in einen Bytestream zu schreiben, der über das Netzwerk gestreamt werden kann.

ASF-Mediensenken enthalten eine oder mehrere Streamsenken, die die zu schreibenden Daten für jeden Stream in der ASF-Ausgabedatei darstellt. Für Codierungsanwendungen, die unter Windows Vista ausgeführt werden, müssen Sie die Codierungstopologie manuell konfigurieren, indem Sie die ASF-Mediensenke erstellen und konfigurieren und dann der Topologie hinzufügen. Wenn Sie Windows 7 die schnellen Transcodierungsobjekte zum Erstellen der Topologie verwenden, haben Sie die Mediensenke nicht direkt erstellt, und die Anwendung aufruft keine Methoden für die Mediensenke oder eine der Streamsenken. Die schnellen Transcodierungsobjekte instanziieren die erforderlichen Mediensenken und fügen sie der Topologie hinzu, bevor sie einen Verweis auf die Aufruferanwendung zurückgeben. Für schnelle Transcodierungsobjekte gelten jedoch einige Einschränkungen, die je nach Codierungstyp gelten.

ASF-Mediensenkenobjektmodell

ASF-Mediensenken implementieren die BEFIMediaSink-Schnittstelle und machen die folgenden Schnittstellen verfügbar. Eine Anwendung kann einen Verweis auf diese Schnittstellen erhalten, indem sie QueryInterface für die ASF-Mediensenke aufruft, die sie zum Generieren von Ausgabebeispielen verwendet.

Schnittstelle BESCHREIBUNG
VERERBUNGMediaSink Erforderlich für alle Mediensenken.
VEREERBUNGFinalizableMediaSink Wird von der ASF-Dateisenke implementiert, die den generierten Medieninhalt in eine Datei schreibt. Sie können die Methoden auf dieser Schnittstelle verwenden, um Daten zu leeren und das ASF-Headerobjekt der endgültigen Ausgabedatei zu aktualisieren.
DEADClockStateSink Empfängt Zustandsänderungsbenachrichtigungen von der Präsentationsuhr.
IMFASFContentInfo Das ASF ContentInfo-Objekt ist ein WMContainer-Level-Objekt, das hauptsächlich INFORMATIONEN zum ASF-Headerobjekt speichert. Dies wird verwendet, um ASF-Mediensenken zu erstellen.
VERERBungsmetadaten Wird verwendet, um die Metadaten für die ASF-Datei zu beschreiben.
ANBIETERMetadataProvider Ruft eine Auflistung von Metadaten entweder für eine gesamte Präsentation oder für einen Stream in der Präsentation ab.

ASF-Dateisenke

Die ASF-Dateisenke ist eine Implementierung von DURCHFMediaSink Media Foundation die eine Anwendung zum Archivieren von ASF-Mediendaten in einer Datei verwenden kann.

Sie müssen Methoden für die Dateisenke oder eine ihrer Streamsenken erstellen, konfigurieren und aufrufen, wenn Sie die Pipelineebenenobjekte verwenden, um eine neue ASF-Datei zu schreiben. Nach dem Konfigurieren der Dateisenke können Sie sie der Codierungspipeline hinzufügen.

Im Folgenden finden Sie die allgemeinen Schritte für die Verwendung der ASF-Dateisenke:

  1. Erstellen Sie die Dateisenke prozessin- oder out-of-process.
  2. Konfigurieren Sie die Dateisenke mit allen Datenströmen, Codierungseigenschaften und Metadateninformationen.
  3. Ordnen Sie die Dateisenke dem Ausgabetopologieknoten zu, indem Sie die Streamsenken aufzählen oder die Streamnummern mit in der Senke nachverfolgen.

Die folgenden Themen enthalten ausführliche Informationen zum Arbeiten mit der ASF-Dateisenke:

ASF-Komponenten auf Pipelineebene

ASF-Unterstützung in Media Foundation