Freigeben über


MFCreateTranscodeTopology-Funktion (mfidl.h)

Erstellt eine partielle Transcodierungstopologie.

Der zugrunde liegende Topologie-Generator erstellt eine partielle Topologie, indem er die erforderlichen Pipelineobjekte verbindet: Quelle, Encoder und Senke. Der Encoder und die Senke werden gemäß den Vom Aufrufer im Transcodierungsprofil angegebenen Einstellungen konfiguriert.

Um das Transcodierungsprofilobjekt zu erstellen, rufen Sie die MFCreateTranscodeProfile-Funktion auf, und legen Sie die erforderlichen Attribute fest, indem Sie die entsprechenden IMFTranscodeProfile-Methoden aufrufen.

Das konfigurierte Transcodierungsprofil wird an die MFCreateTranscodeTopology-Funktion übergeben, die die Transcodierungstopologie mit den entsprechenden Einstellungen erstellt. Der Aufrufer kann dann diese Topologie für die Mediensitzung festlegen und die Sitzung starten, um den Codierungsvorgang zu starten. Wenn die Mediensitzung endet, wird die transcodierte Datei generiert.

Syntax

HRESULT MFCreateTranscodeTopology(
  [in]  IMFMediaSource      *pSrc,
  [in]  LPCWSTR             pwszOutputFilePath,
  [in]  IMFTranscodeProfile *pProfile,
  [out] IMFTopology         **ppTranscodeTopo
);

Parameter

[in] pSrc

Ein Zeiger auf eine Medienquelle, die die zu transcodierte Quelldatei kapselt. Das Medienquellobjekt macht die IMFMediaSource-Schnittstelle verfügbar und kann mithilfe des Quelllösers erstellt werden. Weitere Informationen finden Sie unter Verwenden des Quellrelösers.

[in] pwszOutputFilePath

Ein Zeiger auf eine NULL-Zeichenfolge, die den Namen und Pfad der zu generierenden Ausgabedatei enthält.

[in] pProfile

Ein Zeiger auf das Transcodierungsprofil, das die Konfigurationseinstellungen für den Audiostream, den Videostream und den Container enthält, in den die Datei geschrieben wird. Das Transcodierungsprofilobjekt macht die IMFTranscodeProfile-Schnittstelle verfügbar und muss durch Aufrufen der MFCreateTranscodeProfile-Funktion erstellt werden. Nachdem das Objekt erstellt wurde, muss der Aufrufer die Konfigurationseinstellungen angeben, indem er die entsprechenden IMFTranscodeProfile-Methoden aufruft .

[out] ppTranscodeTopo

Empfängt einen Zeiger auf die IMFTopology-Schnittstelle des transcodierten Topologieobjekts. Der Aufrufer muss die Schnittstelle freigeben.

Rückgabewert

Die Funktion gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Der Funktionsaufruf war erfolgreich, und ppTranscodeTopo empfängt einen Zeiger auf die Transcodierungstopologie.
E_INVALIDARG
pwszOutputFilePath enthält ungültige Zeichen.
MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED
In der Medienquelle sind keine Streams ausgewählt.
MF_E_TRANSCODE_NO_CONTAINERTYPE
Das Profil enthält nicht das attribut MF_TRANSCODE_CONTAINERTYPE .
MF_E_TRANSCODE_NO_MATCHING_ENCODER
Für einen oder mehrere Datenströme kann kein Encoder gefunden werden, der den im Profil angegebenen Medientyp akzeptiert.
MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS
Das Profil gibt keinen Medientyp für einen der ausgewählten Streams in der Medienquelle an.

Hinweise

Beispielcode, der diese Funktion verwendet, finden Sie in den folgenden Themen:

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mfidl.h
Bibliothek Mf.lib
DLL Mf.dll

Weitere Informationen

IMFTopology

Media Foundation-Funktionen

Topologien

Transcodierungs-API