Atributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES
Especifica se o carregador de topologia enumera os tipos de mídia fornecidos pela fonte de mídia.
Tipo de dados
UINT32
Use um dos seguintes valores.
Valor | Significado |
---|---|
|
Não enumere os tipos de mídia de origem. |
|
Enumere os tipos de mídia de origem. |
Obter/definir
Para obter esse atributo, chame IMFAttributes::GetUINT32.
Para definir esse atributo, chame IMFAttributes::SetUINT32.
Aplicável ao
Comentários
Cada fluxo em uma fonte de mídia pode oferecer mais de um tipo de mídia. A lista de tipos é enumerada por meio da interface IMFMediaTypeHandler no descrito de fluxo.
A ordem em que o carregador de topologia tenta os tipos de mídia de uma fonte de mídia é controlada por dois atributos:
- O atributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES na topologia.
- O atributo MF_TOPONODE_CONNECT_METHOD no nó de origem.
Se o atributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES for FALSE ou não estiver definido, o carregador de topologia usará o tipo de mídia atual do fluxo. Ele não enumera a lista de tipos possíveis. Se o tipo de mídia atual for incompatível com o nó de topologia downstream e nenhuma combinação de decodificadores/conversores puder ser encontrada, a resolução da topologia falhará.
Se o atributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES for TRUE, o carregador de topologia enumerará os tipos de mídia da origem até encontrar um tipo compatível. Nesse caso, a ordem exata das operações depende se o atributo MF_TOPONODE_CONNECT_METHOD no nó de origem inclui o sinalizador MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES.
Se MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES for TRUE e o sinalizador MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES estiver definido, o carregador de topologia esgotará cada tipo de mídia antes de passar para o próximo, da seguinte maneira:
foreach media type T
connect directly using T
if failed, connect with converters using T
if failed, connect with decoders using T
Se MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES for TRUE mas MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES não estiver definido, o carregador de topologia tentará uma conexão direta com cada tipo de mídia, em seguida, tentará cada tipo de mídia com conversores e, finalmente, tentará cada tipo de mídia com decodificadores:
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
Se MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES for FALSE, o sinalizador MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES será ignorado.
O valor padrão de MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES é FALSE, para compatibilidade com aplicativos existentes.
A constante GUID para esse atributo é exportada de mfuuid.lib.
Exemplo
Aqui está um exemplo que ilustra o sinalizador MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES. Suponha que a topologia tenha o atributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES definido como TRUE.
A fonte de mídia oferece os seguintes tipos:
- T1, T2, T3
O coletor de mídia aceita os seguintes tipos:
- T3, T4
Caso 1: O sinalizador MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES está definido.
- O carregador de topologia tenta uma conexão direta com T1. O coletor rejeita T1.
- O carregador de topologia insere um decodificador que aceita T1 e gera T4. O coletor aceita T4.
- A topologia final contém: fonte de mídia → decodificador → coletor de mídia.
Caso 2: O sinalizador não está definido.
- O carregador de topologia tenta uma conexão direta com T1. O coletor rejeita T1.
- O carregador de topologia tenta uma conexão direta com T2. O coletor rejeita T2.
- O carregador de topologia tenta uma conexão direta com T3. O coletor aceita T3.
- A topologia final contém: fonte de mídia → coletor de mídia.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Cabeçalho |
|
Confira também