Méthode IMFTransform ::SetOutputType (mftransform.h)
Définit, teste ou efface le type de média pour un flux de sortie sur cette transformation Media Foundation (MFT).
Syntaxe
HRESULT SetOutputType(
[in] DWORD dwOutputStreamID,
[in] IMFMediaType *pType,
[in] DWORD dwFlags
);
Paramètres
[in] dwOutputStreamID
Identificateur de flux de sortie. Pour obtenir la liste des identificateurs de flux, appelez IMFTransform ::GetStreamIDs.
[in] pType
Pointeur vers l’interface IMFMediaType ou NULL.
[in] dwFlags
Zéro ou plusieurs indicateurs de l’énumération _MFT_SET_TYPE_FLAGS .
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 |
|
La transformation ne peut pas utiliser le type de média proposé. |
|
Identificateur de flux non valide. |
|
Le type proposé n’est pas valide. Ce code d’erreur indique que le type de média lui-même n’est pas configuré correctement ; par exemple, il peut contenir des indicateurs mutuellement contradictoires. |
|
Le MFT ne peut pas changer de type lors du traitement des données. Essayez de drainer ou de vider le MFT. |
|
Vous devez définir les types d’entrée avant de définir les types de sortie. |
|
Le MFT n’a pas trouvé de configuration d’accélération vidéo DirectX (DXVA) appropriée. |
Remarques
Cette méthode peut être utilisée pour définir, tester sans définir ou effacer le type de média :
- Pour définir le type de média, définissez dwFlags sur zéro et définissez pType sur un pointeur non NULL qui spécifie le type de média.
- Pour tester le type de média sans le définir, définissez dwFlags sur MFT_SET_TYPE_TEST_ONLY et définissez pType sur un pointeur non NULL qui spécifie le type de média. Si le type de média est acceptable, la méthode retourne S_OK. Sinon, elle retourne MF_E_INVALIDMEDIATYPE. Quelle que soit la valeur de retour, le type de média actuel ne change pas.
- Pour effacer le type de média, définissez pType sur NULL.
Une MFT peut exiger que l’appelant définisse un ou plusieurs types d’entrée avant de définir le type de sortie. Si c’est le cas, la méthode retourne MF_E_TRANSFORM_TYPE_NOT_SET.
Si MFT prend en charge l’accélération vidéo DirectX (DXVA), mais ne parvient pas à trouver une configuration DXVA appropriée (par exemple, si le pilote graphique ne dispose pas des fonctionnalités appropriées), la méthode doit retourner MF_E_UNSUPPORTED_D3D_TYPE. Pour plus d’informations, consultez Prise en charge de DXVA 2.0 dans Media Foundation.
Si MFT_UNIQUE_METHOD_NAMES est défini avant d’inclure mftransform.h, cette méthode est renommée MFTSetOutputType. Consultez Création d’objets DMO/MFT hybrides.
Configuration requise
Condition requise | Valeur |
---|---|
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 | mftransform.h |
Bibliothèque | Mfuuid.lib |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour