Méthode IMFDeviceTransform ::P rocessInput (mftransform.h)
La méthode ProcessInput fournit des données à un flux d’entrée sur cette transformation Media Foundation (MFT).
Syntaxe
HRESULT ProcessInput(
[in] DWORD dwInputStreamID,
[in] IMFSample *pSample,
[in] DWORD dwFlags
);
Paramètres
[in] dwInputStreamID
Identificateur de flux d’entrée.
[in] pSample
Pointeur vers l’interface IMFSample de l’exemple d’entrée. L’exemple doit contenir au moins une mémoire tampon multimédia contenant des données d’entrée valides.
[in] dwFlags
Doit être zéro.
Valeur retournée
Cette méthode retourne un code HRESULT. Les valeurs possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.
Code de retour | Description |
---|---|
|
La méthode a réussi. |
|
Argument non valide transmis. |
|
L’appareil MFT n’a pas pu prendre en charge la demande pour le moment. |
|
Un ID de flux non valide a été transmis. |
|
La transition de flux demandée n’est pas possible. |
|
Le type de média d’entrée n’a pas été défini. |
Remarques
Dans la plupart des cas, si la méthode réussit, le MFT stocke l’exemple et contient un nombre de références sur le pointeur IMFSample . Lorsque le MFT est terminé à l’aide de l’exemple, il doit le libérer pour éviter une fuite de mémoire.
Une fois que la DTM a défini des types de médias valides sur tous les flux, le MFT doit toujours être en mesure d’accepter davantage d’entrée et de produire plus de sortie.
Si un MFT rencontre une erreur non irrécupérable dans les données d’entrée, il peut simplement supprimer les données et tenter de les récupérer lorsqu’il obtient plus de données d’entrée. Si le MFT supprime des données, il doit définir l’attribut MFSampleExtension_Discontinuity sur l’exemple de sortie suivant, pour informer l’appelant qu’il existe une lacune dans le flux de données.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 version 1703 |
Plateforme cible | Windows |
En-tête | mftransform.h |