attributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES

Specifica se il caricatore della topologia enumera i tipi di supporti forniti dall'origine multimediale.

Tipo di dati

UINT32

Usare uno dei valori seguenti.

valore Significato
FALSE
Non enumerare i tipi di supporti di origine.
TRUE
Enumerare i tipi di supporti di origine.

 

Get/set

Per ottenere questo attributo, chiamare IMFAttributes::GetUINT32.

Per impostare questo attributo, chiamare IMFAttributes::SetUINT32.

Si applica a

IMFTopology

Osservazioni:

Ogni flusso in un'origine multimediale può offrire più di un tipo di supporto. L'elenco dei tipi viene enumerato tramite l'interfaccia IMFMediaTypeHandler nel descrittore di flusso.

L'ordine in cui il caricatore della topologia prova i tipi di supporti di un'origine multimediale è controllato da due attributi:

Se l'attributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES è FAL edizione Standard o meno impostato, il caricatore della topologia usa il tipo di supporto corrente del flusso. Non enumera l'elenco dei tipi possibili. Se il tipo di supporto corrente non è compatibile con il nodo della topologia downstream e non è possibile trovare alcuna combinazione di decodificatori/convertitori, la risoluzione della topologia non riesce.

Se l'attributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES è TRUE, il caricatore della topologia enumera i tipi di supporto dell'origine finché non trova un tipo compatibile. In tal caso, l'ordine esatto delle operazioni dipende dal fatto che l'attributo MF_TOPONODE_CONNECT_METHOD nel nodo di origine includa il flag MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES .

Se MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES è TRUE e viene impostato il flag MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES , il caricatore della topologia esaurisce ogni tipo di supporto prima di passare al successivo, come indicato di seguito:

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 è TRUE ma MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES non è impostato, il caricatore della topologia tenta una connessione diretta con ogni tipo di supporto, quindi prova ogni tipo di supporto con convertitori e infine prova ogni tipo di supporto con decodificatori:

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 è FAL edizione Standard, il flag di MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES viene ignorato.

Il valore predefinito di MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES è FAL edizione Standard, per compatibilità con le applicazioni esistenti.

La costante GUID per questo attributo viene esportata da mfuuid.lib.

Esempio

Di seguito è riportato un esempio che illustra il flag MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES . Si supponga che la topologia abbia l'attributo MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES impostato su TRUE.

L'origine multimediale offre i tipi seguenti:

  • T1, T2, T3

Il sink multimediale accetta i tipi seguenti:

  • T3, T4

Caso 1: viene impostato il flag MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES .

  1. Il caricatore della topologia prova una connessione diretta con T1. Il sink rifiuta T1.
  2. Il caricatore della topologia inserisce un decodificatore che accetta T1 e restituisce T4. Il sink accetta T4.
  3. La topologia finale contiene: decodificatore → di origine multimediale → sink multimediale.

Caso 2: il flag non è impostato.

  1. Il caricatore della topologia prova una connessione diretta con T1. Il sink rifiuta T1.
  2. Il caricatore della topologia prova una connessione diretta con T2. Il sink rifiuta T2.
  3. Il caricatore della topologia prova una connessione diretta con T3. Il sink accetta T3.
  4. La topologia finale contiene: origine multimediale → sink multimediale.

Requisiti

Requisito valore
Client minimo supportato
Windows 7 [solo app desktop]
Server minimo supportato
Windows Server 2008 R2 [solo app desktop]
Intestazione
Mfidl.h

Vedi anche

Elenco alfabetico degli attributi di Media Foundation

Attributi della topologia