Freigeben über


KSPROPERTY_STREAM_RATE

Die KSPROPERTY_STREAM_RATE-Eigenschaft funktioniert in Verbindung mit KSPROPERTY_STREAM_RATECAPABILITY und wird verwendet, um die Rate eines Segments festzulegen, nachdem die Funktion des Pins abfragt wurde.

Nutzungszusammenfassungstabelle

Herunterladen Set Ziel Eigenschaftendeskriptortyp Eigenschaftswerttyp

Yes

Yes

Pin

KSPROPERTY

KRATE

Hinweise

KSPROPERTY_STREAM_RATE sollte implementiert werden, wenn ein Pin Ratenänderungen zulässt oder die Schnittstelle zwischen topologischen Pins unterschiedlich ist und zu einem anderen Zeitstempelformat führt.

Die Eigenschaft wird von Pins unterstützt, die die Datenrate durch Neustempeln oder Zeitstempeländerungen ändern können, sodass eine angeforderte Rate näher an der Nominalrate von 1,0 liegt.

Das Lesen der Eigenschaft gibt die aktuelle Rate und das aktuelle Segment zurück. Wenn Sie die Rate für ein neues Segment festlegen, werden alle aktuellen Rateneinstellungen ersetzt. Auf diese Weise kann das Beenden einer Fast-Forward Anforderung erfolgen, indem eine Rateneinstellung von 1,0 angefordert wird, die immer akzeptiert werden sollte. Wenn die angegebene Rate nicht abgerufen werden kann, kann die Pin die Anforderung ablehnen, anstatt eine optimale Einstellung zu versuchen.

Sowohl die Rateneinstellung als auch die Abfrage verwenden die KRATE-Struktur , die den Start, die Dauer und die Rate der Präsentation angibt. Ratenänderungen können nur im Pausen- oder Ausführungszustand ausgeführt werden und werden nach dem Wechsel in einen anderen Zustand beendet. Die Ratenänderung wird durch den Prozentsatz über oder unter der nominalen Rate von 1,0 angegeben, für die der Pin angepasst werden soll, und die aktuelle Einstellung wird im gleichen Format zurückgegeben.

Diese Eigenschaft sollte auch verwendet werden, um die in der vorherigen Eigenschaft angegebenen Schnittstellen- und Zeiteinheiten zu übersetzen und für Filter implementiert werden, die Schnittstellen zwischen Pins ändern, auch wenn Ratenänderungen nicht unterstützt werden. Beispielsweise unterstützt ein Filter, der KSINTERFACE_STANDARD_POSITION an einem Pin unterstützt und in KSINTERFACE_STANDARD_STREAMING an einem anderen Pin übersetzt, der sich auf die Topologie bezieht, möglicherweise keine Ratenänderungen. Der Filter sollte in der Lage sein, die Änderungsanforderung für beide Pins und beide Schnittstellen zu übernehmen und in seine eigene Schnittstelle und einheiten zu ändern, obwohl die Rate unverändert wäre.

Wenn der Pin auch eine Uhr erzeugt, darf eine Rateänderung die Steigung der physischen Zeit nicht ändern, da jeder Client, der die Uhr für den Ratenabgleich verwendet, erwartet, dass die Steigung so ist, als würde die zugrunde liegende Hardware mit einem nominalen 1,0-Satz ausgeführt werden. Dies bedeutet, dass ein Pin, der nicht sicherstellen kann, dass die physische Taktneigung ohne erhebliche Drift konsistent bleibt, Ratenanpassungsanforderungen nicht akzeptieren kann.

Anforderungen

Header

Ks.h (einschließlich Ks.h)

Weitere Informationen

KSPROPERTY_STREAM_RATECAPABILITY

KRATE