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 |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Das -Objekt unterstützt keine umgekehrte Wiedergabe. |
|
Das -Objekt unterstützt keine Ausdünnung. |
|
Das -Objekt unterstützt die angeforderte Wiedergaberate nicht. |
|
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 |