Partager via


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
S_OK
La méthode a réussi.
E_INVALIDARG
Argument non valide transmis.
MF_E_INVALIDREQUEST
L’appareil MFT n’a pas pu prendre en charge la demande pour le moment.
MF_E_INVAILIDSTREAMNUMBER
Un ID de flux non valide a été transmis.
MF_E_INVALID_STREAM_STATE
La transition de flux demandée n’est pas possible.
MF_E_TRANSFORM_TYPE_NOT_SET
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

Voir aussi

IMFDeviceTransform