MF_TRANSCODE_ADJUST_PROFILE_FLAGS-Enumeration (mfidl.h)

Definiert die Profilflags, die im attribut MF_TRANSCODE_ADJUST_PROFILE festgelegt werden.

Diese Flags werden während der Topologieerstellung von MFCreateTranscodeTopology überprüft. Basierend auf diesen Flags passt MFCreateTranscodeTopology das Transcodierungsprofil an, indem die Konfigurationseinstellungen für die Streams entsprechend den Eingabeanforderungen des in der Topologie verwendeten Encoders geändert werden.

Weitere Informationen zu den Streameinstellungen, die eine Anwendung angeben kann, finden Sie unter Verwenden der Transcodierungs-API.

Syntax

typedef enum _MF_TRANSCODE_ADJUST_PROFILE_FLAGS {
  MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0,
  MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1
} MF_TRANSCODE_ADJUST_PROFILE_FLAGS;

Konstanten

 
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT
Wert: 0
Media Foundation verwendet die anwendungsspezifischen Einstellungen für Audio- und Videostreams. Wenn die erforderlichen Einstellungen nicht von der Anwendung bereitgestellt werden, wird die Topologie erstellt, aber die Codierungssitzung schlägt fehl. Für den Videostream werden die Einstellungen für die Bildfrequenz und den Interlacemodus geändert. Weitere Informationen finden Sie in den Hinweisen.
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES
Wert: 1
Sowohl für Audio- als auch für Videostreams werden die fehlenden Streameinstellungen durch Kopieren der Eingabequellenattribute gefüllt. Dieses Flag stellt sicher, dass die transcodierte Ausgabedatei der Eingabedatei am nächsten entspricht.

Hinweise

Wenn das flag MF_TRANSCODE_ADJUST_PROFILE_DEFAULT angegeben ist, werden die folgenden Änderungen für den Videostream vorgenommen:

  • Wenn sich die Bildfrequenz der Medienquelle, die im pSrc-Parameter von MFCreateTranscodeTopology angegeben ist, und die von der Anwendung im attribut MF_MT_FRAME_RATE angegebene Bildrate um weniger als 1/1000 unterscheiden, verwendet das Profil die Bildfrequenz der Medienquelle. Dies liegt daran, dass die Pipeline den Unterschied als vernachlässigbar betrachtet.
  • Wenn die Anwendung keinen Interlaced-Modus durch Festlegen des attributs MF_MT_INTERLACE_MODE angibt, wird das Profil geändert, um progressive Frames zu verwenden.
Das MF_TRANSCODE_ADJUST_PROFILE_DEFAULT-Flag muss mit den erforderlichen Audio- und Videostreamattributen begleitet werden, die von der Anwendung bereitgestellt werden. Für den Audiostream sind folgende Attribute erforderlich: Für den Videostream sind folgende Attribute erforderlich: Wenn diese Attribute nicht festgelegt sind, erstellt MFCreateTranscodeTopology die Topologie, aber Media Session kann die codierte Datei nicht generieren. Der Fehlercode hängt vom MFT-Knoten in der Topologie ab. Wenn die Anwendung beispielsweise die Framegröße nicht festgelegt, kann der WMV-Encoder den Inhalt nicht codieren, und die Anwendung ruft den MF_E_INVALIDMEDIATYPE Fehlercode über die Mediensitzung ab.

Verwenden Sie das flag MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES , wenn Sie die Datei mithilfe der Eingabestreamattribute transcodieren möchten. Die Eingabequelldatenstromattribute werden in den Ausgabemedientyp kopiert, bevor der MFT-Knoten in die Topologie eingefügt wird. Wenn Sie zusätzliche Streamattribute festlegen, überschreibt dieses Flag die Setwerte nicht. Nur die fehlenden Attribute werden mit den Attributwerten der Eingabequelle gefüllt. Dieses Flag ist nützlich im Remux-Szenario, in dem Sie die Ausgabedatei im gleichen Format wie die Eingabequelle generieren möchten. Wenn Sie eine Formatkonvertierung durchführen möchten, stellen Sie sicher, dass Sie das MF_MT_SUBTYPE-Attribut für den Stream festlegen, um den Encoder anzugeben, den der Topologie-Generator verwenden muss. Der Transformationsknoten wird der Topologie hinzugefügt, es sei denn , MF_TRANSCODE_DONOT_INSERT_ENCODER festgelegt ist. In diesem Fall ist der Inhalt nicht codiert. Wenn der Container dies erlaubt, wird der Inhalt stattdessen in den angegebenen Container eingebettet.

Angenommen, Ihre Eingabequelle ist eine MP3-Datei. Sie legen den Container auf MFTranscodeContainerType_ASF fest, keine Streamattribute und das MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES-Flag . In diesem Fall ist die generierte Ausgabedatei eine ASF-Datei (WMA), die MP3-Mediendaten enthält. Beachten Sie, dass bei Verwendung dieses Flags bestimmte Eingabestreamattribute und der Containertyp möglicherweise nicht kompatibel sind.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Kopfzeile mfidl.h

Weitere Informationen

Media Foundation-Enumerationen

Transcodierungs-API