IMFTransform::SetOutputBounds-Methode (mftransform.h)

Legt den Bereich der Zeitstempel fest, die der Client für die Ausgabe benötigt.

Syntax

HRESULT SetOutputBounds(
  LONGLONG hnsLowerBound,
  LONGLONG hnsUpperBound
);

Parameter

hnsLowerBound

Gibt den frühesten Zeitstempel an. Die Media Foundation-Transformation (MFT) akzeptiert Eingaben, bis sie ein Ausgabebeispiel erzeugen kann, das zu diesem Zeitpunkt beginnt. oder bis eine Stichprobe erzeugt werden kann, die zu diesem Zeitpunkt oder später endet. Wenn keine Untergrenze vorhanden ist, verwenden Sie den Wert MFT_OUTPUT_BOUND_LOWER_UNBOUNDED.

hnsUpperBound

Gibt den aktuellen Zeitstempel an. Das MFT erzeugt kein Ausgabebeispiel mit Zeitstempeln später als dieses Mal. Wenn keine Obergrenze vorhanden ist, verwenden Sie den Wert MFT_OUTPUT_BOUND_UPPER_UNBOUNDED.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.
E_NOTIMPL
Nicht implementiert.
MF_E_TRANSFORM_TYPE_NOT_SET
Der Medientyp ist nicht für einen oder mehrere Streams festgelegt.

Hinweise

Diese Methode kann verwendet werden, um die Vorabregistrierung zu optimieren, insbesondere in Formaten, die Lücken zwischen Zeitstempeln aufweisen, oder in Formaten, bei denen die Daten auf einem Synchronisierungspunkt beginnen müssen, z. B. MPEG-2. Der Aufruf dieser Methode ist optional, und die Implementierung dieser Methode durch ein MFT ist optional. Wenn die MFT die -Methode nicht implementiert, wird der Rückgabewert E_NOTIMPL.

Wenn ein MFT diese Methode implementiert, muss er seine Ausgabedaten auf den durch hnsLowerBound und hnsUpperBound angegebenen Zeitraum beschränken. Der MFT verwirft alle Eingabedaten, die nicht für die Ausgabe innerhalb dieses Bereichs benötigt werden. Wenn die Beispielgrenzen nicht genau mit dem Bereich übereinstimmen, sollte der MFT die Ausgabebeispiele nach Möglichkeit aufteilen. Andernfalls können die Ausgabebeispiele den Bereich überlappen.

Angenommen, der Ausgabebereich beträgt 100 bis 150 Millisekunden (ms), und das Ausgabeformat ist Video, wobei jeder Frame 33 ms lang ist. Ein Beispiel mit einem Zeitstempel von 67 ms überlappt den Bereich (67 + 33 = 100) und wird als Ausgabe erzeugt. Ein Beispiel mit einem Zeitstempel von 66 ms wird verworfen (66 + 33 = 99). Ebenso wird ein Beispiel mit einem Zeitstempel von 150 ms als Ausgabe erstellt, aber ein Beispiel mit einem Zeitstempel von 151 wird verworfen.

Wenn MFT_UNIQUE_METHOD_NAMES vor dem Einschließen von mftransform.h definiert ist, wird diese Methode in MFTSetOutputBounds umbenannt. Weitere Informationen finden Sie unter Erstellen von DMO/MFT-Hybridobjekten.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile mftransform.h
Bibliothek Mfuuid.lib

Weitere Informationen

IMFTransform

Media Foundation-Transformationen