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 |
|
L’objet ne prend pas en charge la lecture inversée. |
|
L’objet ne prend pas en charge l’amincissement. |
|
L’objet ne prend pas en charge le taux de lecture demandé. |
|
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