Freigeben über


Encoder-Eigenschaftensätze

In diesem Abschnitt werden die Encoder- und Codec-API-spezifischen Eigenschaftensätze beschrieben, die für Encoder-Minidriver verfügbar sind, die WDM-Kernelstreamingdienste 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 angezeigt werden.

Get Set Target Eigenschaftendeskriptortyp Eigenschaftswerttyp

Diese Überschriften haben die folgenden Bedeutungen:

  • 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 Video-Encoder-Eigenschaft ist entweder ein Filter oder ein Pin. (Die Eigenschaftsanforderung gibt das Zielobjekt anhand des Kernelhandles an.)

  • Eigenschaftendeskriptortyp

    Der Eigenschaftsdeskriptor gibt die Eigenschaft und den Vorgang an, der für diese Eigenschaft ausgeführt werden soll. The descriptor always begins with a KSPROPERTY structure.

  • Eigenschaftswerttyp

    Eine Eigenschaft hat einen Wert, und der Typ dieses Werts hängt von der Eigenschaft ab. Beispielsweise hat eine Eigenschaft, die sich in einem von nur zwei Zuständen befinden kann –-ein- oder aus- in der Regel einen BOOL-Wert. 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.

Der obige Eigenschaftsdeskriptor und der Eigenschaftswert sind die eigenschaftenspezifischen Versionen der Instanzenspezifikations- und Vorgangsdatenpuffer, die in KS-Eigenschaften, Ereignissen 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 grundlegenden Supportvorgang für ihre Eigenschaften. Whether they support the get and Set operations depends on the property. A property that represents an inherent capability of the filter or pin object is likely to require only a get operation. A property that represents a configurable setting might require only a Set operation, although a get operation might also be useful for reading the current setting. For more information about using the get, set, and basic-support operations with video encoder properties, see KS Properties.

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

Die folgende Eigenschaft legt jede eine einzelne Eigenschaft fest, die von Video-Encoder-Minidrivern implementiert werden muss. That is, effectively each property gets its own set, so specify 0 in the PropertyId member of the KSPROPERTY_ITEM member in the KSPROPERTY_SET structure as required.

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