Méthode IMFRateControl::SetRate (mfidl.h)

Définit la vitesse de lecture.

Syntaxe

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

Paramètres

[in] fThin

Si la valeur est TRUE, les flux multimédias sont éclaircis. Sinon, le flux n’est pas éclairci. Pour les sources multimédias et les démultiplexeurs, l’objet doit éclaircir les flux lorsque ce paramètre a la valeur TRUE. Pour les transformations en aval, telles que les décodeurs et les multiplexeurs, ce paramètre est informatif ; il avertit l’objet que les flux d’entrée sont éclaircis. Pour plus d’informations, consultez À propos du contrôle de débit.

[in] flRate

Taux de lecture demandé. Les valeurs positives indiquent la lecture vers l’avant, les valeurs négatives indiquent la lecture inversée et zéro indique le nettoyage (la source fournit une image unique).

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK
MF_E_REVERSE_UNSUPPORTED
L’objet ne prend pas en charge la lecture inversée.
MF_E_THINNING_UNSUPPORTED
L’objet ne prend pas en charge l’amincissement.
MF_E_UNSUPPORTED_RATE
L’objet ne prend pas en charge le taux de lecture demandé.
MF_E_UNSUPPORTED_RATE_TRANSITION
L’objet ne peut pas passer au nouveau taux en cours d’exécution.

Notes

La session multimédia empêche certaines transitions entre les limites de débit, en fonction de l’état de lecture actuel :

État de lecture Vers l’avant/vers l’arrière Transfert/Zéro Inverse/zéro
En cours d’exécution Non Non Non
Suspendu Non Oui Non
Arrêté Oui Oui Oui
 

Si la transition n’est pas prise en charge, la méthode retourne MF_E_UNSUPPORTED_RATE_TRANSITION.

Lorsqu’une source multimédia termine un appel à SetRate, elle envoie l’événement MESourceRateChanged . Les autres composants de pipeline n’envoient pas cet événement.

Si une source multimédia bascule entre la lecture éclaircie et la lecture non éclaircie, les flux envoient un événement MEStreamThinMode pour indiquer la transition. Les événements de la source multimédia ne sont pas synchronisés avec les événements des flux multimédias. Une fois que vous avez reçu l’événement MESourceRateChanged , vous pouvez toujours recevoir des exemples qui ont été mis en file d’attente avant que le flux passe en mode éclairci ou non. L’événement MEStreamThinMode marque le point exact dans le flux où la transition se produit.

Lorsque la session multimédia termine un appel à SetRate, elle envoie l’événement MESessionRateChanged .

Spécifications

   
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête mfidl.h
Bibliothèque Mfuuid.lib

Voir aussi

Comment définir le taux de lecture sur la session multimédia

IMFRateControl