Partager via


Méthode IApoAuxiliaryInputConfiguration ::IsInputFormatSupported (audioenginebaseapo.h)

Vérifie qu’un format d’entrée auxiliaire spécifique est pris en charge par APO.

Syntaxe

HRESULT IsInputFormatSupported(
  IAudioMediaType *pRequestedInputFormat,
  IAudioMediaType **ppSupportedInputFormat
);

Paramètres

pRequestedInputFormat

Format d’entrée à vérifier.

ppSupportedInputFormat

L’APO remplit ce paramètre avec le format d’entrée pris en charge le plus proche du format passé à la méthode.

Valeur retournée

HRESULT

HRESULT Description
S_OK Opération terminée correctement. L’APO doit ajouter une référence à pRequestedInputFormat et la renvoyer dans ppSupportedInputFormat
S_FALSE Le format n’est pas pris en charge. L’APO doit retourner un format pris en charge suggéré dans ppSupportedInputFormat
APOERR_FORMAT_NOT_SUPPORTED Le format n’est pas pris en charge. L’APO ne doit pas modifier ppSupportedInputFormat
E_POINTER Pointeur non valide passé à cette fonction.
Autres valeurs Un autre composant est à l’origine d’une défaillance. Ces échecs sont suivis par le système.

Remarques

Si l’APO peut accepter le format demandé, il doit ajouter une référence au format demandé, le renvoyer comme format de sortie pris en charge et renvoyer S_OK.

Si l’APO ne peut pas accepter le format demandé, il peut suggérer un autre format demandé. Dans ce cas, il doit créer et renvoyer le format suggéré, puis retourner S_FALSE.

Le format pris en charge retourné doit être « le plus proche » du format demandé, ce qui signifie que le format doit avoir les mêmes valeurs pour les propriétés suivantes, spécifiées dans l’ordre de priorité.

  • exemple de format
  • profondeur de bits
  • nombre de canaux
  • taux d’échantillonnage

Le format suggéré peut uniquement différer du format demandé si S_FALSE est retourné. Lors du retour d’un échec, le format suggéré doit être conservé intact.

Cette API peut être appelée à tout moment. Les résultats retournés dépendent de l’état interne de l’APO qui peut être manipulé par des interfaces utilisateur externes. Une fois que l’APO est verrouillé pour le traitement, ce format ne peut pas et ne sera pas modifié.

Cette méthode ne peut pas être appelée à partir d’un thread de traitement en temps réel.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 Build 20348
En-tête audioenginebaseapo.h