Freigeben über


Encoder-Eigenschaftssätze

In diesem Abschnitt werden die Encoder- und Codec-API-spezifischen Eigenschaftensätze beschrieben, die für Encoder-Minidriver verfügbar sind, die WDM-Kernel-Streamingdienste in Microsoft Windows 98/Me, Windows 2000 und Windows XP und höher verwenden.

Die Referenzseite für jede Eigenschaft enthält eine Tabelle mit den Spaltenüberschriften, die unten dargestellt sind.

Herunterladen Set Ziel Eigenschaftsdeskriptortyp Eigenschaftswerttyp

Diese Überschriften haben die folgende Bedeutung:

  • Get

    Unterstützt das KS-Zielobjekt die KSPROPERTY_TYPE_GET-Eigenschaftsanforderung?

  • Set

    Unterstützt das KS-Zielobjekt die KSPROPERTY_TYPE_SET-Eigenschaftsanforderung?

  • Target

    Dies ist das KS-Objekt, an das die Eigenschaftsanforderung gesendet wird. Das Ziel für eine Videoencodereigenschaft ist entweder ein Filter oder ein Pin. (Die Eigenschaftsanforderung gibt das Zielobjekt anhand des Kernelhandles an.)

  • Eigenschaftsdeskriptortyp

    Der Eigenschaftsdeskriptor gibt die Eigenschaft und den Vorgang an, der für diese Eigenschaft ausgeführt werden soll. Der Deskriptor beginnt immer mit einer KSPROPERTY-Struktur .

  • Eigenschaftswerttyp

    Eine Eigenschaft hat einen Wert, und der Typ dieses Werts hängt von der -Eigenschaft ab. Eine Eigenschaft, die sich beispielsweise in einem von nur zwei Zuständen befinden kann – on oder off -, weist in der Regel einen BOOL-Wert auf. Eine Eigenschaft, die ganzzahlige Werte von 0x0 bis 0xFFFFFFFF annehmen kann, kann einen ULONG-Wert aufweisen. Komplexere Eigenschaften können Werte aufweisen, die Arrays oder Strukturen sind.

Die obige Eigenschaftsbeschreibung und der Eigenschaftenwert sind die eigenschaftsspezifischen Versionen der instance-Spezifikations- und Vorgangsdatenpuffer, die unter KS-Eigenschaften, Ereignisse und Methoden erläutert werden.

Eine Eigenschaftsanforderung verwendet eines der folgenden Flags, um den Vorgang anzugeben, der für die -Eigenschaft ausgeführt werden soll:

  • KSPROPERTY_TYPE_BASICSUPPORT

  • KSPROPERTY_TYPE_GET

  • KSPROPERTY_TYPE_SET

Alle Filter- und Pinobjekte unterstützen den Basic-Support-Vorgang für ihre Eigenschaften. Ob sie die Get - und Set-Vorgänge unterstützen, hängt von der -Eigenschaft ab. Eine Eigenschaft, die eine inhärente Funktion des Filter- oder Anheftobjekts darstellt, erfordert wahrscheinlich nur einen Get-Vorgang . Eine Eigenschaft, die eine konfigurierbare Einstellung darstellt, erfordert möglicherweise nur einen Set-Vorgang , obwohl ein Get-Vorgang auch zum Lesen der aktuellen Einstellung nützlich sein kann. Weitere Informationen zur Verwendung der Vorgänge get, set und basic-support mit Videoencodereigenschaften finden Sie unter KS-Eigenschaften.

Eine Tabelle in der Beschreibung jeder Eigenschaft gibt an, ob Videoencoder-Minidriver erforderlich sind, um das Lesen oder Schreiben der Eigenschaft zu unterstützen. Videoencoder-Minidriver sollten STATUS_NOT_SUPPORTED zurückgeben, um Anforderungen für Eigenschaften zu erhalten oder festzulegen, die vom Minidriver nicht unterstützt werden.

Die folgenden Eigenschaftensätze enthalten jeweils eine einzelne Eigenschaft, die von Videoencoder-Minidrivern implementiert werden muss. Das heißt, jede Eigenschaft erhält effektiv einen eigenen Satz. Geben Sie also 0 im PropertyId-Member des KSPROPERTY_ITEM Members in der KSPROPERTY_SET-Struktur nach Bedarf an.

Die folgenden Eigenschaftensätze gehören zur Codec-API:

CODECAPI_VIDEO_ENCODER

CODECAPI_AUDIO_ENCODER

CODECAPI_SETALLDEFAULTS

CODECAPI_ALLSETTINGS

CODECAPI_SUPPORTSEVENTS

CODECAPI_CURRENTCHANGELIST

Die folgenden Eigenschaftensätze gehören zur Encoder-API:

ENCAPIPARAM_BITRATE

ENCAPIPARAM_BITRATE_MODE

ENCAPIPARAM_PEAK_BITRATE