Freigeben über


IMFRateControl::SetRate-Methode (mfidl.h)

Legt die Wiedergaberate fest.

Syntax

HRESULT SetRate(
  [in] BOOL  fThin,
  [in] float flRate
);

Parameter

[in] fThin

Bei TRUE werden die Mediendatenströme ausgedünnt. Andernfalls wird der Stream nicht ausgedünnt. Bei Medienquellen und Demultiplexern muss das Objekt die Datenströme dünner werden, wenn dieser Parameter AUF TRUE festgelegt ist. Für Downstreamtransformationen, z. B. Decoder und Multiplexer, ist dieser Parameter informativ. Das Objekt wird benachrichtigt, dass die Eingabedatenströme ausgedünnt sind. Weitere Informationen finden Sie unter Informationen zur Ratensteuerung.

[in] flRate

Die angeforderte Wiedergaberate. Positive Werte deuten auf die Vorwärtswiedergabe hin, negative Werte auf umgekehrte Wiedergabe und null auf Scrubbing (die Quelle liefert einen einzelnen Frame).

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.
MF_E_REVERSE_UNSUPPORTED
Das -Objekt unterstützt keine umgekehrte Wiedergabe.
MF_E_THINNING_UNSUPPORTED
Das -Objekt unterstützt keine Ausdünnung.
MF_E_UNSUPPORTED_RATE
Das -Objekt unterstützt die angeforderte Wiedergaberate nicht.
MF_E_UNSUPPORTED_RATE_TRANSITION
Das -Objekt kann nicht in die neue Rate geändert werden, während sich der Status "Wird ausgeführt" befindet.

Hinweise

Die Mediensitzung verhindert abhängig vom aktuellen Wiedergabezustand einige Übergänge zwischen Ratengrenzen:

Wiedergabezustand Vorwärts/Rückwärts Vorwärts/Null Umgekehrt/Null
Wird ausgeführt Nein Nein Nein
Angehalten Nein Ja Nein
Beendet Ja Ja Ja
 

Wenn der Übergang nicht unterstützt wird, gibt die Methode MF_E_UNSUPPORTED_RATE_TRANSITION zurück.

Wenn eine Medienquelle einen Aufruf von SetRate abschließt, sendet sie das MESourceRateChanged-Ereignis . Andere Pipelinekomponenten senden dieses Ereignis nicht.

Wenn eine Medienquelle zwischen ausgedünnter und nicht verdünnter Wiedergabe wechselt, senden die Streams ein MEStreamThinMode-Ereignis , um den Übergang anzuzeigen. Ereignisse aus der Medienquelle werden nicht mit Ereignissen aus den Medienstreams synchronisiert. Nachdem Sie das MESourceRateChanged-Ereignis empfangen haben , können Sie weiterhin Beispiele erhalten, die in die Warteschlange gestellt wurden, bevor der Stream in den Ausgedünnten oder nicht verdünnten Modus gewechselt wurde. Das MEStreamThinMode-Ereignis markiert den genauen Punkt im Stream, an dem der Übergang erfolgt.

Wenn die Mediensitzung einen Aufruf von SetRate abgeschlossen hat, sendet sie das MESessionRateChanged-Ereignis .

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 mfidl.h
Bibliothek Mfuuid.lib

Weitere Informationen

Festlegen der Wiedergaberate in der Mediensitzung

IMFRateControl