IMFDeviceTransform ::P rocessEvent, méthode (mftransform.h)
La méthode ProcessEvent envoie un événement à un flux d’entrée sur cette transformation Media Foundation (MFT).
Syntaxe
HRESULT ProcessEvent(
[in] DWORD dwInputStreamID,
[in] IMFMediaEvent *pEvent
);
Paramètres
[in] dwInputStreamID
identificateur Stream. Pour obtenir la liste des identificateurs de flux, appelez IMFDeviceTransform ::GetStreamIDs.
[in] pEvent
Pointeur vers l’interface IMFMediaEvent d’un objet d’événement.
Valeur retournée
Cette méthode retourne un code HRESULT. Les valeurs possibles incluent, mais sans s’y limiter, les valeurs indiquées dans le tableau suivant.
Code de retour | Description |
---|---|
|
Événement traité avec succès. L’événement sera propagé vers le bas du flux. |
|
Un ID de flux non valide a été passé. |
|
Indique que l’appareil MFT ne souhaite pas que l’événement soit propagé davantage. |
|
La fonction n’est pas implémentée. |
Remarques
Un MFT peut gérer l’envoi de l’événement en aval, ou il peut laisser la DTM effectuer cette opération, comme indiqué par la valeur de retour :
- E_NOTIMPL : Le MFT ignore tous les événements, et la DTM doit envoyer tous les événements en aval. Une fois que le pipeline a reçu cette valeur de retour
- S_OK: La MFT a examiné cet événement, mais la DTM doit envoyer l’événement en aval. En interne, la MFT peut répondre à l’événement d’une manière ou d’une autre, ou ignorer l’événement.
- MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT : La DTM ne doit pas propager cet événement en aval. Soit la MFT envoie l’événement en aval, soit la MFT consomme l’événement et ne l’envoie pas en aval. Le MFT ne doit consommer l’événement que si l’événement doit s’arrêter à cette MFT et ne pas se déplacer plus en aval. Mais dans la plupart des cas, l’événement doit se déplacer en aval.
Les événements doivent être sérialisés avec les exemples qui viennent avant et après eux. Attachez l’événement à l’exemple de sortie qui suit l’événement. (Le pipeline traite d’abord l’événement, puis l’exemple.) Si un MFT conserve un ou plusieurs échantillons entre les appels à IMFTransform ::P rocessInput et IMFTransform ::P rocessOutput, le MFT doit gérer l’envoi de tous les événements en aval, car dans ce cas, le pipeline ne peut pas mettre en corrélation les échantillons d’entrée avec les exemples de sortie.
Si un MFT ne retient pas les échantillons et n’a pas besoin d’examiner des événements, il peut retourner E_NOTIMPL.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 version 1703 |
Plateforme cible | Windows |
En-tête | mftransform.h |