So aufzählen Sie Codecformate
Ein Codecformat ist ein Datenstromkonfigurationsobjekt, das mit Daten aus einem Codec aufgefüllt wird. Jedes Codecformat enthält eine Medienkonfiguration, die vom Codec unterstützt wird. Die meisten Audiocodecs unterstützen eine begrenzte Anzahl von Formaten, von denen jedes vom Codec aufgezählt wird und auf die mithilfe der Methoden von IWMCodecInfozugegriffen werden kann. Videocodecs bieten dagegen nur ein einziges Format. Dies liegt daran, dass Videostreams Variablen wie die Framegröße aufweisen, die flexibler als die Einstellungen eines Audiodatenstroms sind. Bei einem Videostream müssen Sie einige der Datenstromkonfigurationswerte eingeben. Audiostreamkonfigurationen sollten nur bearbeitet werden, um einen Namen, einen Verbindungsnamen und eine Streamnummer zuzuweisen. Weitere Informationen finden Sie unter Configuration Common to All Streams.
Die aufgelisteten Codecformate hängen von den aktuellen Codecenumerationseinstellungen ab, die mit IWMCodecInfo3::SetCodecEnumerationSettingfestgelegt werden. Derzeit werden nur zwei Codeceigenschaften unterstützt: g _ wszNumPasses, das die Anzahl der vom Codec auszuführenden Codierungsdurchläufe angibt, und g _ wszVBREnabled, das angibt, ob der Codec die Codierung variabler Bitraten verwendet. Die maximale Anzahl von Codierungsdurchläufen, die von einem der Codecs unterstützt werden, beträgt zwei. Es gibt also vier unterschiedliche Konfigurationen, für die Sie Codecs abrufen können, wie in der folgenden Tabelle gezeigt.
| CbR-Datenstrom (Constant Bit Rate) | 2-Pass-CBR-Datenstrom | Qualitätsbasierter Stream mit variabler Bitrate (VBR) | Bitratenbasierter VBR-Stream (eingeschränkt oder uneingeschränkt) | |
|---|---|---|---|---|
| g _ wszVBREnabled | FALSE | FALSE | TRUE | TRUE |
| g _ wszNumPasses | 1 | 2 | 1 | 2 |
Um die für einen Codec unterstützten Formate aufzulisten, verwenden Sie IWMCodecInfo::GetCodecFormatCount, um die Anzahl der unterstützten Codecs zu ermitteln. Rufen Sie dann IWMCodecInfo::GetCodecFormat für jedes Format auf. Die Formatindizes reichen von 0 bis 1 kleiner als die Gesamtzahl der unterstützten Formate. Sie können eine Beschreibung des Formats abrufen, indem Sie IWMCodecInfo2::GetCodecFormatDescaufrufen. Wenn Sie GetCodecFormatDesc verwenden, müssen Sie getCodecFormat nicht verwenden, da das Streamkonfigurationsobjekt von beiden Methoden abgerufen wird. Videocodecformate enthalten keine Beschreibung. Jeder Videocodec hat nur ein Format, das für alle Streams dieses Typs verwendet wird.
Wenn Sie ein Codecformat abrufen, erhalten Sie die IWMStreamConfig-Schnittstelle eines Streamkonfigurationsobjekts, das die Formateinstellungen enthält.