Share via


Atributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES

Especifica si el cargador de topología enumera los tipos de medios proporcionados por el origen multimedia.

Tipo de datos

UINT32

Use uno de los valores siguientes.

Valor Significado
FALSO
No enumerar los tipos de medios de origen.
VERDADERO
Enumerar los tipos de medios de origen.

 

Get/set

Para obtener este atributo, llame a IMFAttributes::GetUINT32.

Para establecer este atributo, llame a IMFAttributes::SetUINT32.

Se aplica a

IMFTopology

Comentarios

Cada secuencia de un origen multimedia puede ofrecer más de un tipo de medio. La lista de tipos se enumera a través de la interfaz IMFMediaTypeHandler en el descriptor de secuencia.

El orden en el que el cargador de topología intenta los tipos de medios de un origen multimedia se controla mediante dos atributos:

Si el atributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES es FALSE o no se establece, el cargador de topología usa el tipo de medio actual de la secuencia. No enumera la lista de posibles tipos. Si el tipo de medio actual no es compatible con el nodo de topología de bajada y no se puede encontrar ninguna combinación de descodificadores o convertidores, se produce un error en la resolución de topología.

Si el atributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES es TRUE, el cargador de topología enumera los tipos de medios del origen hasta que encuentra un tipo compatible. En ese caso, el orden exacto de las operaciones depende de si el atributo MF_TOPONODE_CONNECT_METHOD del nodo de origen incluye la marca MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES.

Si MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES es TRUE y se establece la marca MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES, el cargador de topología agota cada tipo de medio antes de pasar al siguiente, como se indica a continuación:

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 es TRUE pero no se establece MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES, el cargador de topología intenta una conexión directa con cada tipo de medio, intenta cada tipo de medio con convertidores y, por último, intenta cada tipo de medio con descodificadores:

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 es FALSE, se omite la marca MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES.

El valor predeterminado de MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES es FALSE, por compatibilidad con las aplicaciones existentes.

La constante de GUID de este atributo se exporta desde mfuuid.lib.

Ejemplo

Este es un ejemplo que ilustra la marca MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES. Supongamos que la topología tiene el atributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES establecido en TRUE.

El origen multimedia ofrece los siguientes tipos:

  • T1, T2, T3

El receptor de medios acepta los siguientes tipos:

  • T3, T4

Caso 1: se establece la marca MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES.

  1. El cargador de topología intenta una conexión directa con T1. El receptor rechaza T1.
  2. El cargador de topología inserta un descodificador que acepta T1 y genera T4. El receptor acepta T4.
  3. La topología final contiene: origen multimedia → descodificador → receptor multimedia.

Caso 2: la marca no está establecida.

  1. El cargador de topología intenta una conexión directa con T1. El receptor rechaza T1.
  2. El cargador de topología intenta una conexión directa con T2. El receptor rechaza T2.
  3. El cargador de topología intenta una conexión directa con T3. El receptor acepta T3.
  4. La topología final contiene: origen multimedia → receptor multimedia.

Requisitos

Requisito Valor
Cliente mínimo compatible
Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 R2 [solo aplicaciones de escritorio]
Encabezado
Mfidl.h

Consulte también

Lista alfabética de los atributos de Media Foundation

Atributos de topología