Attribut MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES

Spécifie si le chargeur de topologie énumère les types de médias fournis par la source du média.

Type de données

UINT32

Utilisez l’une des valeurs suivantes.

Valeur Signification
FALSE
Ne pas énumérer les types de médias sources.
VRAI
Énumérer les types de médias sources.

 

Obtenir/définir

Pour obtenir cet attribut, appeler IMFAttributes::GetUINT32.

Pour définir cet attribut, appeler IMFAttributes::SetUINT32.

S’applique à

IMFTopology

Notes

Chaque flux sur une source de média peut offrir plusieurs types de médias. La liste des types est énumérée via l’interface IMFMediaTypeHandler sur le descripteur du flux.

L’ordre dans lequel le chargeur de topologie tente les types de médias d’une source de média est contrôlé par deux attributs :

Si l’attribut MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES est défini sur FALSE ou n’est pas défini, le chargeur de topologie utilise le type de média actuel du flux. Il n’énumère pas la liste des types possibles. Si le type de média actuel est incompatible avec le nœud de topologie en aval et qu’aucune combinaison de décodeurs/convertisseurs n’est trouvée, la résolution de la topologie échoue.

Si l’attribut MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES est défini sur TRUE, le chargeur de topologie énumère les types de médias de la source jusqu’à trouver un type compatible. Dans ce cas, l’ordre exact des opérations varie selon que l’attribut MF_TOPONODE_CONNECT_METHOD sur le nœud source inclut l’indicateur MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES.

Si MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES est défini sur TRUE et que l’indicateur MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES est défini, le chargeur de topologie épuise chaque type de média avant de passer au suivant, comme suit :

foreach media type T
    connect directly using T
    if failed, connect with converters using T
    if failed, connect with decoders using T

Si MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES est défini sur TRUE mais que MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES n’est pas défini, le chargeur de topologie tente une connexion directe avec chaque type de média, puis essaie chaque type de média avec des convertisseurs, puis avec des décodeurs :

foreach media type T
    connect directly using T
if failed,
    foreach media type T
        connect with converters using T
if failed
    foreach media type T
        connect with decoders using T

Si MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES est défini sur FALSE, l’indicateur MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES est ignoré.

La valeur par défaut de MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES est définie sur FALSE par souci de compatibilité avec les applications existantes.

La constante GUID de cet attribut est exportée à partir de mfuuid.lib.

Exemple

Voici un exemple illustrant l’indicateur MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES. Supposons que l’attribut MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES de la topologie est défini sur TRUE.

La source du média offre les types suivants :

  • T1, T2, T3

Le récepteur du média accepte les types suivants :

  • T3, T4

Cas 1 : l’indicateur MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES est défini.

  1. Le chargeur de topologie tente une connexion directe avec T1. Le récepteur rejette T1.
  2. Le chargeur de topologie insère un décodeur qui accepte T1 et génère T4. Le récepteur accepte T4.
  3. La topologie finale contient : source du média → décodeur → récepteur du média.

Cas 2 : l’indicateur n’est pas défini.

  1. Le chargeur de topologie tente une connexion directe avec T1. Le récepteur rejette T1.
  2. Le chargeur de topologie tente une connexion directe avec T2. Le récepteur rejette T2.
  3. Le chargeur de topologie tente une connexion directe avec T3. Le récepteur accepte T3.
  4. La topologie finale contient : source du média → récepteur du média.

Configuration requise

Condition requise Value
Client minimal pris en charge
Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2008 R2 [applications de bureau uniquement]
En-tête
Mfidl.h

Voir aussi

Liste alphabétique des attributs Media Foundation

Attributs de topologie