Partager via


énumération _MFT_OUTPUT_DATA_BUFFER_FLAGS (mftransform.h)

Définit des indicateurs pour la méthode IMFTransform::P rocessOutput .

Syntax

typedef enum _MFT_OUTPUT_DATA_BUFFER_FLAGS {
  MFT_OUTPUT_DATA_BUFFER_INCOMPLETE = 0x1000000,
  MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE = 0x100,
  MFT_OUTPUT_DATA_BUFFER_STREAM_END = 0x200,
  MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE = 0x300
} ;

Constantes

 
MFT_OUTPUT_DATA_BUFFER_INCOMPLETE
Valeur : 0x1000000
Le MFT peut toujours générer une sortie à partir de ce flux sans recevoir d’entrée supplémentaire. Appelez à nouveau ProcessOutput pour traiter le lot suivant de données d’entrée.
MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE
Valeur : 0x100
Le format a changé sur ce flux de sortie, ou il existe un nouveau format préféré pour ce flux. Lorsque cet indicateur est défini, MFT efface le type de média pour le flux. La méthode ProcessOutput retourne MF_E_TRANSFORM_STREAM_CHANGE et ne génère aucune sortie pour un flux. D’autres appels à IMFTransform::P rocessInput ou ProcessOutput échouent jusqu’à ce que le client définisse un nouveau type de média.
MFT_OUTPUT_DATA_BUFFER_STREAM_END
Valeur : 0x200
Le MFT a supprimé ce flux de sortie. Le flux de sortie doit avoir l’indicateur MFT_OUTPUT_STREAM_REMOVABLE. (Voir IMFTransform::GetOutputStreamInfo.)

Lorsque MFT supprime un flux de sortie, le MFT retourne ce code status lors de l’appel suivant à ProcessOutput après la génération du dernier exemple de sortie. Lorsque le MFT retourne ce code status, il ne modifie aucun exemple contenu dans le membre pSample de la structure MFT_OUTPUT_DATA_BUFFER, ni n’alloue un nouvel exemple si pSample a la valeur NULL.

Une fois ce code status retourné, l’identificateur de flux de ce flux de sortie n’est plus valide. Le client ne doit plus fournir de structure MFT_OUTPUT_DATA_BUFFER pour ce flux lorsqu’il appelle ProcessOutput.

La méthode ProcessOutput ne retourne pas de MF_E_TRANSFORM_STREAM_CHANGE lorsqu’un flux se termine, sauf si un autre flux nécessite ce code de retour en cas de modification.
MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE
Valeur : 0x300
Aucun exemple n’est prêt pour ce flux. Cet indicateur peut être défini si le MFT a plusieurs flux de sortie qui produisent des données à des moments différents. Il définit cet indicateur pour chaque flux qui n’est pas prêt à produire des données. Il ne modifie pas l’exemple de sortie contenu dans le membre pSample de la structure MFT_OUTPUT_DATA_BUFFER , ni n’alloue un nouvel exemple si pSample a la valeur NULL.

Si aucun flux n’est prêt à produire une sortie, MFT ne définit pas cet indicateur. Au lieu de cela, la méthode ProcessOutput retourne MF_E_TRANSFORM_NEED_MORE_INPUT.

Notes

Les valeurs de cette énumération ne sont pas des indicateurs de bits. Elles ne doivent donc pas être combinées avec un OR au niveau du bit. En outre, l’appelant doit tester ces indicateurs avec l’opérateur d’égalité, et non un and au niveau du bit :

// Correct.
if (Buffer.dwStatus == MFT_OUTPUT_DATA_BUFFER_STREAM_END)
{
    ...
}

// Incorrect.
if ((Buffer.dwStatus & MFT_OUTPUT_DATA_BUFFER_STREAM_END) != 0)
{
    ...
}

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]
En-tête mftransform.h

Voir aussi

Énumérations Media Foundation

Transformations Media Foundation